我有一个简单的程序:
public class Mathz {
static int i = 1;
public static void main(String[] args) {
while (true){
i = i + i;
System.out.println(i);
}
}
}
当我运行该程序时,我看到的只是0
用于i
输出。我原本希望我们会遇到第一轮i = 1 + 1
,然后是i = 2 + 2
,然后是i = 4 + 4
etc。
这是由于这样的事实,我们尝试i
在左侧重新声明时,其值会重置为0
?
如果有人可以指出我的详细情况,那将很棒。
更改int
为long
,似乎正在按预期方式打印数字。我对它达到最大32位值的速度感到惊讶!