Oracle java 文档说
所有2 32 个可能的 int 值都是以(大约)相等的概率产生的。
这是否意味着生成的值范围从-(2 32 )到2 32,或者这意味着-(2 16 )到2 16?
这意味着从 -2 31 ( java.lang.Integer.MIN_VALUE
) 到 2 31 -1 ( java.lang.Integer.MAX_VALUE
)。请参阅Javadocjava.lang.Integer
或§4.2.1 "Integral Types and Values" of The Java Language Specification , Java SE 7 Edition。
正如文档所说, nextInt() 返回一个 int 并且在 java int 中是一个 32 位整数。所以它会在那个范围内。