【发布时间】:2017-05-15 20:15:47
【问题描述】:
我目前正在学习 java 浮点数。我知道,浮点数具有特定数量的重要数字。我也知道,浮点数在 java 中表示为 -1 或 1 * num * 10^x。其中 num 是数字,10^x 是小数点“点”。但是这里我们没有数字的一小部分。这里怎么可能出现无限循环?
无限循环的代码:
float f = 123456789;
while (f-- > 0) {
System.out.println(f);
}
【问题讨论】:
-
你确定循环是无限的吗? f 变为 0 后会发生什么?
-
f 保持不变并且没有递减。这是一个无限循环。这是去年大学的一道考试题(示例考试)。
-
f 不够精确,无法表示这个数字 (f--) 是解决方案,但为什么呢?
标签: java while-loop infinite-loop