Nested If - Else
Часть раздела Основы путешествия по Java на Coddy — урок 32 из 73.
Мы можем вкладывать if-else if-else операторы друг в друга. Это позволяет создавать иерархические структуры принятия решений.
Имейте в виду, что глубоко вложенные
if операторы могут сделать код труднее для чтения и поддержки.Например:
if (age > 18) {
if (hasLicense) {
System.out.println("You can drive");
} else {
System.out.println("Get a license first");
}
} else {
System.out.println("Too young to drive");
}
Его можно бесконечно вкладывать:
if (condition1) {
if (condition2) {
if (condition3) {
// runs only when condition1, condition2 and condition3 are all true
...
}
}
}Задание
НовичокСоздайте программу, которая проверяет, может ли кто-то кататься на американских горках. Требования следующие:
- Должно быть не менее 12 лет
- Должен быть выше 150 см
- Если соответствуют обоим требованиям, но младше 15 лет, требуется сопровождение взрослого
Выводите точно эти сообщения для каждого случая:
- Если слишком молод:
Sorry, you're too young - Если недостаточно высокий:
Sorry, you're not tall enough - Если младше 15 и нет взрослого:
Sorry, you need an adult with you - Если младше 15 с взрослым:
You can ride with adult supervision! - Если 15 или старше и достаточно высокий:
You can ride by yourself!
Шпаргалка
Вы можете вкладывать if-else if-else операторы друг в друга для создания иерархических структур принятия решений:
if (age > 18) {
if (hasLicense) {
System.out.println("You can drive");
} else {
System.out.println("Get a license first");
}
} else {
System.out.println("Too young to drive");
}
Вложение может быть выполнено бесконечно:
if (condition1) {
if (condition2) {
if (condition3) {
// if condition1, condition2 and condition3 are true
...
}
}
}Примечание: Глубоко вложенные операторы if могут сделать код сложнее для чтения и сопровождения.
Попробуйте сами
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int age = scanner.nextInt(); // Не изменяйте эту строку
int height = scanner.nextInt(); // Не изменяйте эту строку
boolean hasAdult = scanner.nextBoolean(); // Не изменяйте эту строку
// Напишите свой код ниже
scanner.close();
}
}В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Основы
4Operators Part 1
Arithmetic OperatorsModulo OperatorIncrement/DecrementPost Increment/DecrementArithmetic ShortcutsComparison OperatorsString Comparison5Operators Part 2
Logical Operators Part 1Logical Operators Part 2Recap - Simple LogicLogical Operators Part 3Logical Operators Part 43Variables Part 2
ConstantsNaming ConventionsRecap - Initialize VariablesType Casting Part 1Type Casting Part 26Decision Making
If StatementIf - ElseSwitch StatementTernary OperatorRecap - If ElseNested If - Else