在Java中,一共有8種基本類型,其中有4種整形,2種浮點(diǎn)類型,1種字符類型char(用于表示Unicode編碼的代碼單元)和一種表示真值bloolean類型。
1、整形
整形用于表示沒(méi)有小數(shù)部分的數(shù)值,允許是負(fù)數(shù)。Java提供了4種整形。
在通常情況下,int 類型最常用。但如果想要表示整個(gè)地球的居住人口,就需要使用long類型了。byte和short類型主要用于特定的應(yīng)用場(chǎng)合,例如,底層的文件處理或者存儲(chǔ)空間很寶貴時(shí)的大數(shù)組。
長(zhǎng)整型數(shù)值有一個(gè)后綴L或l (如40000000)。十六進(jìn)制數(shù)值有一個(gè)前綴x或0X (如0xCAFE)。八進(jìn)制有一一個(gè)前綴0,例如,010對(duì)應(yīng)十進(jìn)制中的8。很顯然,八進(jìn)制表示法比較容易混淆,所以建議最好不要使用八進(jìn)制常數(shù)。
從Java 7開(kāi)始,加上前綴0b或OB就可以寫二進(jìn)制數(shù)。例如,0b1001 就是9。另外,同樣是從Java 7開(kāi)始,還可以為數(shù)字字面量加下劃線,如用1 000 000 (或01111 0100 0010 0100 0000 )表示100萬(wàn)。這些下劃線只是為了讓人更易讀。Java 編譯器會(huì)去除這些下劃線。
2、浮點(diǎn)類型
浮點(diǎn)類型用于表示有小數(shù)部分的數(shù)值,在Java中有2種浮點(diǎn)類型。
double表示這種類型的數(shù)值精度是float類型的兩倍(有人稱之為雙精度數(shù)值)。在很多情況下,float 類型的精度(6~ 7位有效數(shù)字)并不能滿足需求。實(shí)際上,只有很少的情況適合使用float類型,例如,需要單精度數(shù)的庫(kù),或者需要存儲(chǔ)大量數(shù)據(jù)時(shí)。
float類型的數(shù)值有-一個(gè)后綴F或f (例如,3.14F)。 沒(méi)有后綴F的浮點(diǎn)數(shù)值(如3.14)總是默認(rèn)為double 類型。當(dāng)然,也可以在浮點(diǎn)數(shù)值后面添加后綴D或d (例如,3.14D)。
所有的浮點(diǎn)數(shù)值計(jì)算都遵循IEEE 754規(guī)范。具體來(lái)說(shuō),下 面是用于表示溢出和出錯(cuò)情況 的三個(gè)特殊的浮點(diǎn)數(shù)值:
-
正無(wú)窮大
-
負(fù)無(wú)窮大
-
NaN (不是-一個(gè)數(shù)字)
例如,一個(gè)正整數(shù)除以0的結(jié)果為正無(wú)窮大。計(jì)算0/0或者負(fù)數(shù)的平方根結(jié)果為NaN。
注釋: 常量Double.POSITIVE INFINITY、Double.NEGATIVE INFINITY和Double.NaN (以及相應(yīng)的Float類型的常量)分別表示這三個(gè)特殊的值,但在實(shí)際應(yīng)用中很少遇到。
警告:浮點(diǎn)數(shù)值不適用于無(wú)法接受舍入誤差的金融計(jì)算。例如,命令System. out .println(2.0-1.1)將打印出0.999999999999,而不是人們期望的0.9。這種舍入誤差的主要原因是浮點(diǎn)數(shù)值采用二進(jìn)制系統(tǒng)表示,而在二進(jìn)制系統(tǒng)中無(wú)法精確地表示分?jǐn)?shù)1/10。這就好像十進(jìn)制無(wú)法精確地表示分?jǐn)?shù)1/3一樣。如果在數(shù)值計(jì)算中不允許有任何舍入誤!差,就應(yīng)該使用BigDecimal類。
3、char類型
char類型原本用于表示單個(gè)字符。不過(guò),現(xiàn)在情況已經(jīng)有所變化。如今,有些Unicode字符可以用一個(gè)char值描述,另外一些Unicode字符則需要兩個(gè)char 值。
char類型的字面量值要用單引號(hào)括起來(lái)。例如: 'A' 是編碼值為65的字符常量。它與"A"不同,"A" 是包含-一個(gè)字符A的字符串。char類型的值可以表示為十六進(jìn)制值,其范圍從\u0000到\uFFFF。例如,\u2122
表示商標(biāo)符號(hào)(TM)
,\u03C0
表示希臘字母π
。
除了轉(zhuǎn)義序列\(zhòng)u之外,還有一些用于表示特殊字符的轉(zhuǎn)義序列,請(qǐng)參看表3-3。所有這些轉(zhuǎn)義序列都可以出現(xiàn)在加引號(hào)的字符字面量或字符串中。例如,'\u2122' 或"Hello\n"。 轉(zhuǎn)義 序列\(zhòng)u還可以出現(xiàn)在加引號(hào)的字符常量或字符串之外(而其他所有轉(zhuǎn)義序列不可以)。例如:
public static void main(String\u005B\u005D args)
就完全符合語(yǔ)法規(guī)則,\u005B 和\u005D分別是[
和]
的編碼。
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-679696.html
4、boolean類型
boolean (布爾)類型有兩個(gè)值: false 和true,用來(lái)判定邏輯條件。整型值和布爾值之間不能進(jìn)行相互轉(zhuǎn)換。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-679696.html
到了這里,關(guān)于Java--基本數(shù)據(jù)類型的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!