Зміст курсу
Основи Java
Основи Java
Switch-case оператор
Handling Multiple Different Conditions
When we have many conditions to check, using multiple if-else
chains may not be convenient.
For example:
Main
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `if` statement int a = 30; if (a == 10) { System.out.println(10); } else if (a == 20) { System.out.println(20); } else if (a == 30) { System.out.println(30); } else if (a == 40) { System.out.println(40); } else { System.out.println(a); } } }
Обробка декількох різних умов
Коли нам потрібно перевірити багато умов, використання великого ланцюжка if-else
може бути незручним.
Наприклад:
Main
package com.example; public class Main { public static void main(String[] args) { //you can change the value of variable "a" to test the if statement int a = 30; if (a == 10) { System.out.println(10); } else if (a == 20) { System.out.println(20); } else if (a == 30) { System.out.println(30); } else if (a == 40) { System.out.println(40); } else { System.out.println(a); } } }
Ми бачимо, що це не виглядає чисто і професійно. Для таких випадків у Java передбачено інструкцію switch-case.
Switch - Case Statement
Оператор switch-case
складається з декількох частин:
The Keyword "break;"
We use this keyword to terminate the execution of a switch-case
statement and exit its body. This word is often used in loops, which we will discuss in the following chapters. Use this keyword when you need to break out of a code block and stop its execution.
У коді вище ти можеш побачити, що ми використовуємо блоки case
для вибіркового виконання операцій. Ми покладаємося на expression, який дещо відрізняється від condition. Тут ми вставляємо значення або вираз. Наприклад, 10 / 2
. У цьому випадку буде виконано блок case
з сигнатурою case 5
, тому що вираз вище дорівнює 5.
Ми також можемо використовувати умову. У цьому випадку нам потрібно записати булевий вираз у блоці виразів, і він повинен виглядати приблизно так: 10 / 2 == 5
. Потім треба написати два випадки:
Але ця структура буде майже не відрізнятися від звичайного if-else
.
Main
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `switch` statement int a = 30; switch (a) { case 10: System.out.println(10); break; case 20: System.out.println(20); break; case 30: System.out.println(30); break; case 40: System.out.println(40); break; default: System.out.println("There is no matching value"); } } }
Тепер давайте покращимо код, який ми написали вище, використовуючи конструцію switch-case
:
Let's look at the switch-case block scheme:
Розглянемо блок-схему switch-case
:
Main
package com.example; public class Main { public static void main(String[] args) { // You can change the value of the variable `a` to test the `switch` statement int a = 10; switch (a) { case 10: System.out.println(10); case 20: System.out.println(20); case 30: System.out.println(30); case 40: System.out.println(40); default: System.out.println("There is no matching value"); } } }
Як бачимо, випадків може бути скільки завгодно. Для кожного випадку потрібна своя умова та код, який буде виконуватися, коли наша програма увійде в блок case
.
Бажано використовувати ключове слово break;
, тому що програма не вийде з блоку switch
, поки не будуть виконані всі блоки case
. Блок default буде виконано, якщо ми не ввели жодного з наших case-блоків або не використали ключове слово break;
.
Давайте розглянемо інший приклад без ключових слів break;
:
1. What will be output to the console?
2. Why do we need the break
keyword?
Дякуємо за ваш відгук!