所以我们再一次得到了我们应该使用的代码片段,而这一个我真的不明白:
int r = random.nextInt(12*4+2)
random.nextInt(50)和random.nextInt(50)有区别吗?我有点困惑...
random.nextInt(50)
falq053o1#
12 * 4 + 2是一个编译时可计算的 * 常量表达式 *。它完全等同于50,但为了可读性,可能会采用前者。random#nextInt(n)在[0,n)中绘制均匀分布的随机整数。
12 * 4 + 2
50
random#nextInt(n)
ggazkfy82#
来自random.nextInt()的documentation返回从随机数生成器的序列中提取的介于0(含)和指定值(不含)之间的伪随机、均匀分布的int值。这两种表达方式没有区别
random.nextInt()
int r = random.nextInt(12*4+2) random.nextInt(50)
自从
将被评估为
int tmp = 12*4+2; int r = random.nextInt(tmp);
2条答案
按热度按时间falq053o1#
12 * 4 + 2
是一个编译时可计算的 * 常量表达式 *。它完全等同于
50
,但为了可读性,可能会采用前者。random#nextInt(n)
在[0,n)中绘制均匀分布的随机整数。ggazkfy82#
来自
random.nextInt()
的documentation返回从随机数生成器的序列中提取的介于0(含)和指定值(不含)之间的伪随机、均匀分布的int值。
这两种表达方式没有区别
自从
将被评估为