|  | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Java中8種基本數據類型 | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Java有(you)8種(zhong)(zhong)(zhong)簡(jian)單類型(xing):四種(zhong)(zhong)(zhong)整(zheng)型(xing)、兩(liang)種(zhong)(zhong)(zhong)浮點型(xing)、一種(zhong)(zhong)(zhong)字符型(xing)、一種(zhong)(zhong)(zhong)用(yong)于表示true/false的布爾類型(xing)。表1列出了(le)這8種(zhong)(zhong)(zhong)簡(jian)單數據類型(xing)。 表1 簡單數據類型 
 在這些數(shu)據(ju)類型(xing)中,int、short、byte、long都是整(zheng)型(xing)數(shu)據(ju),而(er)double和float是浮點(dian)型(xing)數(shu)據(ju)。char也(ye)可以看成(cheng)是整(zheng)型(xing)數(shu)據(ju),但它是無(wu)符號的(沒有負數(shu))。 1.布爾類型 與C語言不(bu)同,Java定義了專門的布(bu)爾類型,用(yong)于表示邏輯上的“真”或(huo)(huo)“假”。布(bu)爾類型用(yong)關(guan)鍵字boolean來定義,數(shu)據只能取值(zhi)(zhi)true或(huo)(huo)false,注(zhu)意不(bu)能用(yong)整型的0或(huo)(huo)1來替(ti)代。布(bu)爾類型不(bu)是數(shu)值(zhi)(zhi)型變(bian)量,它不(bu)能被轉化成(cheng)任意一種類型。布(bu)爾類型常(chang)常(chang)用(yong)在(zai)條件判斷(duan)語句(ju)中(zhong)。     boolean sendMsg = true; 注:這里的true和false是不(bu)能用雙引(yin)(yin)號引(yin)(yin)起來的,如果用雙引(yin)(yin)號引(yin)(yin)起來,就成(cheng)了String類型的數據了。 2.字符類型 字符(fu)(fu)(Char)類(lei)型數據用來(lai)表示通常意義上的(de)(de)“字符(fu)(fu)”。字符(fu)(fu)常量是用單引號括(kuo)起來(lai)的(de)(de)單個字符(fu)(fu)。 Java與(yu)眾不同的(de)(de)(de)特征之一就是(shi)(shi)(shi)Java對各種字符的(de)(de)(de)支持,這是(shi)(shi)(shi)因為Java中的(de)(de)(de)字符采用(yong)16位的(de)(de)(de)Unicode編(bian)碼(ma)格式(shi),Unicode被設計(ji)用(yong)來表(biao)示世界上(shang)所有(you)書面語言的(de)(de)(de)字符。Char簡單類型保存一個16位的(de)(de)(de)Unicode字符。Unicode字符通常用(yong)十(shi)六(liu)進(jin)制(zhi)編(bian)碼(ma)形式(shi)表(biao)示,范(fan)圍(wei)是(shi)(shi)(shi)“\u0000”~“\Uffff”,其中前(qian)綴“\u”標志(zhi)著這是(shi)(shi)(shi)一個Unicode編(bian)碼(ma)字符,其中前(qian)256個(“\u0000”~“\u00FF”)字符與(yu)ASCII碼(ma)中的(de)(de)(de)字符完全重合。   下面來(lai)看一個字符型(xing)數據的應用實例(li): 源文件:CharTest.java     public class CharTest { char型數據只能記(ji)錄單(dan)個的(de)字(zi)(zi)符(fu)(fu)值,不能表(biao)述更(geng)多(duo)的(de)文字(zi)(zi)信息(xi),Java語言還提供了String類(lei)型——記(ji)錄由多(duo)個字(zi)(zi)符(fu)(fu)組成的(de)字(zi)(zi)符(fu)(fu)串。String常量的(de)表(biao)達形式(shi)為雙引號引起來的(de)0~多(duo)個字(zi)(zi)符(fu)(fu),例如(ru):     String s = "Java小能手"; 注:String不(bu)是基本數(shu)據類型,而屬于(yu)引用類型。 char類型(xing)(xing)(xing)的(de)(de)數(shu)據(ju)用單(dan)引號表示(shi),注意它和String類型(xing)(xing)(xing)數(shu)據(ju)的(de)(de)區(qu)別,例如,“A”表示(shi)的(de)(de)是(shi)一個char類型(xing)(xing)(xing)的(de)(de)數(shu)據(ju),而(er)“A”表示(shi)的(de)(de)是(shi)一個String類型(xing)(xing)(xing)的(de)(de)數(shu)據(ju),它們的(de)(de)含義(yi)是(shi)不同的(de)(de)。  Java語言中還允(yun)許使(shi)用轉義(yi)(yi)字符“\”來將其后的(de)字符轉變為其他的(de)含義(yi)(yi),例如(ru),如(ru)果(guo)需(xu)要(yao)在(zai)(zai)輸出結果(guo)時(shi)換行,應給編(bian)譯(yi)器換行指令n,但(dan)是(shi)如(ru)果(guo)直接在(zai)(zai)程(cheng)序中寫System.out.println("n");則不會(hui)起到換行的(de)效果(guo)。此時(shi),需(xu)要(yao)在(zai)(zai)n之前輸入“\”,這時(shi)編(bian)譯(yi)器會(hui)知道“n”是(shi)被轉義(yi)(yi)的(de)字符。 還有一(yi)種(zhong)特(te)殊情況(kuang),在Java中使用(yong)一(yi)個絕對路徑(jing):c:\learning\java,如(ru)果直接在程序中寫(xie)String path = “c:\learning\java”,則不會(hui)得到(dao)你(ni)期望的結果,因為Java將“\”當成轉義符了。所(suo)以,這(zhe)時候(hou)應該(gai)這(zhe)樣寫(xie): String path = "c:\\learning\\java"; 這時,第一和第三(san)個“\”都是(shi)表示(shi)轉義符,表示(shi)后面的那個字(zi)符(此處都為“\”)有特殊的含(han)義。 3.整數類型 整數(shu)類(lei)型分為4類(lei):byte、short、int及long,它們的差別在于所占(zhan)用(yong)的內(nei)存空(kong)間和表數(shu)范圍不同(tong)。表2列出了(le)這4種整數(shu)類(lei)型數(shu)據的存儲空(kong)間及表數(shu)范圍。 表2 整數(shu)類型的存儲空間和表數(shu)范圍 
 通(tong)常情(qing)況(kuang)下,int是常用的(de)一種(zhong)整(zheng)型(xing)數(shu)據(ju),它也(ye)是Java中整(zheng)數(shu)常量的(de)默認(ren)類型(xing)。在表示非(fei)常巨大的(de)數(shu)字時,則(ze)需要用到更大范(fan)圍的(de)long。對于前(qian)面3種(zhong)整(zheng)數(shu)數(shu)據(ju)類型(xing)的(de)數(shu)據(ju),只需要直接寫出(chu)數(shu)據(ju)就(jiu)可以了,而(er)對于長整(zheng)形(long)數(shu)據(ju),需要在長整(zheng)型(xing)數(shu)據(ju)后面加上L或l來表示。 整(zheng)型(xing)常量(liang)雖然默認為(wei)int類型(xing),但在(zai)不超過其表數(shu)(shu)范圍的情況下,可以將int類型(xing)的數(shu)(shu)據直接賦(fu)給char、byte、short類型(xing)的變量(liang)。  下(xia)面是這些整形數據類(lei)型的一些例(li)子:     byte b = 12;   Java中允許(xu)使用3種不同的進(jin)制(zhi)形式表示整型變量:八進(jin)制(zhi)、十進(jin)制(zhi)、十六進(jin)制(zhi)。 (1)十進制(zhi)整數,如123、-456、0。 (2)八進制(zhi)(zhi)整數(shu),以0開頭(tou),如(ru)0123表(biao)示十進制(zhi)(zhi)數(shu)83,-011表(biao)示十進制(zhi)(zhi)數(shu)-9。 (3)十(shi)六(liu)進(jin)制(zhi)整(zheng)數(shu)(shu),以0x或0X開頭,如0x123表示十(shi)進(jin)制(zhi)數(shu)(shu)291,-0X12表示十(shi)進(jin)制(zhi)數(shu)(shu)-18。 4.浮點類型 Java浮(fu)(fu)點類型(xing)(xing)有(you)(you)兩種(zhong):float和double。Java浮(fu)(fu)點類型(xing)(xing)有(you)(you)固定的(de)表(biao)(biao)數(shu)范(fan)圍(wei)(wei)和字段(duan)長度。和整數(shu)類型(xing)(xing)一樣,在Java中,浮(fu)(fu)點類型(xing)(xing)的(de)字段(duan)長度和表(biao)(biao)數(shu)范(fan)圍(wei)(wei)與機器無(wu)關。表(biao)(biao)3-5列出了(le)符點類型(xing)(xing)數(shu)據(ju)的(de)存儲空間和表(biao)(biao)數(shu)范(fan)圍(wei)(wei)。 表3 符點(dian)類型數據的(de)存儲空間和表數范圍 
 double類型(xing)的(de)(de)浮點(dian)類型(xing)數(shu)(shu)(shu)據(ju)正如(ru)它(ta)的(de)(de)名字所揭(jie)示的(de)(de),它(ta)表示精(jing)度(du)是float的(de)(de)兩倍(因(yin)此也將double類型(xing)的(de)(de)數(shu)(shu)(shu)據(ju)稱為雙(shuang)精(jing)度(du)類型(xing)的(de)(de)數(shu)(shu)(shu)據(ju))。表示float類型(xing)的(de)(de)數(shu)(shu)(shu)據(ju)需要在數(shu)(shu)(shu)字后(hou)面加上(shang)F,用于和double類型(xing)數(shu)(shu)(shu)據(ju)相區別。 Java語言浮點(dian)類(lei)型常(chang)量有兩(liang)種表示形式: ·十進制數形式(shi),必須(xu)含有小(xiao)數點(dian),例如(ru)3.14、314.0、0.314。否則(ze)將(jiang)被當做int型(xing)常量處理,例如(ru)314。 ·科(ke)學(xue)計數法(fa)形式(shi),如3.14e2、3.14E2、314E2。注意(yi),只(zhi)有浮(fu)(fu)點類型(xing)才能采用科(ke)學(xue)計數法(fa)表(biao)示,因此,314E2也是浮(fu)(fu)點型(xing)常量,而不是int型(xing)。   Java語言的浮點型(xing)(xing)常(chang)量(liang)默認為double型(xing)(xing),要聲明一(yi)個常(chang)量(liang)為float型(xing)(xing),則要在它數(shu)字的后面加f或F。例如: 3.0表示一(yi)個double型(xing)常量(liang),占(zhan)64位內存空間。  3.0f表示一個(ge)float型(xing)常量(liang),占(zhan)32位內存(cun)空間。 熱點鏈(lian)接:   
         1、Java中的關鍵字有哪些 |