Почему я = я + я даю 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?

Если кто-то может указать мне на мелкие детали этого, это было бы здорово.

Изменитьint вlong и, кажется, печатать цифры, как и ожидалось. Я удивлен тем, как быстро он достигает максимального 32-битного значения!

Ответы на вопрос(10)

Ваш ответ на вопрос