




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
第二章數(shù)據(jù)和表達式學(xué)習(xí)目標(biāo)掌握J(rèn)ava語言命名標(biāo)識符的規(guī)則,能夠正確定義標(biāo)識符,熟記關(guān)鍵字。能夠在程序中正確使用注釋和空白。掌握J(rèn)ava提供的所有基本數(shù)據(jù)類型,包括表示它們的關(guān)鍵字、各類型的表示范圍、各類型常量值的含義、轉(zhuǎn)義字符的含義等。掌握運算符的含義及其優(yōu)先級,掌握變量的聲明、初始化及賦值的方法,能夠判別變量的作用域。掌握J(rèn)ava表達式的表示方式,掌握表達式提升和轉(zhuǎn)換方法,初步掌握J(rèn)ava中提供的數(shù)學(xué)函數(shù)的使用方法。能夠正確得到表達式的計算結(jié)果。本章主要內(nèi)容基本語法單位
12表達式3基本數(shù)據(jù)類型第一節(jié)基本語法元素注釋程序中適當(dāng)?shù)丶尤胱⑨專瑫黾映绦虻目勺x性
程序中允許加空白的地方就可以寫注釋。注釋不影響程序的執(zhí)行結(jié)果,編譯器將忽略注釋Java中的三種注釋形式://在一行的注釋/*一行或多行的注釋*//**文檔注釋*/注釋語句第一種形式表示從“//”開始一直到行尾均為注釋,一般用它對說明的變量、一行程序的作用作簡短說明第二種形式可用于多行注釋,“/*”是注釋的開始,“*/”表示注釋結(jié)束,“/*”和“*/”之間的所有行均是注釋語句。這種注釋多用來說明方法的功能等第三種形式是文檔注釋。文檔注釋放在(一個變量或是一個函數(shù)的)說明之前,表示該段注釋應(yīng)包含在自動生成的任何文檔中(即由javadoc命令生成的HTML文件)語句、分號和塊Java中的語句是最小的執(zhí)行單位Java各語句間以分號“;”分隔。一個語句可寫在連續(xù)的若干行內(nèi)花括號“{”和“}”包含的一系列語句稱為語句塊,簡稱為塊語句塊可以嵌套即語句塊中可以含有子語句塊。在詞法上,塊被當(dāng)作一個語句看待
Java關(guān)鍵字abstractbooleanbreakbytecasecatchcharclassconstcontinuedodoubleelseextendsfalsefinallycastdefaultfinalfinallyfloatforfuturegenericgotoifimplementsimportinnerinstanceofintinterfacelongnativenewnulloperatorouterpackageprivateprotectedpublicrestreturnshortstaticsuperswitchsynchronizedthisthrowthrowstransienttruetryvarvoidvolatilewhile標(biāo)識符標(biāo)識符是以字母、下劃線(_)或美元符($)開頭,由字母、數(shù)字、下劃線(_)或美元符($)組成的字符串標(biāo)識符區(qū)分大小寫,長度沒有限制
標(biāo)識符例合法的標(biāo)識符非法標(biāo)識符2Sun //以數(shù)字2開頭class //是Java的關(guān)鍵字,有特殊含義#myname //含有其他符號#IdentifierusernameUser_name_sys_var1$change sizeofJava中的一些命名約定類名或接口名:多為名詞,含有大小寫,每個單詞的首字母大寫方法名:多是動詞,含有大小寫,首字母小寫,其余各單詞的首字母大寫。盡量不要在方法名中使用下劃線常量名:基本數(shù)據(jù)類型常量的名字應(yīng)該全部為大寫字母,單詞與單詞之間用下劃線分隔,對象常量可使用混合大小寫變量名:所有的實例變量、類變量、終極變量和靜態(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ù)值類型浮點數(shù)類型:float,double整數(shù)類型:byte,short,int,long整數(shù)類型整數(shù)類型整數(shù)長度字節(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 //表示十進制數(shù)2077 //表示八進制數(shù)77,等于十進制數(shù)630xBABE //表示十六進制數(shù)BABE,
//等于十進制數(shù)478062L //表示長整型十進制數(shù)2077L //表示長整型八進制數(shù)770XBABEL //表示長整型十六進制數(shù)BABE浮點數(shù)浮點數(shù)類型浮點數(shù)長度字節(jié)數(shù)表示范圍float32位41.4e-45f~3.4028235e+38fdouble64位84.9e-324d~1.7976931348623157e+308d浮點數(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正無窮大Float.POSITIVE_INFINITYDouble.POSITIVE_INFINITY負(fù)無窮大Float.NEGATIVE_INFINITYDouble.NEGATIVE_INFINITY0/0Float.NaNDouble.NaN字符類型單個字符用char類型表示。一個char表示一個Unicode字符,其值用16位無符號整數(shù)表示,范圍為0~65535。char類型的常量值必須用一對單引號('')括起來,分為普通字符常量和轉(zhuǎn)義字符常量兩種。轉(zhuǎn)義字符含義轉(zhuǎn)義字符含義\b退格鍵\\反斜杠\\n換行符\'單引號'\r回車符\"雙引號"\t水平制表符字符常量示例'a’ //表示字符a'\t’ //表示水平制表符Tab鍵'\???' //表示一個具體的Unicode字符 //???是3位八進制數(shù)字'\u????' //表示一個具體的Unicode字符 //????是4位十六進制數(shù)字布爾類型在Java中,這樣的一個值用boolean(布爾)類型表示,布爾類型也稱作邏輯類型boolean類型有兩個常量值:true和false,它們?nèi)切?,計算機內(nèi)部使用8位二進制表示Java是一種嚴(yán)格的類型語言,它不允許數(shù)值類型和布爾類型之間進行轉(zhuǎn)換第三節(jié)表達式表達式由運算符和操作數(shù)組成,對操作數(shù)進行運算符指定的操作,并得出運算結(jié)果Java運算符按功能可分為算術(shù)運算符關(guān)系運算符邏輯運算符位運算符賦值運算符條件運算符特殊運算符操作數(shù)常量簡單數(shù)據(jù)類型String類型變量的聲明變量聲明的基本格式為:類型變量名1[=初值1][,變量名2[=初值2]]…;類型:簡單數(shù)據(jù)類型,也可以是類類型聲明變量的地方有兩處:一處是在方法內(nèi)(局部變量),另一處是在類定義內(nèi)(類的成員變量)操作數(shù)變量的初始化類型初始值類型初始值byte(byte)0float0.0fshort(short)0double0.0int0char'\u0000'(null)long0Lbooleanfalse所有引用類型null變量作用域變量的作用域是指可訪問該變量的代碼范圍類中定義的成員變量的作用域是整個類塊內(nèi)聲明的變量將屏蔽其所在類定義的同名變量程序2.1編譯結(jié)果變量作用域程序2.2雖然main()方法分別在第5行和第10行兩次聲明了同名局部變量name,但第5行聲明的變量只在第5行至第8行的塊內(nèi)有效,在塊外該變量消失。第10行不包含在這個塊中,也就不在第一次聲明的作用域內(nèi)數(shù)學(xué)函數(shù)Math.sin(0)//正弦函數(shù),返回0.0,這是double類型的值Math.cos(0) //余弦函數(shù),返回1.0Math.round(6.6) //四舍五入取整,返回7Math.sqrt(144) //開平方函數(shù),返回12.0Math.pow(5,2) //計算乘方,返回25.0Math.max(560,289) //求最大值函數(shù),返回560Math.min(560,289) //求最小值函數(shù),返回289Math.random()//返回0.0到1.0之間雙精度的一個隨機數(shù)值運算符算術(shù)運算符算術(shù)運算符包括通常的加(+)、減(-)、乘(*)、除(/)、取模(%),完成整型或浮點型數(shù)據(jù)的算術(shù)運算算術(shù)運算符還有“++”、“--”兩種,分別表示加1和減1操作3/2 //結(jié)果是115.2%5 //結(jié)果是0.2運算符關(guān)系運算符關(guān)系運算符用來比較兩個值,包括大于(>)、大于等于(>=)、小于(<)、小于等于(<=)、等于(==)、不等于(!=)6種。關(guān)系運算符都是二元運算符,運算的結(jié)果是一個邏輯值Java允許“==”和“!=”兩種運算用于任何數(shù)據(jù)類型可以判定兩個實例是否相等邏輯運算符邏輯運算符包括邏輯與(&&)、邏輯或(||)和邏輯非(?。?。前兩個是二元運算符,后一個是一元運算符 Java對邏輯與和邏輯或提供短路操作功能。進行運算時,先計算運算符左側(cè)表達式的值,如果使用該值能得到整個表達式的值,則跳過運算符右側(cè)表達式的計算,否則計算運算符右側(cè)表達式,并得到整個表達式的值運算符例3-3
Stringunset=null;if((unset!=null)&&(unset.length()>5)){ //對unset進行某種操作}空串unset不能使用,因此不能訪問unset.length()if()語句中的邏輯表達式是合法的,且完全安全。因為第一個子表達式(unset!=null)結(jié)果為假,它馬上導(dǎo)致整個表達式的結(jié)果為假。所以&&運算符跳過不必要的(unset.length()>5)計算,因為沒有計算它,避免了空指針異常位運算符位運算符用來對二進制位進行操作,包括按位取反(~)、按位與(&)、按位或(|)、異或(^)、右移(>>)、左移(<<)及無符號右移(>>>)。位運算符只能對整型和字符型數(shù)據(jù)進行操作intxValue=27,yVar=28;xValue=xValue&4;yVar=4&yVar;運算符“>>”運算符“>>”執(zhí)行算術(shù)右移,它使用最高位填充移位后左側(cè)的空位。右移的結(jié)果為:每移一位,第一個操作數(shù)被2除一次,移動的次數(shù)由第二個操作數(shù)確定
128>>1 //得到64256>>4 //得到16-256>>4 //得到-16邏輯右移運算符邏輯右移或叫無符號右移運算符>>>只對位進行操作,而沒有算術(shù)含義,它用0填充左側(cè)的空位算術(shù)右移不改變原數(shù)的符號,而邏輯右移不能保證這一點0xa2>>>2 //得到40(byte)0xa2>>2 //得到-24(byte)0xa2>>>2 //得到1073741800(byte)0x80>>2 //得到-32移位運算符移位運算符約簡其右側(cè)的操作數(shù),當(dāng)左側(cè)操作數(shù)是int類型時,右側(cè)以32取模;當(dāng)左側(cè)是long類型時,右側(cè)以64取模
“>>>”運算符只用于整型,它只對int或long值起作用。如果用于short或byte值,則在進行“>>>”操作之前,使用符號擴展將其提升為int型,然后再移位intx;x=x>>>32;x的結(jié)果不改變,而不是通常期望的0。這樣可以保證不會將左側(cè)操作數(shù)完全移走。其他運算符Java中的運算符還包括擴展賦值運算符(=、+=、-=、*=、/=、%=、&=、|=、^=、>>=、<<=)及(>>>=),條件運算符(?:),點運算符(.),實例運算符(instanceof),(new)運算符,數(shù)組下標(biāo)運算符([])等擴展賦值運算符擴展賦值運算符是在賦值號(=)前再加上其他運算符,是對表達式的一種簡寫形式。如果有賦值語句: var=varopexpression; 其中,var是變量,op是算術(shù)運算符或位運算符,expression為表達式。使用擴展賦值運算符可表示為: varop=expression;條件運算符條件運算符(?:)是三元運算符,它的一般形式為: 邏輯表達式?表達式1:表達式2;邏輯表達式得到一個邏輯值,根據(jù)該值的真假決定執(zhí)行什么操作。如果值為真,計算表達式1,否則計算表達式2注意,表達式1和表達式2需要返回相同的類型,且不能是void運算符的優(yōu)先次序運算符的優(yōu)先次序在對一個表達式進行計算時,如果表達式中含有多種運算符,則要按運算符的優(yōu)先順序依次從高向低進行,同級運算符則按結(jié)合律進行。括號可以改變運算次序表達式的提升和轉(zhuǎn)換Java語言不支持變量類型間的自動任意轉(zhuǎn)換,有時必須顯式地進行變量類型的轉(zhuǎn)換。一般的原則是,變量和表達式可轉(zhuǎn)換為更一般的形式,而不能轉(zhuǎn)換為更受限制的形式例如,int型表達式可看作是long型的;而long型表達式當(dāng)不使用顯式轉(zhuǎn)換時是不能看作int型的自動類型轉(zhuǎn)換一般地,如果同為整數(shù)類型,或同為浮點數(shù)類型,那么,轉(zhuǎn)換的原則是位數(shù)少的類型可以轉(zhuǎn)換為位數(shù)多的類型對于不同類的數(shù)值類型,轉(zhuǎn)換的原則是整數(shù)類型可以轉(zhuǎn)換為浮點數(shù)類型有一個特例是字符類型,它可以轉(zhuǎn)換為位數(shù)更長的整數(shù)類型或浮點數(shù)類型類型轉(zhuǎn)換當(dāng)變量類型與表達式類型一致時,表達式的值可以給變量賦值。當(dāng)變量類型與表達式類型不一致時,如果能進行自動類型轉(zhuǎn)換,則賦值也是被允許的,這稱為賦值相容不同類型數(shù)據(jù)的轉(zhuǎn)換規(guī)則操作數(shù)1類型
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 企業(yè)合規(guī)管理的未來趨勢與創(chuàng)新路徑
- 合規(guī)管理在企業(yè)危機應(yīng)對中的作用
- 高效處理合同糾紛的策略
- 2025年教師資格證初中英語教學(xué)設(shè)計教學(xué)評價標(biāo)準(zhǔn)試卷
- 絕緣材料:絕緣套管項目投資風(fēng)險評估報告
- 面向未來的抽水蓄能產(chǎn)業(yè)人才培養(yǎng)模式
- 小麥抗白粉病育種的系統(tǒng)生物學(xué)研究
- 舞蹈的生活藝術(shù)
- 探索二年級學(xué)習(xí)路程
- 守護地球的小勇士
- 福建省寧德市2023-2024學(xué)年八年級下學(xué)期期末考試語文試題
- QCT457-2023救護車技術(shù)規(guī)范
- 整形美容科發(fā)展規(guī)劃書
- 國際談判與國際公文寫作-知到答案、智慧樹答案
- 抑郁障礙課件
- 半月板損傷的保養(yǎng)與治療
- GB/T 144-2024原木檢驗
- 中華民族一家親同心共筑中國夢
- 交流與傳承-東西文化中碰撞中的藝術(shù)嬗變
- 絲綢行業(yè)市場分析
- 外周血管健康宣教
評論
0/150
提交評論