这是来自大型Java程序的一行,它编译时没有错误。我无法理解如何在赋值语句的右侧使用< =运算符:
converged = measure.distance(centroid.getLengthSquared(), centroid, getCenter()) <= convergenceDelta;
这是一些不起眼的Java功能吗?
答案 0 :(得分:6)
不,不是。
您将看到converged
类型为boolean
。
这与说
完全一样boolean foo = 2 <= 3;
因此,可能在您的代码measure.distance(centroid.getLengthSquared(), centroid, getCenter())
中返回一个数字,然后使用关系<=
运算符进行比较
与convergenceDelta;
。结果将是true
或false
,这是一个布尔值
保存在converged
。
答案 1 :(得分:1)
完全没有。 <=
和其他关系运算符返回布尔值。如果converged
是布尔变量,则可以将该值赋给它。
答案 2 :(得分:0)
设置收敛于距离小于或等于变量converDelta上的值的真值陈述。
答案 3 :(得分:0)
&lt; =与其他任何人一样是二元运算符。如果LHS <= RHS则值为true,否则为false。
因此,在这种情况下,如果距离小于收敛增量,则认为它已收敛。