Java 编程规范 词法结构之整数
整数可以表示成十进制(基数为10),十六进制(基数为16),或八进制(基数为8)
?
IntegerLiteral(Integer字面值)
?
DecimalIntegerLiteral 十进制
HexIntegerLiteral 十六进制
OctalIntegerLiteral 八进制
?
如果是Long可以在数字后边加上l, L(建议用大写以便和1区分开)
?
十进制数字可以是单个ASCII字符0,表示整数0;或者包含一个1-9之间的ASCII数字,可以选择在后街一个或多个0-9之间的ASCII数字,表示一个整数:
DecimalNumeral:
????? 0
????? NonZeroDigit Digits/opt
?
Digits:
????? Digit
????? Digits Digit
?
Digit:
????? 0
????? NonZeroDigit
?
NonZeroDigit: one of
????? 1????? 2????? 3????? 4????? 5????? 6????? 7????? 8????? 9
?
十六进制数字包含前导ASCII字符0X,或者在0X后面接有一个或多个ASCII十六进制数字,可以表示正整数,0或负整数。值为10-15的十六进制数字分别用ASCII字母a-f或A-F表示:用作十六进制数字的每个字母可以为大写或小写形式。
HexDigit: one of
0????? 1????? 2????? 3????? 4????? 5????? 6????? 7????? 8????? 9????? a????? b????? c????? d????? e????? f????? A????? B????? C????? D????? E????? F
?
八进制数字包含一个ASCII数字0,后接一个或多个0-7之间的ASCII数字,可以表示正整数,0或负整数。
0????? 1????? 2????? 3????? 4????? 5????? 6????? 7
?
注意:八进制数字包含两个或者多个数字;0总是被看做是十进制数字-实际上,数字0,00和0x0都表示完全相同的整数值。
?
int十进制取值范围是 2的-31次方(-2147483648) 到 2的31次方-1(2147483647),2147483648只能作为一元“非”运算符“-”的操作数出现。
?
int类型最大的正十六进制值和八进制值分别是0x7fffffff 和 017777777777,2的31次方-1(2147483647)
int类型最小的正十六进制值和八进制值分别是0x80000000 和 020000000000,他们都等于2的-31次方(-2147483648)?
?
变量初始值:
类型默认值值byte0(byte) 0short0(short) 0int00long00Lfloat00.0fdouble00.0dchar空字符(' ')'\u0000'booleanfalsefalse所有引用类型nullnull?