在Java SE 7中新增了以二進制形式的字面值表示方式,你可以像使用十進制一樣,方便地使用二進制形式的字面值來表示數值。
例如:
// 一個8位的byte值:byte aByte = 0b100001;// 一個16位的short值:short aShort = 0b1010010100101;// 一個32位的int值:int anInt1 = 0b101000010100010110100101000101;// 一個64位的long值(注意末尾的后綴「L」)long aLong = 0b101000010L;// 二進制字面值以0b或0B開頭,不區分大小寫int anInt2 = 0B101;
在Java SE 7中,還支持以下劃線作為分隔符聯接的數值表示方式:
//十進制形式int anInt1 = 123_45_6;//二進制、十六進制等形式也支持int anInt2 = 0b10_0110_100;int anInt3 = 0xFF_EC_DE_5E;//小數形式也支持float pi = 3.14_15F;double aDouble = 3.14_15;//多個下劃線相連int chain = 5______2____0;
不過以下幾種書寫形式是錯誤的:
//下劃線不能放在最后int x = 52_; //錯誤//下劃線不能鄰近小數點(鄰近小數點前后都不行)float pi1 = 3_.1415F; // 錯誤float pi2 = 3._1415F; //錯誤//下劃線不能緊放在后綴「L」或「F」的前面float pi3 = 3.1415_F; //錯誤long aLong1 = 999_99_9999_L;//錯誤//下劃線不能放在表示進制的前綴字符之間int x5 = 0_x52; //錯誤
此外,還要注意下面這種,將下劃線放在最前面的情況:
int _52 = 120; //在Java中,變量名稱不能以數字開頭,但可以下劃線開頭int x = _52; //所以,這里的_52并不是一個數字的字面值形式,而是一個變量標識符(變量名)
新聞熱點
疑難解答