跳转至

整数类型#

本节前置知识

二进制、十六进制

\([a,b] \Leftrightarrow a \le x \le b\)

整数有5种类型,我们先认识其中4种。

int是普通的32位整数类型,意味着其取值范围是\([-2147483648,2147483647]\)

在 JShell 中输入超出上述范围的整数时会提示整数过大,这时我们就要用长整数。

long是64位整数,取值范围与int相比扩大到\([-9223372036854775808,9223372036854775807]\)

对于long,需要在数字后面添加Ll后缀,否则 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]\)

上面两种类型都不能直接用字面量表示,需要显式转换。