




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
12.5Java程序的基本數(shù)據(jù)類型數(shù)據(jù)類型決定了參與操作的變量、常量和表達(dá)式的取值類別、取值范圍以及能夠?qū)嵤┑牟僮餍袨椤nti=3;charc=‘A’;Java數(shù)據(jù)類型劃分簡單數(shù)據(jù)類型包括:布爾類型:boolean字符類型:char整數(shù)類型:byte,short,int,long浮點(diǎn)類型:float,double復(fù)合數(shù)據(jù)類型包括:class(類)interface(接口)數(shù)組3表2-1Java語言的基本數(shù)據(jù)類型數(shù)據(jù)類型占用二進(jìn)制位數(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(單精度浮點(diǎn)型)32位1.4E-45f~3.4028235E+38f0.0fdouble雙精度浮點(diǎn)型64位4.9E-324~1.7976931348623157E+3080.04boolean(布爾)只有“true”和“false”兩個(gè)取值,分別代表“真”和“假”。布爾型變量的定義如:booleanb=true;或:booleanb=50>60;注意:布爾類型的變量不能夠與任何其他類型進(jìn)行相互的類型轉(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編碼,每個(gè)字符占用兩個(gè)字節(jié)。C語言采用ASCII編碼,每個(gè)字符占一個(gè)字節(jié)。可以表示65536個(gè)字符。ASCII字符集是Unicode字符集的一個(gè)子集,并且在這兩個(gè)字符集中,前128個(gè)編碼所對應(yīng)的字符完全相同,只是每個(gè)字符占用的二進(jìn)制位數(shù)不同。7byte、short、int、long以下4種數(shù)據(jù)類型都屬于整型數(shù)值類型。byte1個(gè)字節(jié)short2個(gè)字節(jié)
int4個(gè)字節(jié)long8個(gè)字節(jié)注意:Java語言中所有整數(shù)型表示的均為有符號(hào)數(shù),沒有C語言中的無符號(hào)(unsigned)整數(shù)型。8float、doublefloat單精度32位double雙精度64位Java語言中的浮點(diǎn)數(shù)值表示遵循IEEE754標(biāo)準(zhǔn)。它不僅包括正零、負(fù)零、正無窮大、負(fù)無窮大和一個(gè)特別的表示非法數(shù)值的符號(hào)NaN。浮點(diǎn)型舉例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浮點(diǎn)型舉例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)識(shí)符、注釋、直接量、變量和常量【標(biāo)識(shí)符】
Java的標(biāo)識(shí)符由字母、數(shù)字、_和$組成,長度不限。其中字母可以是大寫或小寫的英文字母,數(shù)字為0到9。注意:1.標(biāo)識(shí)符區(qū)分大小寫。Test和test不同;2.標(biāo)識(shí)符的第一個(gè)字符必須為字母、(_)或($)符號(hào)。3.用戶自己定義的標(biāo)識(shí)符不能與Java語言中提供的關(guān)鍵字與常量相同12【關(guān)鍵字】又稱保留字,是Java語言規(guī)定了特定含義的標(biāo)識(shí)符。用戶只能按照系統(tǒng)規(guī)定的方式使用,不能自行定義。關(guān)鍵字一律用小寫字母表示。Java中的關(guān)鍵字有50個(gè),按用途劃分為:數(shù)據(jù)類型、語句、修飾、方法、類、接口、包,并保留了const和goto。13表2-2Java語言的關(guān)鍵字abstractcontinuefornewswitchassertdefaultgotopackagesynchronizedbooleandoifprivatethisbreakdoubleimplementsprotectedthrowbyteelseenumimportpublicthrowscaseenuminstanceofreturntransientcatchextendsintshorttrycharfinalinterfacestaticvoidclassfinallylongstrictfpvolatileconstfloatnativesuperwhile標(biāo)識(shí)符舉例判斷以下字符串哪些是合法的Java標(biāo)識(shí)符。identifier,2mail,room#,$change,userName,User_Name,_sys_val,class,a-class,su,super14Java標(biāo)識(shí)符命名規(guī)范可讀性好,“見名知義”;包名:小寫英文字母;如:“firstapplication”;類名、接口名:每個(gè)單詞的首寫字母都要大寫,如:“ImageSprite”方法名:動(dòng)詞或動(dòng)詞短語,第一個(gè)單詞的首字母小寫,其他單詞的首字母大寫,如:getName()變量名:第一個(gè)單詞的首字母小寫,其他單詞的首字母大寫,盡量不要使用_和$,如:myWidth常量名:每個(gè)字符都為大寫,單詞之間用下劃線(_)分隔,如:MAX_VALUE15標(biāo)識(shí)符命名規(guī)范舉例根據(jù)標(biāo)識(shí)符命名規(guī)范,判斷以下標(biāo)識(shí)符所表示的類型(類名、方法名、變量名和常量名):
MIN_LENGTH;Student;student;
MathBook;testClass;run;getNumber
1617注釋是為源程序增加必要的解釋說明的內(nèi)容,其目的是提高程序的可讀性,書寫注釋是編寫程序的良好習(xí)慣。Java中有三種形式的注釋:
//注釋部分/*注釋部分*//**注釋部分*/
【注釋】程序注釋文檔注釋:18【直接量】整型直接量:十、八、十六進(jìn)制實(shí)型直接量:double、float字符型直接量:單引號(hào)括起來布爾型直接量:true和false字符串型直接量:雙引號(hào)括起來相當(dāng)于C語言中的常量整型直接量十進(jìn)制整數(shù):如123,-456,0。默認(rèn)的數(shù)據(jù)類型為int,如要賦給int型變量,那數(shù)值應(yīng)該在int的取值范圍,例如:inta=123;問:能否將一個(gè)十進(jìn)制整數(shù)直接賦給長整型變量呢?如:longb=123;問:longl=-9876543210;是否正確?如果要表示長整型的數(shù)值,應(yīng)以l或L結(jié)尾,如:longl=-9876543210L;19可以。整數(shù)類型中取值范圍較小的變量或直接量可以直接賦值(隱式轉(zhuǎn)換)給取值范圍較大的變量。相反地,數(shù)據(jù)類型取值范圍較大的變量或直接量不能直接賦值給取值范圍較小的變量,需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)。不正確。因?yàn)?9876543210<-2147483648(整型數(shù)的下限),超出了int的范圍,而在long范圍內(nèi)。
整型直接量八進(jìn)制整數(shù):以0開頭,如012表示十進(jìn)制數(shù),-011表示十進(jìn)制數(shù)。十六進(jìn)制整數(shù):以0x或0X開頭,如0x12表示十進(jìn)制數(shù)18,-0X12表示十進(jìn)制數(shù)-18。2010-9浮點(diǎn)型直接量十進(jìn)制數(shù)形式:由數(shù)字和小數(shù)點(diǎn)組成,且必須有小數(shù)點(diǎn),如1.23,123.0科學(xué)計(jì)數(shù)法形式:如:123e3或123E3(表示123*103),其中e或E之前必須有數(shù)字,且e或E后面的指數(shù)必須為整數(shù)。在十進(jìn)制和科學(xué)計(jì)數(shù)法常數(shù)后面可以跟“F”或“f”(單精度)、“D”或“d”(雙精度),來表示float型或double的值:如1.23f,2.3e3D,如果后面沒有跟任何修飾,它的類型為雙精度。問:floatf=123.4是否正確?double
d=123.4是否正確?floatf=123是否正確?21√×√1.浮點(diǎn)數(shù)類型中取值范圍較小的變量或直接量可以直接賦值(隱式轉(zhuǎn)換)給取值范圍較大的變量。相反地,數(shù)據(jù)類型取值范圍較大的變量或直接量不能直接賦值給取值范圍較小的變量,需要進(jìn)行強(qiáng)制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)。2.整數(shù)類型可以直接賦值給浮點(diǎn)數(shù)類型(隱式轉(zhuǎn)換),相反需要強(qiáng)制類型轉(zhuǎn)換(顯式轉(zhuǎn)換)。字符型直接量有兩種形式:字符和轉(zhuǎn)義符,都用單引號(hào)括起來;例:‘a(chǎn)’,‘A’,或是‘\t’’\b’等;在ASCII碼中用‘\xxx’(xxx為一個(gè)八進(jìn)制數(shù))表示其中字符。例如:‘\141’表示字符。在Unicode碼中,用‘\uxxxx’(xxxx為一個(gè)十六進(jìn)制數(shù))表示Unicode碼中的字符。
例如:‘\u0061’也表示字符‘a(chǎn)’。22‘a(chǎn)’轉(zhuǎn)義字符說明轉(zhuǎn)義字符主要用來表示一些不可顯示的符號(hào),比如:換頁、換行、水平制表等。也可表示部分可以顯示的符號(hào),比如:“’”(單引號(hào))表示為‘\’’,還有“\”(反斜杠)表示為‘\\’;如何輸出以下內(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可以混合運(yùn)算例:charc=‘A’;inti=c+1System.out.println(c+“”+(char)i);24變量變量表示一塊被命名且用來存儲(chǔ)程序中數(shù)據(jù)的存儲(chǔ)區(qū)域。變量的幾個(gè)要素:變量名、變量的類型、變量的取值以及變量的存儲(chǔ)地址;2526變量的定義在Java語言中,所有的變量必須先定義后使用。其格式為:數(shù)據(jù)類型標(biāo)識(shí)符1[=初值],[標(biāo)識(shí)符2];例如:intintVar=3,value;注意:如果是基本數(shù)據(jù)類型,變量在聲明時(shí)就為其分配內(nèi)存空間;否則,還需要用new為其聲明的變量分配空間。例如:inta[];inta[]=newint[10];27【常量】在Java語言中,可以利用關(guān)鍵字final聲明常量。例如:finalfloatPI=3.14159f;finalint
MAX_NUM=1000;注意:與C語言不同,這里的常量并非一定在聲明的同時(shí)賦予常量值,只是要求在程序運(yùn)行期間僅能被賦值一次,一旦賦值后就不能再次被更改。例如:finalfloatPRICE,MAX;PRICE=5.34;MAX=100;
282.8運(yùn)算符與表達(dá)式算術(shù)運(yùn)算:+、-、*、/、%、++、--邏輯運(yùn)算:&、|、!、^、&&、||關(guān)系運(yùn)算:==、!=、>、<、>=、<=位運(yùn)算:~、&、|、^、>>、<<、>>>其他運(yùn)算:?:、賦值運(yùn)算符、()、[]、new檢測某個(gè)對象是否屬于某個(gè)類
instanceof(對象)算術(shù)運(yùn)算符與算術(shù)表達(dá)式雙目運(yùn)算符:有兩個(gè)操作數(shù)的運(yùn)算符
+-*/%單目運(yùn)算符:只有一個(gè)操作數(shù)的運(yùn)算符+-++--29算術(shù)運(yùn)算符說明操作含義和基本用法與C語言中相應(yīng)的運(yùn)算符相同,但有一些特別之處。(1)5個(gè)雙目運(yùn)算符的運(yùn)算對象類型可以是byte、short、int、long、float、double和char。%的運(yùn)算對象可以是整型可以是浮點(diǎn)型,既可以是正數(shù)也可以是負(fù)數(shù)。(2)
整數(shù)被0整除或求余數(shù)非法操作,拋出ArithemticException。30算術(shù)運(yùn)算符說明(3)運(yùn)算結(jié)果類型:如果參與運(yùn)算的兩個(gè)運(yùn)算對象屬于同一個(gè)類型,則結(jié)果也是這種類型。如果兩個(gè)運(yùn)算對象的類型都是整型byte、short、int、long)或者浮點(diǎn)型,則計(jì)算結(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)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 領(lǐng)導(dǎo)力與技術(shù)變革關(guān)系的考核試題及答案
- 數(shù)據(jù)庫安全策略考題及答案闡述
- 2025年計(jì)算機(jī)二級(jí)Web考試新手指導(dǎo)試題及答案
- 跨區(qū)域私人直升機(jī)維修保養(yǎng)與飛行數(shù)據(jù)分析協(xié)議
- 股權(quán)表決權(quán)委托與智能制造產(chǎn)業(yè)投資合同
- 2025年中國北京特色小鎮(zhèn)行業(yè)市場規(guī)模調(diào)研及投資前景研究分析報(bào)告
- 智能零售電子價(jià)簽系統(tǒng)數(shù)據(jù)安全保障與服務(wù)協(xié)議
- 2025年中國辦公室方塊地毯行業(yè)市場規(guī)模及投資前景預(yù)測分析報(bào)告
- 抖音短視頻賬號(hào)運(yùn)營權(quán)轉(zhuǎn)讓與品牌合作協(xié)議
- 抖音火花部門直播互動(dòng)率KPI考核標(biāo)準(zhǔn)合同
- 2025網(wǎng)站建設(shè)合同范本
- 《人體解剖生理學(xué)基礎(chǔ)》課件
- 2025屆福建省廈門市音樂學(xué)校生物七下期末學(xué)業(yè)質(zhì)量監(jiān)測試題含解析
- 托育培訓(xùn)課程課件
- 2024-2025西師大版一年級(jí)下冊數(shù)學(xué)期末考試卷及參考答案
- 中國卒中學(xué)會(huì)急性缺血性卒中再灌注治療指南(2024)解讀
- 浙江開放大學(xué)2025年《社會(huì)保障學(xué)》形考任務(wù)2答案
- 【+初中語文++】++第11課《山地回憶》課件++統(tǒng)編版語文七年級(jí)下冊
- 2025年高考?xì)v史考綱(完整版)
- 2025屆東北三省四市教研聯(lián)合體高三下學(xué)期高考模擬考試(一模)英語試題及答案
- 煤炭工業(yè)建筑結(jié)構(gòu)設(shè)計(jì)標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論