版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二章數(shù)據(jù)和表達(dá)式學(xué)習(xí)目標(biāo)掌握J(rèn)ava語(yǔ)言命名標(biāo)識(shí)符的規(guī)則,能夠正確定義標(biāo)識(shí)符,熟記關(guān)鍵字。能夠在程序中正確使用注釋和空白。掌握J(rèn)ava提供的所有基本數(shù)據(jù)類型,包括表示它們的關(guān)鍵字、各類型的表示范圍、各類型常量值的含義、轉(zhuǎn)義字符的含義等。掌握運(yùn)算符的含義及其優(yōu)先級(jí),掌握變量的聲明、初始化及賦值的方法,能夠判別變量的作用域。掌握J(rèn)ava表達(dá)式的表示方式,掌握表達(dá)式提升和轉(zhuǎn)換方法,初步掌握J(rèn)ava中提供的數(shù)學(xué)函數(shù)的使用方法。能夠正確得到表達(dá)式的計(jì)算結(jié)果。本章主要內(nèi)容基本語(yǔ)法單位
12表達(dá)式3基本數(shù)據(jù)類型第一節(jié)基本語(yǔ)法元素注釋程序中適當(dāng)?shù)丶尤胱⑨專瑫?huì)增加程序的可讀性
程序中允許加空白的地方就可以寫注釋。注釋不影響程序的執(zhí)行結(jié)果,編譯器將忽略注釋Java中的三種注釋形式://在一行的注釋/*一行或多行的注釋*//**文檔注釋*/注釋語(yǔ)句第一種形式表示從“//”開(kāi)始一直到行尾均為注釋,一般用它對(duì)說(shuō)明的變量、一行程序的作用作簡(jiǎn)短說(shuō)明第二種形式可用于多行注釋,“/*”是注釋的開(kāi)始,“*/”表示注釋結(jié)束,“/*”和“*/”之間的所有行均是注釋語(yǔ)句。這種注釋多用來(lái)說(shuō)明方法的功能等第三種形式是文檔注釋。文檔注釋放在(一個(gè)變量或是一個(gè)函數(shù)的)說(shuō)明之前,表示該段注釋應(yīng)包含在自動(dòng)生成的任何文檔中(即由javadoc命令生成的HTML文件)語(yǔ)句、分號(hào)和塊Java中的語(yǔ)句是最小的執(zhí)行單位Java各語(yǔ)句間以分號(hào)“;”分隔。一個(gè)語(yǔ)句可寫在連續(xù)的若干行內(nèi)花括號(hào)“{”和“}”包含的一系列語(yǔ)句稱為語(yǔ)句塊,簡(jiǎn)稱為塊語(yǔ)句塊可以嵌套即語(yǔ)句塊中可以含有子語(yǔ)句塊。在詞法上,塊被當(dāng)作一個(gè)語(yǔ)句看待
Java關(guān)鍵字abstractbooleanbreakbytecasecatchcharclassconstcontinuedodoubleelseextendsfalsefinallycastdefaultfinalfinallyfloatforfuturegenericgotoifimplementsimportinnerinstanceofintinterfacelongnativenewnulloperatorouterpackageprivateprotectedpublicrestreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransienttruetryvarvoidvolatilewhile標(biāo)識(shí)符標(biāo)識(shí)符是以字母、下劃線(_)或美元符($)開(kāi)頭,由字母、數(shù)字、下劃線(_)或美元符($)組成的字符串標(biāo)識(shí)符區(qū)分大小寫,長(zhǎng)度沒(méi)有限制
標(biāo)識(shí)符例合法的標(biāo)識(shí)符非法標(biāo)識(shí)符2Sun //以數(shù)字2開(kāi)頭class //是Java的關(guān)鍵字,有特殊含義#myname //含有其他符號(hào)#IdentifierusernameUser_name_sys_var1$change sizeofJava中的一些命名約定類名或接口名:多為名詞,含有大小寫,每個(gè)單詞的首字母大寫方法名:多是動(dòng)詞,含有大小寫,首字母小寫,其余各單詞的首字母大寫。盡量不要在方法名中使用下劃線常量名:基本數(shù)據(jù)類型常量的名字應(yīng)該全部為大寫字母,單詞與單詞之間用下劃線分隔,對(duì)象常量可使用混合大小寫變量名:所有的實(shí)例變量、類變量、終極變量和靜態(tài)變量等都使用混合大小寫,首字母為小寫,后面的單詞的首字母用大寫。變量名中盡量不要使用下劃線Java編程風(fēng)格不提倡的風(fēng)格提倡的程序風(fēng)格第二節(jié)基本數(shù)據(jù)類型基本數(shù)據(jù)類型數(shù)據(jù)類型基本數(shù)據(jù)類型復(fù)合數(shù)據(jù)類型類類型布爾類型:boolean數(shù)組接口類型:interface字符類型:char數(shù)值類型浮點(diǎn)數(shù)類型:float,double整數(shù)類型:byte,short,int,long整數(shù)類型整數(shù)類型整數(shù)長(zhǎng)度字節(jié)數(shù)表示范圍byte8位1-27~27-1
(-128~127)short16位2-215~215-1
(-32768~32767)int32位4-231~231-1
(-2,147,483,648~2,147,483,647)long64位8-263~263-1
(-9,223,372,036,854,775,808~9,223,372,036,854,775,807)整數(shù)示例2 //表示十進(jìn)制數(shù)2077 //表示八進(jìn)制數(shù)77,等于十進(jìn)制數(shù)630xBABE //表示十六進(jìn)制數(shù)BABE,
//等于十進(jìn)制數(shù)478062L //表示長(zhǎng)整型十進(jìn)制數(shù)2077L //表示長(zhǎng)整型八進(jìn)制數(shù)770XBABEL //表示長(zhǎng)整型十六進(jìn)制數(shù)BABE浮點(diǎn)數(shù)浮點(diǎn)數(shù)類型浮點(diǎn)數(shù)長(zhǎng)度字節(jié)數(shù)表示范圍float32位41.4e-45f~3.4028235e+38fdouble64位84.9e-324d~1.7976931348623157e+308d浮點(diǎn)數(shù)示例5.31 //表示double型-39.27 //表示double型5f //表示float型0.001327e+6 //表示double型最大值、最小值類型最大值最小值intInteger.MAX_VALUEInteger.MIN_VALUElongLong.MAX_VALUELong.MIN_VALUE
float類型double類型最大值Float.MAX_VALUEDouble.MAX_VALUE最小值Float.MIN_VALUEDouble.MIN_VALUE正無(wú)窮大Float.POSITIVE_INFINITYDouble.POSITIVE_INFINITY負(fù)無(wú)窮大Float.NEGATIVE_INFINITYDouble.NEGATIVE_INFINITY0/0Float.NaNDouble.NaN字符類型單個(gè)字符用char類型表示。一個(gè)char表示一個(gè)Unicode字符,其值用16位無(wú)符號(hào)整數(shù)表示,范圍為0~65535。char類型的常量值必須用一對(duì)單引號(hào)('')括起來(lái),分為普通字符常量和轉(zhuǎn)義字符常量?jī)煞N。轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義\b退格鍵\\反斜杠\\n換行符\'單引號(hào)'\r回車符\"雙引號(hào)"\t水平制表符字符常量示例'a’ //表示字符a'\t’ //表示水平制表符Tab鍵'\???' //表示一個(gè)具體的Unicode字符 //???是3位八進(jìn)制數(shù)字'\u????' //表示一個(gè)具體的Unicode字符 //????是4位十六進(jìn)制數(shù)字布爾類型在Java中,這樣的一個(gè)值用boolean(布爾)類型表示,布爾類型也稱作邏輯類型boolean類型有兩個(gè)常量值:true和false,它們?nèi)切?,?jì)算機(jī)內(nèi)部使用8位二進(jìn)制表示Java是一種嚴(yán)格的類型語(yǔ)言,它不允許數(shù)值類型和布爾類型之間進(jìn)行轉(zhuǎn)換第三節(jié)表達(dá)式表達(dá)式由運(yùn)算符和操作數(shù)組成,對(duì)操作數(shù)進(jìn)行運(yùn)算符指定的操作,并得出運(yùn)算結(jié)果Java運(yùn)算符按功能可分為算術(shù)運(yùn)算符關(guān)系運(yùn)算符邏輯運(yùn)算符位運(yùn)算符賦值運(yùn)算符條件運(yùn)算符特殊運(yùn)算符操作數(shù)常量簡(jiǎn)單數(shù)據(jù)類型String類型變量的聲明變量聲明的基本格式為:類型變量名1[=初值1][,變量名2[=初值2]]…;類型:簡(jiǎn)單數(shù)據(jù)類型,也可以是類類型聲明變量的地方有兩處:一處是在方法內(nèi)(局部變量),另一處是在類定義內(nèi)(類的成員變量)操作數(shù)變量的初始化類型初始值類型初始值byte(byte)0float0.0fshort(short)0double0.0int0char'\u0000'(null)long0Lbooleanfalse所有引用類型null變量作用域變量的作用域是指可訪問(wèn)該變量的代碼范圍類中定義的成員變量的作用域是整個(gè)類塊內(nèi)聲明的變量將屏蔽其所在類定義的同名變量程序2.1編譯結(jié)果變量作用域程序2.2雖然main()方法分別在第5行和第10行兩次聲明了同名局部變量name,但第5行聲明的變量只在第5行至第8行的塊內(nèi)有效,在塊外該變量消失。第10行不包含在這個(gè)塊中,也就不在第一次聲明的作用域內(nèi)數(shù)學(xué)函數(shù)Math.sin(0)//正弦函數(shù),返回0.0,這是double類型的值Math.cos(0) //余弦函數(shù),返回1.0Math.round(6.6) //四舍五入取整,返回7Math.sqrt(144) //開(kāi)平方函數(shù),返回12.0Math.pow(5,2) //計(jì)算乘方,返回25.0Math.max(560,289) //求最大值函數(shù),返回560Math.min(560,289) //求最小值函數(shù),返回289Math.random()//返回0.0到1.0之間雙精度的一個(gè)隨機(jī)數(shù)值運(yùn)算符算術(shù)運(yùn)算符算術(shù)運(yùn)算符包括通常的加(+)、減(-)、乘(*)、除(/)、取模(%),完成整型或浮點(diǎn)型數(shù)據(jù)的算術(shù)運(yùn)算算術(shù)運(yùn)算符還有“++”、“--”兩種,分別表示加1和減1操作3/2 //結(jié)果是115.2%5 //結(jié)果是0.2運(yùn)算符關(guān)系運(yùn)算符關(guān)系運(yùn)算符用來(lái)比較兩個(gè)值,包括大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(==)、不等于(!=)6種。關(guān)系運(yùn)算符都是二元運(yùn)算符,運(yùn)算的結(jié)果是一個(gè)邏輯值Java允許“==”和“!=”兩種運(yùn)算用于任何數(shù)據(jù)類型可以判定兩個(gè)實(shí)例是否相等邏輯運(yùn)算符邏輯運(yùn)算符包括邏輯與(&&)、邏輯或(||)和邏輯非(?。?。前兩個(gè)是二元運(yùn)算符,后一個(gè)是一元運(yùn)算符 Java對(duì)邏輯與和邏輯或提供短路操作功能。進(jìn)行運(yùn)算時(shí),先計(jì)算運(yùn)算符左側(cè)表達(dá)式的值,如果使用該值能得到整個(gè)表達(dá)式的值,則跳過(guò)運(yùn)算符右側(cè)表達(dá)式的計(jì)算,否則計(jì)算運(yùn)算符右側(cè)表達(dá)式,并得到整個(gè)表達(dá)式的值運(yùn)算符例3-3
Stringunset=null;if((unset!=null)&&(unset.length()>5)){ //對(duì)unset進(jìn)行某種操作}空串unset不能使用,因此不能訪問(wèn)unset.length()if()語(yǔ)句中的邏輯表達(dá)式是合法的,且完全安全。因?yàn)榈谝粋€(gè)子表達(dá)式(unset!=null)結(jié)果為假,它馬上導(dǎo)致整個(gè)表達(dá)式的結(jié)果為假。所以&&運(yùn)算符跳過(guò)不必要的(unset.length()>5)計(jì)算,因?yàn)闆](méi)有計(jì)算它,避免了空指針異常位運(yùn)算符位運(yùn)算符用來(lái)對(duì)二進(jìn)制位進(jìn)行操作,包括按位取反(~)、按位與(&)、按位或(|)、異或(^)、右移(>>)、左移(<<)及無(wú)符號(hào)右移(>>>)。位運(yùn)算符只能對(duì)整型和字符型數(shù)據(jù)進(jìn)行操作intxValue=27,yVar=28;xValue=xValue&4;yVar=4&yVar;運(yùn)算符“>>”運(yùn)算符“>>”執(zhí)行算術(shù)右移,它使用最高位填充移位后左側(cè)的空位。右移的結(jié)果為:每移一位,第一個(gè)操作數(shù)被2除一次,移動(dòng)的次數(shù)由第二個(gè)操作數(shù)確定
128>>1 //得到64256>>4 //得到16-256>>4 //得到-16邏輯右移運(yùn)算符邏輯右移或叫無(wú)符號(hào)右移運(yùn)算符>>>只對(duì)位進(jìn)行操作,而沒(méi)有算術(shù)含義,它用0填充左側(cè)的空位算術(shù)右移不改變?cè)瓟?shù)的符號(hào),而邏輯右移不能保證這一點(diǎn)0xa2>>>2 //得到40(byte)0xa2>>2 //得到-24(byte)0xa2>>>2 //得到1073741800(byte)0x80>>2 //得到-32移位運(yùn)算符移位運(yùn)算符約簡(jiǎn)其右側(cè)的操作數(shù),當(dāng)左側(cè)操作數(shù)是int類型時(shí),右側(cè)以32取模;當(dāng)左側(cè)是long類型時(shí),右側(cè)以64取模
“>>>”運(yùn)算符只用于整型,它只對(duì)int或long值起作用。如果用于short或byte值,則在進(jìn)行“>>>”操作之前,使用符號(hào)擴(kuò)展將其提升為int型,然后再移位intx;x=x>>>32;x的結(jié)果不改變,而不是通常期望的0。這樣可以保證不會(huì)將左側(cè)操作數(shù)完全移走。其他運(yùn)算符Java中的運(yùn)算符還包括擴(kuò)展賦值運(yùn)算符(=、+=、-=、*=、/=、%=、&=、|=、^=、>>=、<<=)及(>>>=),條件運(yùn)算符(?:),點(diǎn)運(yùn)算符(.),實(shí)例運(yùn)算符(instanceof),(new)運(yùn)算符,數(shù)組下標(biāo)運(yùn)算符([])等擴(kuò)展賦值運(yùn)算符擴(kuò)展賦值運(yùn)算符是在賦值號(hào)(=)前再加上其他運(yùn)算符,是對(duì)表達(dá)式的一種簡(jiǎn)寫形式。如果有賦值語(yǔ)句: var=varopexpression; 其中,var是變量,op是算術(shù)運(yùn)算符或位運(yùn)算符,expression為表達(dá)式。使用擴(kuò)展賦值運(yùn)算符可表示為: varop=expression;條件運(yùn)算符條件運(yùn)算符(?:)是三元運(yùn)算符,它的一般形式為: 邏輯表達(dá)式?表達(dá)式1:表達(dá)式2;邏輯表達(dá)式得到一個(gè)邏輯值,根據(jù)該值的真假?zèng)Q定執(zhí)行什么操作。如果值為真,計(jì)算表達(dá)式1,否則計(jì)算表達(dá)式2注意,表達(dá)式1和表達(dá)式2需要返回相同的類型,且不能是void運(yùn)算符的優(yōu)先次序運(yùn)算符的優(yōu)先次序在對(duì)一個(gè)表達(dá)式進(jìn)行計(jì)算時(shí),如果表達(dá)式中含有多種運(yùn)算符,則要按運(yùn)算符的優(yōu)先順序依次從高向低進(jìn)行,同級(jí)運(yùn)算符則按結(jié)合律進(jìn)行。括號(hào)可以改變運(yùn)算次序表達(dá)式的提升和轉(zhuǎn)換Java語(yǔ)言不支持變量類型間的自動(dòng)任意轉(zhuǎn)換,有時(shí)必須顯式地進(jìn)行變量類型的轉(zhuǎn)換。一般的原則是,變量和表達(dá)式可轉(zhuǎn)換為更一般的形式,而不能轉(zhuǎn)換為更受限制的形式例如,int型表達(dá)式可看作是long型的;而long型表達(dá)式當(dāng)不使用顯式轉(zhuǎn)換時(shí)是不能看作int型的自動(dòng)類型轉(zhuǎn)換一般地,如果同為整數(shù)類型,或同為浮點(diǎn)數(shù)類型,那么,轉(zhuǎn)換的原則是位數(shù)少的類型可以轉(zhuǎn)換為位數(shù)多的類型對(duì)于不同類的數(shù)值類型,轉(zhuǎn)換的原則是整數(shù)類型可以轉(zhuǎn)換為浮點(diǎn)數(shù)類型有一個(gè)特例是字符類型,它可以轉(zhuǎn)換為位數(shù)更長(zhǎng)的整數(shù)類型或浮點(diǎn)數(shù)類型類型轉(zhuǎn)換當(dāng)變量類型與表達(dá)式類型一致時(shí),表達(dá)式的值可以給變量賦值。當(dāng)變量類型與表達(dá)式類型不一致時(shí),如果能進(jìn)行自動(dòng)類型轉(zhuǎn)換,則賦值也是被允許的,這稱為賦值相容不同類型數(shù)據(jù)的轉(zhuǎn)換規(guī)則操作數(shù)1類型
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五農(nóng)行個(gè)人貸款抵押合同資產(chǎn)保全操作流程
- 2025年度綠色建筑項(xiàng)目融資及還款合同3篇
- 二零二五年度農(nóng)村土地流轉(zhuǎn)農(nóng)民公寓產(chǎn)權(quán)登記合同
- 2025年度美術(shù)作品版權(quán)授權(quán)與收益分成合同
- 2025個(gè)人信用卡透支額度調(diào)整合同補(bǔ)充協(xié)議3篇
- 二零二五年度城鄉(xiāng)規(guī)劃編制與實(shí)施監(jiān)督合同4篇
- 二零二五年度土地儲(chǔ)備項(xiàng)目土地資源評(píng)估委托合同
- 2025年度別墅裝修材料環(huán)保檢測(cè)認(rèn)證合同3篇
- 2025年度建筑工程合同履行與索賠風(fēng)險(xiǎn)防控指南2篇
- 第三人民醫(yī)院二零二五年度肉類配送服務(wù)及食品安全監(jiān)控協(xié)議3篇
- 充電樁巡查記錄表
- 阻燃材料的阻燃機(jī)理建模
- CJT 511-2017 鑄鐵檢查井蓋
- 配電工作組配電網(wǎng)集中型饋線自動(dòng)化技術(shù)規(guī)范編制說(shuō)明
- 職業(yè)分類表格
- 2024高考物理全國(guó)乙卷押題含解析
- 廣東省深圳高級(jí)中學(xué)2023-2024學(xué)年八年級(jí)下學(xué)期期中考試物理試卷
- 介入科圍手術(shù)期護(hù)理
- 青光眼術(shù)后護(hù)理課件
- 設(shè)立工程公司組建方案
- 《物理因子治療技術(shù)》期末考試復(fù)習(xí)題庫(kù)(含答案)
評(píng)論
0/150
提交評(píng)論