私は簡単なプログラムを持っています:
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
です。
誰かが私にこれのより細かい詳細を指摘できるとしたら、それは素晴らしいことです。
をに変更するint
とlong
、期待どおりに数値が出力されているようです。それが32ビットの最大値にどれだけ速く到達するかに驚いています!