486.28K
Категория: ПрограммированиеПрограммирование

Операторы if/switch

1.

Курс «Программирование на Java» - Операторы if/switch

2.

Курс «Программирование на Java» - Операторы if/switch
Рассматриваемые вопросы
• Общий вид условных операторов(операторов управления)
• Вложенные условные операторы
• Конструкция if-else-if
• Тернарный оператор
• Оператор switch-case

3.

Курс «Программирование на Java» - Операторы if/switch
Общий вид условных операторов
Линейные алгоритмы позволяют решать очень ограниченный круг задач. Чаще встречаются ситуации, когда надо
выполнить различные действия в зависимости от условия. Для этого служит оператор if.
//условие
if (x % 2 == 0) {
// при истинном условии - оператор 1
System.out.println("Число четное!");
} else {
// при ложном условии - оператор 2
System.out.println("Число нечетное");
}
Если условие истинно - будет выполняться “оператор 1”,
если условие ложно - будет выполняться “оператор 2”

4.

Курс «Программирование на Java» - Операторы if/switch
Сокращенный вариант оператора if
Бывают ситуации, когда необходимо выполнить действие, если условие истинно, и не требуется действий, если
условие ложно.
Этом случае часть else {…} может отсутствовать и тогда оператор if примет вид:
//условие
if (x % 2 == 0) {
// при истинном условии
System.out.println(x);
}
Такой вариант называется сокращённым оператором if

5.

Курс «Программирование на Java» - Операторы if/switch
Условное выражение
В качестве условия в операторе if может использоваться любое выражение, имеющее результат логического
типа. Это может быть выражение с операторами сравнения или логическими операторами
//условие
if (a < b) {
// при истинном условии
x = b - a;
} else {
// при ложном условии
x = a - b;
}
В данном примере вычисляется модуль разности двух чисел a и b

6.

Курс «Программирование на Java» - Операторы if/switch
Условное выражение
Какое значение будет выведено на экран?
boolean y = false;
int x = 96;
if (x % 16 == 0) {
y = true;
} else {
y = false;
}
System.out.println(y);

7.

Курс «Программирование на Java» - Операторы if/switch
Вложенные операторы if
В операторе if в качестве оператора, выполняемого по условию, может использоваться другой оператор if. В
таком случае говорят о вложенных условных операторах.
// условие 1
if (x < 20) {
// условие 2
if (x > 10) {
//оператор 1
System.out.println("больше 10 и меньше 20");
} else {
//оператор 2
System.out.println("меньше 11");
}
} else {
//оператор 3
System.out.println("больше 19");
}

8.

Курс «Программирование на Java» - Операторы if/switch
Вложенные операторы if
Пример поиска максимального числа среди переменных a, b и c
if (a > b) {
if (a > c) {
System.out.println("максимальное число:" + a);
} else {
System.out.println("максимальное число:" + c);
}
} else {
if (b > c) {
System.out.println("максимальное число:" + b);
} else {
System.out.println("максимальное число:" + c);
}
}

9.

Курс «Программирование на Java» - Операторы if/switch
Конструкция if-else-if
Встречаются задачи, в которых следует сделать выбор между более чем двумя возможными вариантами. Тогда
применяется конструкция if else if
if (n == 1) {
System.out.println("Понедельник");
} else if (n == 2) {
System.out.println("Вторник");
} else if (n == 3) {
System.out.println("Среда");
} else if (n == 4) {
System.out.println("Четверг");
} else if (n == 5) {
System.out.println("Пятница");
} else if (n == 6) {
System.out.println("Суббота");
} else if (n == 7) {
System.out.println("Воскресенье");
} else {
System.out.println("Дня с таким номером не существует!");
}

10.

Курс «Программирование на Java» - Операторы if/switch
Пример №1
Чему равны X и Y при исполнении данного кода
int x = 5, y = 7;
if (x == 5) {
y = 9;
} else if (y == 9) {
x = 3;
}
System.out.println(x); // ???
System.out.println(y); // ???

11.

Курс «Программирование на Java» - Операторы if/switch
Пример №2
Чему равны X и Y при исполнении данного кода
int x = 5, y = 7;
if (x == 5) {
y = 9;
}
if (y == 9) {
x = 3;
}
System.out.println(x); // ???
System.out.println(y); // ???

12.

Курс «Программирование на Java» - Операторы if/switch
Тернарный оператор
Вместо оператора if-else часто используется тернарный оператор
выражение1 ? выражение2 : выражение3
Выражение1 обозначает любое выражение, вычисление которого дает логическое значение типа boolean
Если выражение1 равно true, то вычисляется выражение2, в другом случае - выражение3
x = n >= 0 ? n : -n;
y = n % 2 == 0 ? n / 2 : n;

13.

Курс «Программирование на Java» - Операторы if/switch
Оператор switch
В скобках switch должно стоять выражение, результат которого далее будет сравниваться. После case ставится
значение, и если результат выражения совпал с этим значением, выполняются операторы после двоеточия и до
break. Если ни одно из предложенных значений не совпало с результатом выражения, выполняются операторы
после default
//выражение
switch (x) {
case 1: //значение 1
// операторы
x = x * 5;
System.out.println();
case 2: //значение 2
// операторы
x = x * 13;
System.out.println();
default: //значение по умолчанию
// операторы
System.out.println();
}

14.

Курс «Программирование на Java» - Операторы if/switch
Оператор switch-case
Пример использования оператора для поиска дня недели
switch (n) {
case 1:
System.out.println("Понедельник"); break;
case 2:
System.out.println(“Вторник"); break;
case 3:
System.out.println(“Среда"); break;
case 4:
System.out.println(“Четверг"); break;
case 5:
System.out.println(“Пятница"); break;
case 6:
System.out.println(“Суббота"); break;
case 7:
System.out.println(“Воскресенье"); break;
default: //значение по умолчанию
System.out.println("Дня с таким номером не существует!");
}

15.

Курс «Программирование на Java» - Операторы if/switch
Оператор switch-case
Пример использования оператора для поиска дня недели в Java 17
switch (n) {
case 1 -> System.out.println("Понедельник");
case 2 -> System.out.println("Вторник");
case 3 -> System.out.println("Среда");
case 4 -> System.out.println("Четверг");
case 5 -> System.out.println("Пятница");
case 6 -> System.out.println("Суббота");
case 7 -> System.out.println("Воскресенье");
default -> System.out.println("Дня с таким номером не существует!");
}
English     Русский Правила