Область видимости Java и время жизни переменной

Я написал следующую программу для отображения всех простых чисел от 2 до 50 (включительно). Программа работала как задумано, но когда я пересмотрел код, я удивился, почему он не потерпел неудачу.if Заявление может изменить значениеisprime переменная. Тем не менее, не забыто ли это изменение внутреннеfor кодовый блок {} оставлен? Это будет означать, чтоisprime останетсяtrue и все цифры будут отображаться.

class Prime {
    public static void main (String args []) {

    int a, b;
    boolean isprime;

    for (a = 2; a < 51; a++) {

        isprime = true;

        for (b = a-1; b > 1; b--) {

            if (a % b == 0) isprime = false;
        }

        if (isprime) System.out.println(a);
    }
}
}

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

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