整數(shù)字面量
八進(jìn)制數(shù) (octal, 基數(shù)是8):在值前面加一個(gè)前導(dǎo)0來表示,如04。
十六進(jìn)制 (hexadecimal, 基數(shù)是16) :在值前面加一個(gè)前導(dǎo)的0x或0X表示。相較于八進(jìn)制,程序員對(duì)數(shù)字更常用的是十六進(jìn)制,它清楚地與8的大小相匹配,如8,16,32,和64位。
將一個(gè)整數(shù)字面量(特別強(qiáng)調(diào),是字面量)賦給byte和short,如果字面量的值沒有超過對(duì)應(yīng)類型的范圍就不會(huì)產(chǎn)生錯(cuò)誤。如,
byte b = 4;
//byte b2 =128; //提示類型不匹配
short s = 5;
//short s2 = 32768; //提示類型不匹配
其中對(duì)b和s的賦值是正確的,對(duì)b2和s2的賦值會(huì)報(bào)錯(cuò),提示“類型不匹配”。
但是,如果想指定一個(gè)long字面量,你需要明白地告訴編譯器字面量的值是long型(或在字面量的后面加一個(gè)大寫或小寫的L)。
如,
//long j = 2147483648; //提示 2147483648 超出范圍
long j2 = 2147483649L;
對(duì)j的賦值,eclipse會(huì)提示“The literal 2147483648 of type is out of range”,而對(duì)j2 的賦值就是正確的。
浮點(diǎn)型字面量
科學(xué)記數(shù)法(Scientific notation)是浮點(diǎn)數(shù)加一表明乘以10的指定冪次的后綴,指數(shù)是緊跟E或 e 的一個(gè)十進(jìn)制的數(shù)字,它可以是正值或是負(fù)值。例子如6.022E23,314159E-05,及2e+100。
一個(gè)浮點(diǎn)數(shù),不管實(shí)際數(shù)值有多大,都會(huì)被當(dāng)作是double類型。為了指明一個(gè)浮點(diǎn)字面量,你必須在字面量后面加F或f。 也就是說字面量在float的表示范圍內(nèi),如果要賦值給float型變量,也是需要強(qiáng)制類型轉(zhuǎn)換的。如,
//float f = 1.2; //會(huì)提示“類型不匹配”。
浮點(diǎn)運(yùn)算是有誤差的。如System.out.println(1.2-1.1);,輸出的結(jié)果是“0.09999999999999987”,而不是“0.1”。
布爾型字面量
布爾型字面量?jī)H僅有2個(gè)邏輯值,真或假。真值或假值不能用任何數(shù)字表示。如,
//boolean bo = 1; //會(huì)提示“類型不匹配”。
字符字面量
通過將字符包括在單引號(hào)之內(nèi)來表示字符字面量。
對(duì)于那些不能直接被包括的字符,有若干轉(zhuǎn)義序列,這樣允許你輸入你需要的字符。
| 轉(zhuǎn)義序列 | 說明 |
|---|---|
| \ddd | 八進(jìn)制字符(ddd) |
| \uxxxx | 十六進(jìn)制Unicode碼字符 |
| ' | 單引號(hào) |
| " | 雙引號(hào) |
| \ | 反斜杠 |
| \r | 回車鍵 |
| \n | 換行 |
| \f | 換頁(yè) |
| \t | 水平制表符 |
| \b | 退格 |
對(duì)于 “\b”,表示回退一格,但是并不是刪除一個(gè)字符。如,
System.out.println("123\b456");
System.out.println("123\b");
第一行,輸出的結(jié)果為“12456”,因?yàn)椤癨b”試程序在輸出123后回退一格,再?gòu)脑撐恢幂敵?56,也就是4把3覆蓋了。第二行輸出的結(jié)果為“123”,因?yàn)殡m然同樣回退了一格,但是沒有繼續(xù)輸入,也就不會(huì)覆蓋3。
對(duì)于“\t”,不是輸出多少個(gè)空格這樣,而是推到下一個(gè)固定位置,如,
System.out.println("123\t456");
System.out.println("12\t456");
System.out.println("1\t456");
運(yùn)行結(jié)果:
123 456
12 456
1 456
對(duì)于“\r”,以前是打字機(jī)上面的回車(即把打字機(jī)的“車”從左側(cè)返回到右側(cè)固定位置),現(xiàn)在電腦上一般和“\n”換行一樣。
字符串字面量
Java中的字符串字面量是將一系列字符用雙引號(hào)括起來。
在Java中,字符串實(shí)際上是對(duì)象類型,有廣泛的字符串處理能力,而且功能既強(qiáng)又好用。