为什么 i = i + i 给我 0?
我有一个简单的程序:
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
这是因为一旦我们尝试在左侧重新声明,其值就会重置为 ?i
0
如果有人能向我指出这个细节的细节,那就太好了。
将 更改为,它似乎正在按预期打印数字。我对它达到最大32位值的速度感到惊讶!int
long