最佳答案
我有个简单的计划:
public class Mathz {
static int i = 1;
public static void main(String[] args) {
while (true){
i = i + i;
System.out.println(i);
}
}
}
当我运行这个程序时,我在输出中看到的只是 i
的 0
。我本以为第一轮我们会有 i = 1 + 1
,接着是 i = 2 + 2
,接着是 i = 4 + 4
等等。
这是否是因为一旦我们尝试在左侧重新声明 i
,它的值就会被重置为 0
?
如果有人能告诉我更详细的细节,那就太好了。
将 int
改为 long
,它似乎正在按预期打印数字。我很惊讶它达到最大32位值的速度!