




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、第第2章章 數(shù)據(jù)類型、運算符和表達式數(shù)據(jù)類型、運算符和表達式 312本章主要內(nèi)容本章主要內(nèi)容 常量:包括字面常量和符號表示的常量;常量:包括字面常量和符號表示的常量; 變量:整形、浮點型、字符型和布爾型;變量:整形、浮點型、字符型和布爾型; 數(shù)組:數(shù)組:Java的數(shù)組屬于類類型;的數(shù)組屬于類類型; 參數(shù)傳遞方式;參數(shù)傳遞方式; 運算符:包括邏輯運算符、算術(shù)運算符和運算符:包括邏輯運算符、算術(shù)運算符和位運算符等;位運算符等; 3132.1 常量常量 整形常量:采用八進制、十進制、十六進制表示,整形常量:采用八進制、十進制、十六進制表示,但不能采用二進制表示,和但不能采用二進制表示,和C/C+中的
2、一樣。中的一樣。(0,0 x) 浮點常量:采用十進制或科學(xué)記數(shù)法表示。在缺浮點常量:采用十進制或科學(xué)記數(shù)法表示。在缺省情況下一個浮點數(shù)是省情況下一個浮點數(shù)是double型。型。(d, l)布爾常量:布爾常量:true和和false,它們不是數(shù),不能進行它們不是數(shù),不能進行算術(shù)運算。算術(shù)運算。字符常量:與字符常量:與C/C+中的表示類似中的表示類似 。字符串常量:字符串常量:Java中字符串常量是對象中字符串常量是對象 。3142.2 變量變量 變量的命名原則是:以字母(變量的命名原則是:以字母(az和和 AZ)、)、下劃線(下劃線(_)和)和$符號開頭的,符號開頭的, 由字母、數(shù)字由字母、數(shù)字
3、(09)、下劃線和)、下劃線和$構(gòu)成構(gòu)成的一個符號序列。的一個符號序列。 例如,例如,a,_a,NameOfStudent,$10均均是合法變量名,而是合法變量名,而-a和和9a是非法變量名。是非法變量名。關(guān)鍵字不能用作變量名關(guān)鍵字不能用作變量名 ( 見表見表2-1 ) 注意注意:Java對變量是區(qū)分大小寫對變量是區(qū)分大小寫 .3152.2.1 整形類型的變量整形類型的變量 字節(jié)(字節(jié)(byte)型,型,8個位。個位。 短整形短整形(short),占占16個位。個位。 整形整形 ( int ),占占32個位。個位。 長整形長整形 ( long int ),占占64個位。個位。 Java中的整形
4、最值均有符號。例如程序中的整形最值均有符號。例如程序2-1測試最值:測試最值: public class Test_Int / 程序程序2-1 測試整形變量的最值測試整形變量的最值 public static void main(String args)System.out.println(Byte.MAX_VALUE ); System.out.println(Byte.MIN_VALUE ); System.out.println(Short.MAX_VALUE );System.out.println(Short.MIN_VALUE );System.out.println(Intege
5、r.MAX_VALUE ); System.out.println(Integer.MIN_VALUE ); System.out.println(Long.MAX_VALUE ); System.out.println(Long.MIN_VALUE); 317 注意:注意: byte、short、int、long是原子類型,是原子類型,而而Byte、Short、Integer和和Long分別是四種分別是四種原子類型對應(yīng)的類類型。原子類型對應(yīng)的類類型。 2.2.1 整形類型的變量整形類型的變量(續(xù)續(xù))3182.2.2 字符類型變量字符類型變量 Java字符量的長度為字符量的長度為16個位,表示
6、范圍個位,表示范圍是從是從u0000 到到 uffff 即從即從0 到到 65535; Character是是char類型對應(yīng)的類類型類型對應(yīng)的類類型 ; 最大值最大值 Character.MAX_VALUE ; 最小值最小值 Character.MIN_VALUE ;3192.2.3 浮點類型變量浮點類型變量 分類:分類:float和和double。 Float 、Double 是對應(yīng)的類類型是對應(yīng)的類類型 ; Float.MAX_VALUE、Float.MIN_VALUE是最值。是最值。 Float.POSITIVE_INFINITY 和和 Float.NEGATIVE_INFINITY是
7、是正正/ /負負無限無限大大 ( 數(shù)據(jù)溢出)。數(shù)據(jù)溢出)。31102.2.4 布爾類型變量布爾類型變量 boolean變量取值:變量取值:true和和false ; true和和false不能轉(zhuǎn)換成任何數(shù)值表示,不能轉(zhuǎn)換成任何數(shù)值表示,true不是不是1,false也不是也不是0 。31112.2.5 原子類型變量的生存空間原子類型變量的生存空間 一個變量的生存空間是由兩個大括號決定的一個變量的生存空間是由兩個大括號決定的 范范圍。下列寫法在圍。下列寫法在C/C+中是正確的,但在中是正確的,但在Java中是錯誤的中是錯誤的 ( 注意注意 )。int x=1;int x=0; / 錯誤錯誤 不能
8、屏蔽不能屏蔽 31122.3 變量賦值問題變量賦值問題 如果類中定義的原子類型變量,未給出如果類中定義的原子類型變量,未給出初值,那么它們將有缺省值初值,那么它們將有缺省值 :byte、short、int 和和long變量的缺省值是變量的缺省值是0;char 、float、double和和boolean變量的缺變量的缺省值分別是省值分別是u0、0.0f、0.0d和和false。 / 程序程序2-4class Test / 定義一個類定義一個類int Value; / 類中的變量未賦值,缺省就是類中的變量未賦值,缺省就是0 public class Test_Varpublic static v
9、oid main(String args) int x=100;/ 必須賦值,否則有可能無法通過編譯必須賦值,否則有可能無法通過編譯 Test obj=new Test( );/ 對象賦值對象賦值 System.out.println( obj.Value + +x); 31142.4 數(shù)組數(shù)組 Java數(shù)組是系統(tǒng)定義類數(shù)組是系統(tǒng)定義類Array 的子類;的子類; 數(shù)組的分類同數(shù)組的分類同C/C+:一維和多維。一維和多維。31152.4.1 一維數(shù)組一維數(shù)組 定義數(shù)組的格式定義數(shù)組的格式 :int a ; 或或 int a ;其其值是值是null ; 在定義數(shù)組時不能指定大小。在定義數(shù)組時不能
10、指定大小。a僅是一個引用,僅是一個引用,代表一個數(shù)組名,但沒有對應(yīng)的空間。代表一個數(shù)組名,但沒有對應(yīng)的空間。 產(chǎn)生數(shù)組空間的方法有兩種(靜態(tài),動態(tài))產(chǎn)生數(shù)組空間的方法有兩種(靜態(tài),動態(tài)) : 在定義時直接賦值:在定義時直接賦值:int a =1,2,3; 通過通過new分配空間:分配空間:int a =new int10;注意:注意:Java數(shù)組名是一個引用,當(dāng)將一個數(shù)組數(shù)組名是一個引用,當(dāng)將一個數(shù)組名賦值給另一個數(shù)組時,實際上是名字的復(fù)制,名賦值給另一個數(shù)組時,實際上是名字的復(fù)制, 例如例如 2-5 2-5:public class Test_Arraypublic static void
11、main(String args)int a =1,2,3, b ;b= a ; for(int i=0;i3;i+) b i +;for(int i=0;i3;i+) System.out.println(ai); 31172.4.1 一維數(shù)組一維數(shù)組( (續(xù)續(xù)) ) 獲得數(shù)組元素的個數(shù):數(shù)組名獲得數(shù)組元素的個數(shù):數(shù)組名.length; 一個整形數(shù)組若僅僅采用一個整形數(shù)組若僅僅采用new分配空間,分配空間,而沒有對其賦值,那么每個元素的值是而沒有對其賦值,那么每個元素的值是0 。31182.4.2 二維數(shù)組二維數(shù)組 產(chǎn)生二維數(shù)組空間的方法有兩種:產(chǎn)生二維數(shù)組空間的方法有兩種: 定義時直接賦值
12、:定義時直接賦值:int b= 1,2 , 3,4 ; 通過通過new運算符分配空間運算符分配空間 。 二維數(shù)組形狀任意,不一定是矩形。二維數(shù)組形狀任意,不一定是矩形。例如程例如程序序2-72-7:public class Test_Array2 public static void main(String args)int a ;a=new int2 ; a0=new int3; a1=new int6; System.out.println( a 的長度的長度 = + a.length );System.out.println(a0 的長度的長度 = + a0.length );Syste
13、m.out.println(a1 的長度的長度 = + a1.length ); 31202.5 Java中的參數(shù)傳遞方式中的參數(shù)傳遞方式 Java的參數(shù)傳遞的形式有兩種:基本類的參數(shù)傳遞的形式有兩種:基本類型按值傳遞,對象類型按引用傳遞;型按值傳遞,對象類型按引用傳遞; 通過通過returnreturn語句從方法中返回時,基本語句從方法中返回時,基本類型總是以值的方式返回,而對象總是類型總是以值的方式返回,而對象總是以引用方式返回。以引用方式返回。 例如程序例如程序2-8 2-8 :class testint x; public class Test_Paras static test fu
14、n(test o,int y)o.x=20; y=1; return o; public static void main(String args)test obj1 , obj2;int Val = 3;obj1=new test( ) ; obj1.x=100; obj2=fun(obj1,Val); System.out.println(obj1.x+ + obj2.x+ +Val);運行結(jié)果:運行結(jié)果:20 20 331222.6 Java的運算符的運算符 主要包括:主要包括: 算術(shù)運算符、關(guān)系運算符、邏輯運算符、算術(shù)運算符、關(guān)系運算符、邏輯運算符、位運算符和三元條件運算符位運算符和三
15、元條件運算符 。31232.6.1 算術(shù)運算符算術(shù)運算符 算術(shù)運算符:算術(shù)運算符:+、-、*、/、%、+和和-,與與C/C+基本相同。基本相同。 %運算符不但可以對整形數(shù)據(jù)運算,而運算符不但可以對整形數(shù)據(jù)運算,而且可以對浮點型數(shù)據(jù)運算。且可以對浮點型數(shù)據(jù)運算。 例如:例如:3.14 % 2.5的值約等于的值約等于0.64 ;31242.6.2 關(guān)系運算符關(guān)系運算符 關(guān)系運算符不能同其它類型的變量一同關(guān)系運算符不能同其它類型的變量一同 參與運算,例如假設(shè)參與運算,例如假設(shè)a,b,c是三個整形的變是三個整形的變量,那么量,那么 a=b=c 就就是錯誤的是錯誤的 ; 關(guān)系運算符用于對象時,是判別兩個
16、引用關(guān)系運算符用于對象時,是判別兩個引用是否代表同一個對象。例如:是否代表同一個對象。例如:class number int x; public class relationalOperator public static void main(String args )number n1,n2;n1=new number( ); n2=new number( ); n1.x=1; n2.x=1;if(n1.x=n2.x) System.out.println(對象的數(shù)據(jù)成員對象的數(shù)據(jù)成員x相等!相等!); if(n1=n2) System.out.println(n1和和n2是一個對象!是一個
17、對象!);else System.out.println(n1和和n2不是一個對象!不是一個對象!); 31262.6.3 邏輯運算符邏輯運算符 邏輯運算符有邏輯運算符有&、| 和和!,分別是與、或,分別是與、或和非。運算結(jié)果是和非。運算結(jié)果是true或或false; 邏輯運算有求值邏輯運算有求值“短路短路”現(xiàn)象現(xiàn)象 ,例如,例如程程序序2-11 :public class shortCut static boolean testOne(int x)System.out.println(x+ +1+ + (x1) );return x 1; static boolean testTwo(int
18、 x)System.out.println(x+ +1+ +(x2);return x 2; public static void main(String args)if (testOne(6) & testTwo(1)System.out.println(表達式為真表達式為真);else System.out.println(表達式為假表達式為假); 31282.6.4 位運算符位運算符 位運算位運算符:符:&、|、,分別分別稱為位與、或、異或、左移、右移稱為位與、或、異或、左移、右移; Java引入一個專門用于邏輯右移運算符引入一個專門用于邏輯右移運算符,它采用了所謂的零擴展技術(shù),不論,它采用了所謂的零擴展技術(shù),不論原值是正或負,一律在高位補原值是正或負,一律在高位補0。例如:例如: int a= - 2 , b ; b=a30;31292.6.
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 環(huán)境工程概論課件
- 《SOFIT評估》教學(xué)課件
- 動物醫(yī)學(xué)產(chǎn)品介紹
- 勇敢牛牛創(chuàng)意美術(shù)課件
- 《QCC活動介紹》課件
- 主體工程安全管理與安全技術(shù)課件
- 2019-2025年教師資格之中學(xué)音樂學(xué)科知識與教學(xué)能力每日一練試卷A卷含答案
- 小白兔兒童畫課件
- 幼兒園教育體系概述
- 可行性研究報告批復(fù)的材料
- 維修電工職業(yè)道德行為課件
- 神經(jīng)內(nèi)科常見頭痛和抑郁焦慮培訓(xùn)課件
- 普通遺傳學(xué)講稿
- 臨時支撐體系拆除審批表
- 錦程網(wǎng)生涯規(guī)劃書
- 2020 ACLS-PC-SA課前自我測試試題及答案
- (完整版)《安全標(biāo)志及其使用導(dǎo)則規(guī)范》
- 新制經(jīng)濟學(xué)學(xué)習(xí)教案
- 鐵皮石斛集約化高產(chǎn)栽培技術(shù)研究
- GB∕T 31838.7-2021 固體絕緣材料 介電和電阻特性 第7部分:電阻特性(DC方法) 高溫下測量體積電阻和體積電阻率
- 變頻器變頻altivar71說明書
評論
0/150
提交評論