




版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第2章Java基礎(chǔ)語(yǔ)法
第2章Java基礎(chǔ)語(yǔ)法用戶(hù)標(biāo)識(shí)符與保留字2.1Java地?cái)?shù)據(jù)類(lèi)型2.2常量與變量2.3運(yùn)算符2.4控制流語(yǔ)句2.5信息地輸入與輸出2.62.1用戶(hù)標(biāo)識(shí)符與保留字用戶(hù)標(biāo)識(shí)符 用戶(hù)標(biāo)識(shí)符是程序員對(duì)程序地各個(gè)元素加以命名時(shí)使用地命名記號(hào) 在Java語(yǔ)言,標(biāo)識(shí)符是以字母,下劃線("_")或美元符("$")開(kāi)始,后面可以跟字母,下劃線,美元符與數(shù)字地一個(gè)字符序列。 標(biāo)識(shí)符不能以數(shù)字開(kāi)頭。 注意:標(biāo)識(shí)符地字符是區(qū)分大小寫(xiě)地。例如,Name與name被認(rèn)為是兩個(gè)不同地標(biāo)識(shí)符。2.1用戶(hù)標(biāo)識(shí)符與保留字保留字 保留字是特殊地標(biāo)識(shí)符,具有專(zhuān)門(mén)地意義與用途,不能當(dāng)作用戶(hù)地標(biāo)識(shí)符使用。Java語(yǔ)言地保留字均用小寫(xiě)字母表示。2.2Java數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型 Java語(yǔ)言預(yù)定義了8種基本數(shù)據(jù)類(lèi)型,下表顯示了這8種基本數(shù)據(jù)類(lèi)型地標(biāo)識(shí)符,位長(zhǎng)與取值范圍。Java各整數(shù)類(lèi)型有固定地表數(shù)范圍與字段長(zhǎng)度,不受具體OS地影響,以保證Java程序地可移植性。2.2Java數(shù)據(jù)類(lèi)型基本數(shù)據(jù)類(lèi)型 布爾值數(shù)據(jù)類(lèi)型只有true與false兩個(gè)值,且它們不對(duì)應(yīng)于任何整數(shù)值,經(jīng)常在流程控制語(yǔ)句使用。在表示long型常量時(shí),需要在數(shù)字后面加上后綴L或者l。longj=300L;//把一個(gè)long型常量賦給long型變量jinti=4L;//錯(cuò)誤,不能把一個(gè)long型常量賦給int型變量idoubled1=3.4d;//在定義double變量,可以加后綴D或者d,也可以不加floatf=3.4F;//在定義float型變量時(shí),需要在數(shù)值后面加F或ffloatf1=3.4;//默認(rèn)情況下,常量值3.4為double,編譯時(shí)會(huì)發(fā)生類(lèi)型不匹配地錯(cuò)誤2.2Java數(shù)據(jù)類(lèi)型引用數(shù)據(jù)類(lèi)型 除了8種基本數(shù)據(jù)類(lèi)型外,Java地所有都是對(duì)象,引用數(shù)據(jù)類(lèi)型包括類(lèi)(class),接口類(lèi)型(interface),數(shù)組類(lèi)型,枚舉類(lèi)型(Enum),注解類(lèi)型(Annotation)。之所以稱(chēng)為引用類(lèi)型,是因?yàn)檫@些類(lèi)型地?cái)?shù)據(jù)在保存與使用過(guò)程采用了"引用"地方式,這與基本類(lèi)型數(shù)據(jù)地情形完全不同。2.2Java數(shù)據(jù)類(lèi)型Java數(shù)據(jù)類(lèi)型地轉(zhuǎn)換 Java基本數(shù)據(jù)類(lèi)型由低級(jí)到高級(jí)分別為:(byte,short,char)——>int——>long——>float——>double此處地"級(jí)別"是指表示值地范圍地大小。(1)低級(jí)到高級(jí)地自動(dòng)類(lèi)型轉(zhuǎn)換;
對(duì)于byte,short,char三種類(lèi)型而言,它們是平級(jí)地,因此不能相互自動(dòng)轉(zhuǎn)換,可以使用下述地強(qiáng)制類(lèi)型轉(zhuǎn)換2.2Java數(shù)據(jù)類(lèi)型Java數(shù)據(jù)類(lèi)型地轉(zhuǎn)換(2)高級(jí)到低級(jí)地強(qiáng)制類(lèi)型轉(zhuǎn)換(會(huì)導(dǎo)致溢出或丟失精度) 轉(zhuǎn)換規(guī)則從存儲(chǔ)范圍大地類(lèi)型到存儲(chǔ)范圍小地類(lèi)型。(3)包裝數(shù)據(jù)類(lèi)型與基本數(shù)據(jù)類(lèi)型之間地轉(zhuǎn)換; 簡(jiǎn)單類(lèi)型地變量轉(zhuǎn)換為相應(yīng)地包裝類(lèi),可以利用包裝類(lèi)地構(gòu)造函數(shù)。即:Boolean(boolean
value),Character(char
value),Integer(int
value),Long(long
value),Float(float
value),Double(double
value)
,而在各個(gè)包裝類(lèi),總有形為××Value()地方法,來(lái)得到其對(duì)應(yīng)地簡(jiǎn)單類(lèi)型數(shù)據(jù)。(4)其它類(lèi)型向字符串地轉(zhuǎn)換
①用類(lèi)地串轉(zhuǎn)換方法:X.toString();②自動(dòng)轉(zhuǎn)換:X+"";
③
使用String地方法:String.valueOf(X)2.2Java數(shù)據(jù)類(lèi)型Java數(shù)據(jù)類(lèi)型地轉(zhuǎn)換(5)字符串作為向其它類(lèi)型地轉(zhuǎn)換
①先轉(zhuǎn)換成相應(yīng)地封裝器實(shí)例,再調(diào)用對(duì)應(yīng)地方法轉(zhuǎn)換成其它類(lèi)型 ②靜態(tài)parseXXX方法
2.3常量與變量變量 變量地4個(gè)要素:變量名,數(shù)據(jù)類(lèi)型,變量值,作用域。
由于Java語(yǔ)言是一種強(qiáng)類(lèi)型地語(yǔ)言,所以變量在使用以前需要首先聲明,在程序聲明變量地語(yǔ)法格式如下:數(shù)據(jù)類(lèi)型變量名稱(chēng);
例如:intx; 也可以在聲明變量地同時(shí),設(shè)定該變量地值,語(yǔ)法格式如下:數(shù)據(jù)類(lèi)型變量名稱(chēng)=值;例如:
intx=10;2.3常量與變量常量
常量代表程序運(yùn)行過(guò)程不能改變地值。
常量在程序運(yùn)行過(guò)程主要有2個(gè)作用:
一是代表常數(shù),便于程序地修改(例如:圓周率地值)
二是增強(qiáng)程序地可讀性(例如:常量UP,DOWN,LEFT與RIGHT分辨代表上下左右,其數(shù)值分別是1,2,3與4) 常量地語(yǔ)法格式與變量類(lèi)型,只需要在變量地語(yǔ)法格式前面添加關(guān)鍵字final即可。在Java編碼規(guī)范,要求常量名需要大寫(xiě)。2.4運(yùn)算符算術(shù)運(yùn)算符
算術(shù)運(yùn)算符地操作數(shù)需要是數(shù)值類(lèi)型。Java地算術(shù)運(yùn)算符與C/C++地不同,不能用在boolean類(lèi)型上,但仍然可以用在char類(lèi)型上,因?yàn)镴ava地char類(lèi)型實(shí)質(zhì)上是int類(lèi)型地一個(gè)子集。2.4運(yùn)算符賦值運(yùn)算符 賦值是用等號(hào)運(yùn)算符(=)進(jìn)行地。它地意思是"取得右邊地值,把它復(fù)制到左邊"。右邊地值可以是任何常數(shù),變量或者表達(dá)式,只要能產(chǎn)生一個(gè)值就行。但左邊需要是一個(gè)明確地,已命名地變量。也就是說(shuō),它需要有一個(gè)物理性地空間來(lái)保存右邊地值。舉個(gè)例子來(lái)說(shuō),可將一個(gè)常數(shù)賦給一個(gè)變量:a=4,但不可將任何東西賦給一個(gè)常數(shù),不能:4=a。2.4運(yùn)算符關(guān)系運(yùn)算符 關(guān)系運(yùn)算符用于測(cè)試兩個(gè)操作數(shù)之間地關(guān)系,形成關(guān)系表達(dá)式。關(guān)系表達(dá)式將返回一個(gè)布爾值。它們多用在控制結(jié)構(gòu)地判斷條件。2.4運(yùn)算符邏輯運(yùn)算符 邏輯運(yùn)算符用來(lái)進(jìn)行邏輯運(yùn)算。Java沿用了C++地習(xí)慣,用&&表示邏輯"與",用||表示邏輯"或",用!表示邏輯"非"。 &&與||是按照"短路"方式求值地。如果第一個(gè)操作數(shù)已經(jīng)能夠確定值,第二個(gè)操作數(shù)就不必計(jì)算了。2.4運(yùn)算符邏輯運(yùn)算符 邏輯運(yùn)算符用來(lái)進(jìn)行邏輯運(yùn)算。Java沿用了C++地習(xí)慣,用&&表示邏輯"與",用||表示邏輯"或",用!表示邏輯"非"。 &&與||是按照"短路"方式求值地。如果第一個(gè)操作數(shù)已經(jīng)能夠確定值,第二個(gè)操作數(shù)就不必計(jì)算了。2.4運(yùn)算符三元運(yùn)算符 三元運(yùn)算符(?:)又稱(chēng)為條件運(yùn)算符,可以用來(lái)替代if-else結(jié)構(gòu)。但它確實(shí)屬于運(yùn)算符地一種,因?yàn)樗罱K也會(huì)生成一個(gè)值,這與本章后面要講述地普通if-else語(yǔ)句是不同地。表達(dá)式采取下述形式: condition?expression1:expression2 條件式?成立返回值:失敗返回值 當(dāng)條件為true時(shí),計(jì)算第一個(gè)表達(dá)式,而且它地結(jié)果作為最終運(yùn)算符產(chǎn)生地值;否則計(jì)算第二個(gè)表達(dá)式,并把它地結(jié)果作為最終運(yùn)算符產(chǎn)生地值。2.4運(yùn)算符運(yùn)算符地優(yōu)先級(jí)
2.5控制流語(yǔ)句選擇語(yǔ)句(1)if語(yǔ)句 if語(yǔ)句地三種基本形式地語(yǔ)法如下:2.5控制流語(yǔ)句選擇語(yǔ)句(1)if語(yǔ)句 if語(yǔ)句地三種基本形式地語(yǔ)法如下:2.5控制流語(yǔ)句選擇語(yǔ)句(1)if語(yǔ)句 if或if-else語(yǔ)句地語(yǔ)句是任意合法地Java語(yǔ)句——可以嵌套其它if或if-else語(yǔ)句。內(nèi)層地if語(yǔ)句稱(chēng)為嵌套在外層if語(yǔ)句。內(nèi)層if語(yǔ)句又可以包含另一個(gè)if語(yǔ)句,事實(shí)上,嵌套地深度沒(méi)有限制。2.5控制流語(yǔ)句選擇語(yǔ)句(2)switch語(yǔ)句 利用switch語(yǔ)句可以有效地處理多重條件,它地完整語(yǔ)法如下所示:2.5控制流語(yǔ)句選擇語(yǔ)句(2)switch語(yǔ)句 switch語(yǔ)句遵從下述規(guī)則: 1)表達(dá)式switch-expression需要能計(jì)算出一個(gè)char,byte,short或int類(lèi)型地值,并且它需要用括號(hào)括住。 2)value1,......,valueN需要與switch-expression地值具有相同地?cái)?shù)據(jù)類(lèi)型。當(dāng)switch-expression地值與case語(yǔ)句地值相匹配時(shí),執(zhí)行該case語(yǔ)句地語(yǔ)句。(每個(gè)case語(yǔ)句都順序執(zhí)行。) 3)關(guān)鍵字break是可選地。break語(yǔ)句終止整個(gè)switch語(yǔ)句。若break語(yǔ)句不存在,下一個(gè)case語(yǔ)句將被執(zhí)行。 4)默認(rèn)情況(default)是可選地,它用來(lái)執(zhí)行指定情況都不為真時(shí)地操作。默認(rèn)情況總是出現(xiàn)在switch語(yǔ)句塊地最后。2.5控制流語(yǔ)句循環(huán)語(yǔ)句Java提供三種循環(huán)語(yǔ)句:while循環(huán),do循環(huán)與for循環(huán)。1.while循環(huán)while循環(huán)地語(yǔ)法如下:如果循環(huán)體只有一條語(yǔ)句,while循環(huán)以及其它循環(huán)地花括號(hào)可以省略。循環(huán)條件是一個(gè)邏輯表達(dá)式,它需要放在括號(hào)。
2.5控制流語(yǔ)句循環(huán)語(yǔ)句2.do...while循環(huán)do...while循環(huán)是while循環(huán)地變體。它地語(yǔ)法如下:do...while循環(huán)先執(zhí)行循環(huán)體,再計(jì)算循環(huán)條件,若計(jì)算結(jié)果為真,再執(zhí)行循環(huán)體;若為假,則終止do循環(huán)。while循環(huán)與do循環(huán)地主要差別在于循環(huán)條件與循環(huán)體計(jì)算順序不同。do循環(huán)地循環(huán)體至少被執(zhí)行一次。
2.5控制流語(yǔ)句循環(huán)語(yǔ)句3.for循環(huán)for循環(huán)語(yǔ)句是支持迭代地一種通用結(jié)構(gòu),使用每次迭代之后更新地計(jì)數(shù)器或類(lèi)似地變量來(lái)控制迭代次數(shù)。它地語(yǔ)法如下:for循環(huán)由括號(hào)括住地三個(gè)控制元素需要由分號(hào)分開(kāi),控制循環(huán)體地執(zhí)行次數(shù)與終止條件。2.5控制流語(yǔ)句循環(huán)語(yǔ)句3.for循環(huán) 下例演示了使用for循環(huán)求整數(shù)1到100地與。
2.5控制流語(yǔ)句跳轉(zhuǎn)語(yǔ)句語(yǔ)句break與continue,可以用在循環(huán)語(yǔ)句為循環(huán)提供附加控制。break:立刻終止包含它地最內(nèi)層循環(huán)。continue:只結(jié)束當(dāng)前迭代,將程序控制轉(zhuǎn)移到循環(huán)地下一次迭代。在switch語(yǔ)句已經(jīng)用過(guò)關(guān)鍵字break。break與continue也可以用在三種循環(huán)語(yǔ)句地任意一種之。2.5控制流語(yǔ)句break語(yǔ)句在循環(huán)語(yǔ)句,使用break語(yǔ)句直接跳出循環(huán),忽略循環(huán)體地任何其它語(yǔ)句與循環(huán)條件測(cè)試。在循環(huán)遇到break語(yǔ)句時(shí),循環(huán)終止,程序從循環(huán)后面地語(yǔ)句繼續(xù)開(kāi)始執(zhí)行。
2.5控制流語(yǔ)句continue語(yǔ)句continue語(yǔ)句只可能出現(xiàn)在循環(huán)語(yǔ)句(while,do-while與for循環(huán))地循環(huán)體,作用是跳過(guò)當(dāng)前循環(huán)continue語(yǔ)句以后地剩余語(yǔ)句,直接執(zhí)行下一次循環(huán)。同break語(yǔ)句一樣,continue語(yǔ)句也可以跳轉(zhuǎn)到一個(gè)標(biāo)簽處。
2.6信息地輸入與輸出什么是控制臺(tái)控制臺(tái)(Console)是一個(gè)用來(lái)提供字符模式
I/O
地接口,這種處理器獨(dú)立地機(jī)制使導(dǎo)入一個(gè)存在地字符模式程序或創(chuàng)建一個(gè)新地字符模式工具與程序變地容易。
控制由輸入緩沖區(qū)與一到多個(gè)屏幕緩沖區(qū)組成,由操作系統(tǒng)提供地一個(gè)字符窗口界面(默認(rèn)一般為25行寬╳80列高,黑底白字),用于實(shí)現(xiàn)系統(tǒng)與用戶(hù)地交互,接收用戶(hù)輸入地?cái)?shù)據(jù)并顯示輸出結(jié)果。即使在圖形用戶(hù)界面占統(tǒng)治地位地今天,控制臺(tái)輸出仍舊在Java程序占有重要地位。控制臺(tái)不僅是Java程序默認(rèn)地堆棧跟蹤與錯(cuò)誤信息輸出窗口,而且還是一種實(shí)用地調(diào)試工具。然而,控制臺(tái)窗口有著許多局限。例如在Windows9x平臺(tái)上,DOS控制臺(tái)只能容納50行輸出。如果Java程序一次性向控制臺(tái)輸出大量?jī)?nèi)容,要查看這些內(nèi)容就很困難了。
2.6信息地輸入與輸出控制臺(tái)輸入
2.6信息地輸入與輸出格式化輸入我們使用System
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025天津市安全員《A證》考試題庫(kù)及答案
- 2025廣東省安全員-B證(項(xiàng)目經(jīng)理)考試題庫(kù)
- 勞動(dòng)合同范本范本
- 2025河北省安全員A證考試題庫(kù)及答案
- 南京婚紗禮服租賃合同范本
- 賣(mài)場(chǎng)入駐合同范例
- 協(xié)議采購(gòu)供貨合同范本
- 二年級(jí)口算題目練習(xí)冊(cè)100道
- ktv管理公司合同范本
- 鄉(xiāng)村振興項(xiàng)目合同范本
- 心臟起搏器植入指南
- 物理學(xué)科中的跨學(xué)科應(yīng)用
- 《按頻率范圍劃分》課件
- 專(zhuān)題07 二次函數(shù)與幾何圖形綜合問(wèn)題(復(fù)習(xí)講義)(原卷版)-二輪要點(diǎn)歸納與典例解析
- 一年級(jí)下冊(cè)《道德與法治》教案
- 馬克思主義理論前沿匯總
- 高中語(yǔ)文統(tǒng)編版(部編版)必修下冊(cè)第六單元 大單元公開(kāi)課一等獎(jiǎng)創(chuàng)新教學(xué)設(shè)計(jì)
- 初三化學(xué)學(xué)情分析
- 高中英語(yǔ)北師大版全七冊(cè)單詞表
- 【幼兒園園本教研】幼兒表征的教師一對(duì)一傾聽(tīng)策略
- 采血知情同意書(shū)模板
評(píng)論
0/150
提交評(píng)論