这个Java表达式意味着什么?

时间:2012-11-26 05:16:14

标签: java operators

我时间紧迫,以为我会在这里发布我的查询。我是Java的新手,这应该是非常基础的,但我无法从谷歌那里得到任何答案。

下面的第二行是什么意思?

double mutatePercent = 0.01;
boolean m1 = rand.nextFloat() <= mutatePercent;

我认为&lt; =意味着小于或等于,但在上述用法中似乎并非如此。 m1的价值是如何决定的?

谢谢!

3 个答案:

答案 0 :(得分:4)

该行

boolean m1 = rand.nextFloat() <= mutatePercent;

的格式为

boolean m1 = <some boolean value>

rand.nextFloat() <= mutatePercent;

会产生一个布尔值,因此比较rand.nextFloat() <= mutatePercent的结果会分配给boolean变量m1

答案 1 :(得分:0)

  

我认为&lt; =意味着小于或等于

确实如此。

  

但在上述用法中似乎并非如此。

为什么不呢?


boolean m1 = rand.nextFloat() <= mutatePercent;

将条件“此随机浮点数是否小于或等于0.01?”的值分配给变量m1。因此,如果随机生成的数字小于或等于m1,则0.01为真。

答案 2 :(得分:0)

这正是它的含义。第二行执行“小于或等于”测试并分配结果 - 即。 true或false - 布尔变量m1