1、Java字面量(Java直接量)
int i=1;把整數1賦值給int型變量i,整數1就是Java字面量,
同樣,String s="abc";中的abc也是字面量。
舉例:
錯誤的字面量
比int的最大值還要大1的直接量2147483648是錯誤的,因為超過int表示的范圍,應該使用2147483648L表示。
比long的最大值大1的直接量9223372036854775808L是錯誤的,因為超過long表示的范圍,應該使用BigInteger類來表示:BigInteger b=new BigInteger("9223372036854775808");
下面四個字面量是錯誤的:
一個單引號:'''
一個反斜杠:''
帶有"引號的字符串:"abc"xyz"
帶有反斜杠的字符串:"abcxyz"
正確的寫法是轉義:
'''
''
"abc"xyz"
"abcxyz"
說明
整數直接量的四種表示:十進制、二進制(JDK7支持)、八進制、十六進制。
八進制:以數字0開頭的整數,如012,表示十進制的10;
十六進制:以數字0和字母X(或x)組合開頭的整數,如0x12,表示十進制的18。
二進制:以數字0和字母B(或b)組合開頭的整數,如0b11,表示十進制的3;
Java中,數字前多余的0,會自動去掉。如00.1表示0.1,0012表示八進制012。
Java中,小數可省略0.部分或.0部分,如.3表示0.3,3.表示3.0。
對于數字直接量,需要根據直接量類型以及各類型的取值范圍來規(guī)范賦值,不能將高取值范圍的直接量賦值給低取值范圍的類型,如:
筆者認為還有一種字面量,叫數組字面量,如{元素1,...,元素N},它只能賦給數組。
JDK1.7新增特性
二進制表示數字:以數字0和字母B(或b)組合開頭的整數;
下劃線分割符:int one_million=1_000_000;
以上就是北大青鳥長沙麓谷校區(qū)java培訓機構的小編針對“Java直接量和字面量和符號引用”的內容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務。