我有一个简单的程序:
public class Mathz {
static int i = 1;
public static void main(String[] args) {
while (true){
i = i + i;
System.out.println(i);
}
}
}
Run Code Online (Sandbox Code Playgroud)
当我运行这个程序,我看到的是0对i我的输出.我原本预计会有第一次i = 1 + 1,然后是i = 2 + 2,然后是i = 4 + 4等等.
这是因为我们一旦尝试i在左侧重新声明,它的值会重置为0?
如果有人能指出我更精细的细节,这将是伟大的.
更改int为long,似乎是按预期打印数字.我惊讶于它达到最大32位值的速度有多快!