版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
12.5Java程序的基本數(shù)據(jù)類型數(shù)據(jù)類型決定了參與操作的變量、常量和表達式的取值類別、取值范圍以及能夠?qū)嵤┑牟僮餍袨?。inti=3;charc=‘A’;Java數(shù)據(jù)類型劃分簡單數(shù)據(jù)類型包括:布爾類型:boolean字符類型:char整數(shù)類型:byte,short,int,long浮點類型:float,double復(fù)合數(shù)據(jù)類型包括:class(類)interface(接口)數(shù)組3表2-1Java語言的基本數(shù)據(jù)類型數(shù)據(jù)類型占用二進制位數(shù)取值范圍默認(rèn)值boolean(布爾型)
8位true或falsefalsechar(字符型)16位\u0000~\uffff(0~65535)\u0000byte(字節(jié)型)8位-128~127(-27~(27-1))0short(短整型)16位-32768~32767(-215~(215-1))0int(整型)32位-2147483648~2147483647(-231~(231-1))0long(長整型)64位-9223372036854775808~9223372036854775807(-263~(263-1))0float(單精度浮點型)32位1.4E-45f~3.4028235E+38f0.0fdouble雙精度浮點型64位4.9E-324~1.7976931348623157E+3080.04boolean(布爾)只有“true”和“false”兩個取值,分別代表“真”和“假”。布爾型變量的定義如:booleanb=true;或:booleanb=50>60;注意:布爾類型的變量不能夠與任何其他類型進行相互的類型轉(zhuǎn)換操作。在C語言中,0可當(dāng)作false使用,非零整數(shù)可當(dāng)作true使用,但在Java中不允許。boolean(布爾)例如:
5if(a!=0)a+=10;elsea-=10;if(a)a+=10;elsea-=10;√×for(inti=10;i;i--)i--;for(inti=10;i!=0;i--)i--;×6charJava語言規(guī)定,字符采用Unicode編碼,每個字符占用兩個字節(jié)。C語言采用ASCII編碼,每個字符占一個字節(jié)??梢员硎?5536個字符。ASCII字符集是Unicode字符集的一個子集,并且在這兩個字符集中,前128個編碼所對應(yīng)的字符完全相同,只是每個字符占用的二進制位數(shù)不同。7byte、short、int、long以下4種數(shù)據(jù)類型都屬于整型數(shù)值類型。byte1個字節(jié)short2個字節(jié)
int4個字節(jié)long8個字節(jié)注意:Java語言中所有整數(shù)型表示的均為有符號數(shù),沒有C語言中的無符號(unsigned)整數(shù)型。8float、doublefloat單精度32位double雙精度64位Java語言中的浮點數(shù)值表示遵循IEEE754標(biāo)準(zhǔn)。它不僅包括正零、負(fù)零、正無窮大、負(fù)無窮大和一個特別的表示非法數(shù)值的符號NaN。浮點型舉例9doubled=1e308;//1*10308System.out.print("overflowprodecesinfinity:");System.out.println(d+"*10="+d*10);上溢overflowprodecesinfinity:1.0E308*10=Infinityd=1e-305*Math.PI;System.out.println("gradualunderflow:"+d);for(inti=0;i<4;i++)System.out.print(""+(d/=100000));下溢gradualunderflow:3.141592653589793E-3053.1415926535898E-3103.141592653E-3153.142E-3200.0浮點型舉例10System.out.print("0.0/0.0isNot-a-Number:");d=0.0/0.0;System.out.println(d);產(chǎn)生非數(shù)值NaN0.0/0.0isNot-a-Number:NaNSystem.out.print("casttointroundstoward0:");d=12345.6;System.out.println((int)d+""+(int)(-d));double轉(zhuǎn)intcasttointroundstoward0:12345-12345112.6標(biāo)識符、注釋、直接量、變量和常量【標(biāo)識符】
Java的標(biāo)識符由字母、數(shù)字、_和$組成,長度不限。其中字母可以是大寫或小寫的英文字母,數(shù)字為0到9。注意:1.標(biāo)識符區(qū)分大小寫。Test和test不同;2.標(biāo)識符的第一個字符必須為字母、(_)或($)符號。3.用戶自己定義的標(biāo)識符不能與Java語言中提供的關(guān)鍵字與常量相同12【關(guān)鍵字】又稱保留字,是Java語言規(guī)定了特定含義的標(biāo)識符。用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義。關(guān)鍵字一律用小寫字母表示。Java中的關(guān)鍵字有50個,按用途劃分為:數(shù)據(jù)類型、語句、修飾、方法、類、接口、包,并保留了const和goto。13表2-2Java語言的關(guān)鍵字abstractcontinuefornewswitchassertdefaultgotopackagesynchronizedbooleandoifprivatethisbreakdoubleimplementsprotectedthrowbyteelseenumimportpublicthrowscaseenuminstanceofreturntransientcatchextendsintshorttrycharfinalinterfacestaticvoidclassfinallylongstrictfpvolatileconstfloatnativesuperwhile標(biāo)識符舉例判斷以下字符串哪些是合法的Java標(biāo)識符。identifier,2mail,room#,$change,userName,User_Name,_sys_val,class,a-class,su,super14Java標(biāo)識符命名規(guī)范可讀性好,“見名知義”;包名:小寫英文字母;如:“firstapplication”;類名、接口名:每個單詞的首寫字母都要大寫,如:“ImageSprite”方法名:動詞或動詞短語,第一個單詞的首字母小寫,其他單詞的首字母大寫,如:getName()變量名:第一個單詞的首字母小寫,其他單詞的首字母大寫,盡量不要使用_和$,如:myWidth常量名:每個字符都為大寫,單詞之間用下劃線(_)分隔,如:MAX_VALUE15標(biāo)識符命名規(guī)范舉例根據(jù)標(biāo)識符命名規(guī)范,判斷以下標(biāo)識符所表示的類型(類名、方法名、變量名和常量名):
MIN_LENGTH;Student;student;
MathBook;testClass;run;getNumber
1617注釋是為源程序增加必要的解釋說明的內(nèi)容,其目的是提高程序的可讀性,書寫注釋是編寫程序的良好習(xí)慣。Java中有三種形式的注釋:
//注釋部分/*注釋部分*//**注釋部分*/
【注釋】程序注釋文檔注釋:18【直接量】整型直接量:十、八、十六進制實型直接量:double、float字符型直接量:單引號括起來布爾型直接量:true和false字符串型直接量:雙引號括起來相當(dāng)于C語言中的常量整型直接量十進制整數(shù):如123,-456,0。默認(rèn)的數(shù)據(jù)類型為int,如要賦給int型變量,那數(shù)值應(yīng)該在int的取值范圍,例如:inta=123;問:能否將一個十進制整數(shù)直接賦給長整型變量呢?如:longb=123;問:longl=-9876543210;是否正確?如果要表示長整型的數(shù)值,應(yīng)以l或L結(jié)尾,如:longl=-9876543210L;19可以。整數(shù)類型中取值范圍較小的變量或直接量可以直接賦值(隱式轉(zhuǎn)換)給取值范圍較大的變量。相反地,數(shù)據(jù)類型取值范圍較大的變量或直接量不能直接賦值給取值范圍較小的變量,需要進行強制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)。不正確。因為-9876543210<-2147483648(整型數(shù)的下限),超出了int的范圍,而在long范圍內(nèi)。
整型直接量八進制整數(shù):以0開頭,如012表示十進制數(shù),-011表示十進制數(shù)。十六進制整數(shù):以0x或0X開頭,如0x12表示十進制數(shù)18,-0X12表示十進制數(shù)-18。2010-9浮點型直接量十進制數(shù)形式:由數(shù)字和小數(shù)點組成,且必須有小數(shù)點,如1.23,123.0科學(xué)計數(shù)法形式:如:123e3或123E3(表示123*103),其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。在十進制和科學(xué)計數(shù)法常數(shù)后面可以跟“F”或“f”(單精度)、“D”或“d”(雙精度),來表示float型或double的值:如1.23f,2.3e3D,如果后面沒有跟任何修飾,它的類型為雙精度。問:floatf=123.4是否正確?double
d=123.4是否正確?floatf=123是否正確?21√×√1.浮點數(shù)類型中取值范圍較小的變量或直接量可以直接賦值(隱式轉(zhuǎn)換)給取值范圍較大的變量。相反地,數(shù)據(jù)類型取值范圍較大的變量或直接量不能直接賦值給取值范圍較小的變量,需要進行強制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)。2.整數(shù)類型可以直接賦值給浮點數(shù)類型(隱式轉(zhuǎn)換),相反需要強制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)。字符型直接量有兩種形式:字符和轉(zhuǎn)義符,都用單引號括起來;例:‘a(chǎn)’,‘A’,或是‘\t’’\b’等;在ASCII碼中用‘\xxx’(xxx為一個八進制數(shù))表示其中字符。例如:‘\141’表示字符。在Unicode碼中,用‘\uxxxx’(xxxx為一個十六進制數(shù))表示Unicode碼中的字符。
例如:‘\u0061’也表示字符‘a(chǎn)’。22‘a(chǎn)’轉(zhuǎn)義字符說明轉(zhuǎn)義字符主要用來表示一些不可顯示的符號,比如:換頁、換行、水平制表等。也可表示部分可以顯示的符號,比如:“’”(單引號)表示為‘\’’,還有“\”(反斜杠)表示為‘\\’;如何輸出以下內(nèi)容:System.out.print(“Hello!”);23字符類型與整型的轉(zhuǎn)換1.int與char可以直接轉(zhuǎn)換例:charc=65;inti=‘B’System.out.println(c+“”+i);2.int和char可以混合運算例:charc=‘A’;inti=c+1System.out.println(c+“”+(char)i);24變量變量表示一塊被命名且用來存儲程序中數(shù)據(jù)的存儲區(qū)域。變量的幾個要素:變量名、變量的類型、變量的取值以及變量的存儲地址;2526變量的定義在Java語言中,所有的變量必須先定義后使用。其格式為:數(shù)據(jù)類型標(biāo)識符1[=初值],[標(biāo)識符2];例如:intintVar=3,value;注意:如果是基本數(shù)據(jù)類型,變量在聲明時就為其分配內(nèi)存空間;否則,還需要用new為其聲明的變量分配空間。例如:inta[];inta[]=newint[10];27【常量】在Java語言中,可以利用關(guān)鍵字final聲明常量。例如:finalfloatPI=3.14159f;finalint
MAX_NUM=1000;注意:與C語言不同,這里的常量并非一定在聲明的同時賦予常量值,只是要求在程序運行期間僅能被賦值一次,一旦賦值后就不能再次被更改。例如:finalfloatPRICE,MAX;PRICE=5.34;MAX=100;
282.8運算符與表達式算術(shù)運算:+、-、*、/、%、++、--邏輯運算:&、|、!、^、&&、||關(guān)系運算:==、!=、>、<、>=、<=位運算:~、&、|、^、>>、<<、>>>其他運算:?:、賦值運算符、()、[]、new檢測某個對象是否屬于某個類
instanceof(對象)算術(shù)運算符與算術(shù)表達式雙目運算符:有兩個操作數(shù)的運算符
+-*/%單目運算符:只有一個操作數(shù)的運算符+-++--29算術(shù)運算符說明操作含義和基本用法與C語言中相應(yīng)的運算符相同,但有一些特別之處。(1)5個雙目運算符的運算對象類型可以是byte、short、int、long、float、double和char。%的運算對象可以是整型可以是浮點型,既可以是正數(shù)也可以是負(fù)數(shù)。(2)
整數(shù)被0整除或求余數(shù)非法操作,拋出ArithemticException。30算術(shù)運算符說明(3)運算結(jié)果類型:如果參與運算的兩個運算對象屬于同一個類型,則結(jié)果也是這種類型。如果兩個運算對象的類型都是整型byte、short、int、long)或者浮點型,則計算結(jié)果為取值范圍較大那種類型。例如:31//’3’的Unicode碼為51;inta=1;longb=2L;ch
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 農(nóng)產(chǎn)品銷售合同協(xié)議范本
- 招標(biāo)文件房產(chǎn)項目
- 版短期無擔(dān)保個人
- 第三方支付保證金協(xié)議
- 知識產(chǎn)權(quán)顧問合同的爭議解決方法分享
- 學(xué)生健康飲食承諾保證書
- 裝飾拆除改造合同
- 道具采購合同范本中文模板樣式
- 導(dǎo)購員合同協(xié)議的交通補貼
- 幼兒園食品訂購合同范本
- NB-T47003.1-2009鋼制焊接常壓容器(同JB-T4735.1-2009)
- 聚焦高質(zhì)量+探索新高度+-2025屆高考政治復(fù)習(xí)備考策略
- 惠州市惠城區(qū)2022-2023學(xué)年七年級上學(xué)期期末教學(xué)質(zhì)量檢測數(shù)學(xué)試卷
- 北京市西城區(qū)2022-2023學(xué)年七年級上學(xué)期期末英語試題【帶答案】
- ISO45001-2018職業(yè)健康安全管理體系之5-4:“5 領(lǐng)導(dǎo)作用和工作人員參與-5.4 工作人員的協(xié)商和參與”解讀和應(yīng)用指導(dǎo)材料(2024A0-雷澤佳)
- 看圖猜成語共876道題目動畫版
- 小學(xué)二年級上冊數(shù)學(xué)-數(shù)角的個數(shù)專項練習(xí)
- 曲式與作品分析智慧樹知到期末考試答案章節(jié)答案2024年蘭州文理學(xué)院
- 園林設(shè)施維護方案
- 特種設(shè)備使用單位日管控、周排查、月調(diào)度示范表
- 供應(yīng)鏈成本控制與降本增效
評論
0/150
提交評論