java random.nextInt(12*4+2)

v09wglhw  于 2023-05-27  发布在  Java
关注(0)|答案(2)|浏览(68)

所以我们再一次得到了我们应该使用的代码片段,而这一个我真的不明白:

int r = random.nextInt(12*4+2)

random.nextInt(50)random.nextInt(50)有区别吗?我有点困惑...

falq053o

falq053o1#

12 * 4 + 2是一个编译时可计算的 * 常量表达式 *。
它完全等同于50,但为了可读性,可能会采用前者。
random#nextInt(n)在[0,n)中绘制均匀分布的随机整数。

ggazkfy8

ggazkfy82#

来自random.nextInt()documentation
返回从随机数生成器的序列中提取的介于0(含)和指定值(不含)之间的伪随机、均匀分布的int值。
这两种表达方式没有区别

int r = random.nextInt(12*4+2)
random.nextInt(50)

自从

int r = random.nextInt(12*4+2)

将被评估为

int tmp = 12*4+2;
int r = random.nextInt(tmp);

相关问题