提问人:TorusWithSprinkles 提问时间:10/13/2021 更新时间:11/18/2023 访问量:146
无限循环 Vs.溢出的循环?
Infinite loop Vs. A loop that overflows?
问:
我正在学习 Java 中的有符号类型与无符号类型,遇到了一个让我感到困惑的棘手示例问题:
Is the following code an infinite loop? Why or why not?
for(long x = 0; x != -1; x++) {
System.out.println("Hello world!)";
}
乍一看,它显然是无限的,但是由于 long 是一种有符号类型,我认为它会溢出并最终达到 -1 是否正确?然后循环会结束吗?
问题是我无法真正测试它,因为它太大了。
答:
0赞
Kovalex
11/18/2023
#1
看起来您的测试是用 Java 编写的。 如果是,那么很好的讨论就在这里:Java 如何处理整数下溢和溢出,您将如何检查它?
评论
x
Long.MAX_VALUE - 10