Условные конструкции

Последнее обновление: 31.10.2018
Вопрос 1

Что будет выведено на консоль в результате выполнения следующей программы и почему:

public class Program {
  
    public static void main(String[] args) {
          
        int a = 5;
        if (a <= 0) if (a == 5) a++; else a--;
        System.out.println(a);
	}
}

Поскольку условие a <= 0 неверно, то вложенная конструкция if...else не будет выполняться, соответственно переменная a сохранит свое начальное значение - число 5.

Вопрос 2

Что будет выведено на консоль в результате выполнения следующей программы и почему:

public class Program {
  
    public static void main(String[] args) {
          
        int a = 5;
        switch(a){
            case 4:
                a++;
            case 5:
                a++;
            case 6:
            case 7:
            case 8:
                a++;
                break;
            case 9:
                a++;
                break;
            default:
                a++;
        }
        System.out.println(a);
	}
}

Поскольку переменная a равна 5, то вначале будет выполняться блок

case 5:
	a++;

Переменная станет равна 6. Этот блок не содержит оператора break, поэтому далее будет выполняться блок:

case 6:
case 7:
case 8:
	a++;
	break;

Переменная станет равна 7, и оператор break произведет выход из конструкции switch...case.

Дополнительные материалы
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850