實(shí)際上通過(guò)總結(jié):Java中共有8種基本數(shù)據(jù)類(lèi)型,包括4 種整型、2 種浮點(diǎn)型、1 種字符型、1 種布爾型,請(qǐng)見(jiàn)下表。
數(shù)據(jù)類(lèi)型 | 說(shuō)明 | 所占內(nèi)存 | 舉例 | 備注 |
---|---|---|---|---|
byte | 字節(jié)型 | 1 byte | 3, 127 | |
short | 短整型 | 2 bytes | 3, 32767 | |
int | 整型 | 4 bytes | 3, 21474836 | |
long | 長(zhǎng)整型 | 8 bytes | 3L, 92233720368L | long最后要有一個(gè)L字母(大小寫(xiě)無(wú)所謂)。 |
float | 單精度浮點(diǎn)型 | 4 bytes | 1.2F, 223.56F | float最后要有一個(gè)F字母(大小寫(xiě)無(wú)所謂)。 |
double | 雙精度浮點(diǎn)型 | 8 bytes | 1.2, 1.2D, 223.56, 223.56D | double最后最好有一個(gè)D字母(大小寫(xiě)無(wú)所謂)。 |
char | 字符型 | 2 bytes | 'a', ‘A’ | 字符型數(shù)據(jù)只能是一個(gè)字符,由單引號(hào)包圍。 |
boolean | 布爾型 | 1 bit | true, false |
對(duì)于整型數(shù)據(jù),通常情況下使用 int 類(lèi)型。但如果表示投放廣島長(zhǎng)崎的原子彈釋放出的能量,就需要使用 long 類(lèi)型了。byte 和 short 類(lèi)型主要用于特定的應(yīng)用場(chǎng)合,例如,底層的文件處理或者需要控制占用存儲(chǔ)空間量的大數(shù)組。
在Java中,整型數(shù)據(jù)的長(zhǎng)度與平臺(tái)無(wú)關(guān),這就解決了軟件從一個(gè)平臺(tái)移植到另一個(gè)平臺(tái)時(shí)給程序員帶來(lái)的諸多問(wèn)題。與此相反,C/C++ 整型數(shù)據(jù)的長(zhǎng)度是與平臺(tái)相關(guān)的,程序員需要針對(duì)不同平臺(tái)選擇合適的整型,這就可能導(dǎo)致在64位系統(tǒng)上穩(wěn)定運(yùn)行的程序在32位系統(tǒng)上發(fā)生整型溢出。
八進(jìn)制有一個(gè)前綴 0,例如 010 對(duì)應(yīng)十進(jìn)制中的 8;十六進(jìn)制有一個(gè)前綴 0x,例如 0xCAFE;從 Java 7 開(kāi)始,可以使用前綴 0b 來(lái)表示二進(jìn)制數(shù)據(jù),例如 0b1001 對(duì)應(yīng)十進(jìn)制中的 9。同樣從 Java 7 開(kāi)始,可以使用下劃線(xiàn)來(lái)分隔數(shù)字,類(lèi)似英文數(shù)字寫(xiě)法,例如 1_000_000 表示 1,000,000,也就是一百萬(wàn)。下劃線(xiàn)只是為了讓代碼更加易讀,編譯器會(huì)刪除這些下劃線(xiàn)。
另外,不像 C/C++,Java 不支持無(wú)符號(hào)類(lèi)型(unsigned)。
float 類(lèi)型有效數(shù)字最長(zhǎng)為 7 位,有效數(shù)字長(zhǎng)度包括了整數(shù)部分和小數(shù)部分。例如:
float x = 223 .56F;
float y = 100 .00f;
|
注意:每個(gè)float類(lèi)型后面都有一個(gè)標(biāo)志“F”或“f”,有這個(gè)標(biāo)志就代表是float類(lèi)型。
double 類(lèi)型有效數(shù)字最長(zhǎng)為 15 位。與 float 類(lèi)型一樣,double 后面也帶有標(biāo)志“D”或“d”。例如:
double x = 23 .45D;
double y = 422 .22d;
double z = 562.234 ;
|
注意:不帶任何標(biāo)志的浮點(diǎn)型數(shù)據(jù),系統(tǒng)默認(rèn)是 double 類(lèi)型。
大多數(shù)情況下都是用 double 類(lèi)型,float 的精度很難滿(mǎn)足需求。
不同數(shù)據(jù)類(lèi)型應(yīng)用舉例:
public class Demo {
public static void main(String[] args){
// 字符型
char webName1 = 'java' ;
char webName2 = '你' ;
char webName3 = '好' ;
System.out.println( "輸出的結(jié)果是:" + webName1 + webName2 + webName3);
// 整型
short x= 22 ; // 十進(jìn)制
int y= 022 ; // 八進(jìn)制
long z=0x22L; // 十六進(jìn)制
System.out.println( "轉(zhuǎn)化成十進(jìn)制:x = " + x + ", y = " + y + ", z = " + z);
// 浮點(diǎn)型
float m = 22 .45f;
double n = 10 ;
System.out.println( "計(jì)算乘積:" + m + " * " + n + "=" + m*n);
}
}
|
2015職稱(chēng)計(jì)算機(jī)考試書(shū)PowerPoint2007中 .. 定價(jià):¥45 優(yōu)惠價(jià):¥42 更多書(shū)籍 | |
2015年全國(guó)職稱(chēng)計(jì)算機(jī)考試教材(2007模 .. 定價(jià):¥225 優(yōu)惠價(jià):¥213 更多書(shū)籍 |