Skip to content

Учебник: программирование на Java

Бесплатное онлайн обучение программированию на языке Java

Menu
  • Учебник
  • Блог
  • Карта сайта
Menu

Вложенные if и многовариантные инструкции if-else

Posted on 12.07.2017 by Java 9

Ключевой момент: выражение if может быть внутри другого выражения if для формирования вложенных инструкций if.

Вложенная инструкция if

Инструкциями в выражении if или if-else могут быть любые правильные с точки зрения Java выражения, включая другие инструкции if или if-else. Внутреннюю инструкцию if называют вложенной внутрь внешней инструкции if. Внутренняя инструкция if может содержать другую инструкцию if; в действительности, нет никаких ограничений на глубину вложенности. Пример вложенной инструкции if:

if (i > k) {
	if (j > k)
		System.out.println("i и j больше k");
}
else
	System.out.println("i меньше или равна k");

Инструкция if (j > k) является вложенной внутри инструкции if (i > k).

Вложенные инструкции if могут использоваться для реализации нескольких альтернатив. На рисунке (a), например, показан код с множественными альтернативами, печатающий букву оценки в зависимости от набранных балов.

Выполнение этой инструкции if обрабатывается как показано на следующей картинке:

Начинается с тестирования первого условия (score >= 90.0). Если оно true, то оценка A. Если оно false, то тестируется (score >= 80.0). Если второе выражение true, то оценка B. Если это условие false, то тестируется третье и последующие условия (если необходимо) до тех пор, пока не встретиться подходящее условие или пока не будет подтверждено, что все условия false. Если все условия false, то оценкой является F. Обратите внимание, что условие тестируется только если все предыдущие условия являются false.

Инструкция if (a) на предыдущем рисунке является эквивалентом инструкции if на том же рисунке (b). В действительности для множественных альтернатив инструкций if, предпочтительной является стиль кода на рисунке (b). Этот стиль называется многовариантные инструкции if-else, избегайте слишком сильного смещения вправо и делайте программу простой для чтения.

Проверь себя:

  1. Допустим x = 3 и y = 2; покажите вывод, если он будет, следующего кода. Что будет выведено если x = 3 и y = 4? Что будет выведено если x = 2 и y = 2? Начертите блок-схему кода.
if (x > 2) {
	if (y > 2) {
		z = x + y;
		System.out.println("z is " + z);
	}
}
else
	System.out.println("x is " + x);
  1. Допустим x = 2 и y = 3. Покажите вывод, если он будет, следующего кода. Что будет выведено если x = 3 и y = 2? Что будет выведено если x = 3 и y = 3?
if (x > 2)
	if (y > 2) {
		int z = x + y;
		System.out.println("z is " + z);
	}
else
	System.out.println("x is " + x);
  1. Что не так со следующим кодом?
if (score >= 60.0)
	System.out.println("D");
else if (score >= 70.0)
	System.out.println("C");
else if (score >= 80.0)
	System.out.println("B");
else if (score >= 90.0)
	System.out.println("A");
else
	System.out.println("F");

Добавить комментарий Отменить ответ

Ваш адрес email не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo




Свежие записи

  • Как установить Java 10 (JDK 10, JRE 10) в Linux
  • Как установить Java 10 (JDK 10, JRE 10) в Windows
  • Почему в программах Java вместо круглых цифр появляются девятки (9999999999999)?
  • Как установить NetBeans 9 для разработки на JDK 9
  • Как установить Java 9 (JDK 9, JRE 9) в Windows

Свежие комментарии

  • м к записи Чтение ввода с консоли
  • Java 9 к записи Чтение ввода с консоли
  • Михаил к записи Чтение ввода с консоли
  • Михаил к записи Упражнения по программированию
  • Михаил к записи Упражнения по программированию

Архивы

  • Июнь 2018
  • Апрель 2018
  • Январь 2018
  • Декабрь 2017
  • Сентябрь 2017
  • Июль 2017
  • Июнь 2017
  • Май 2017




© 2023 Учебник: программирование на Java | Powered by Minimalist Blog WordPress Theme