整数类型#
本节前置知识
二进制、十六进制
\([a,b] \Leftrightarrow a \le x \le b\)
整数有5种类型,我们先认识其中4种。
int
是普通的32位整数类型,意味着其取值范围是\([-2147483648,2147483647]\)。
在 JShell 中输入超出上述范围的整数时会提示整数过大,这时我们就要用长整数。
long
是64位整数,取值范围与int
相比扩大到\([-9223372036854775808,9223372036854775807]\)。
对于long
,需要在数字后面添加L
或l
后缀,否则 Java 会认为其为int
。我们一般用L
后缀避免与数字1
混淆。
除了我们熟悉的十进制数字(字面量),我们也可以用二进制、八进制或十六进制来表示。
jshell> 0b1110
$1 ==> 14
jshell> 0123
$2 ==> 83
jshell> 0xABC
$3 ==> 2748
对于很长的数字,其中间可用下划线(_
)分隔开从而提升可读性。
短整数#
比int
取值范围更小的整数类型有2种。
short
是16位整数,取值范围为\([−32768,32767]\)。
byte
是8位整数,取值范围为\([-128,127]\)。
上面两种类型都不能直接用字面量表示,需要显式转换。