我有以下循环:
for (byte i = 0 ; i < 128; i++) {
System.out.println(i + 1 + " " + name);
}
当我执行我的程序时,它会在无限循环中打印从 -128 到 127 的所有数字。为什么会这样?
最佳答案
byte 是 1 字节类型,因此可以在 -128...127 之间变化,因此条件 i < 128 始终为真。当您将 1 添加到 127 时,它会溢出并在(无限)循环中变为 -128 等等......
关于java - 意外的无限字节循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3975826/