Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Вивчайте Оператор Switch-Case | Базові Типи Та Операції
Основи Java
course content

Зміст курсу

Основи Java

Основи Java

1. Початок Роботи
2. Базові Типи Та Операції
3. Цикли
4. Масиви
5. Рядок

book
Оператор Switch-Case

Обробка кількох різних умов

Коли потрібно перевірити багато умов, використання численних ланцюжків if-else може бути незручним.

Наприклад:

java

Main

copy
12345678910111213141516171819
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); } } }

Видно, що такий підхід виглядає неохайно та непрофесійно. Для подібних випадків у Java передбачено оператор switch-case.

Оператор switch-case

Оператор switch-case складається з кількох частин:

java

Main

copy
123456789
switch (expression) { case value_1: // Code to be executed if expression matches `value_1` break; // Break is used to exit the `switch` statement. case value_2: // Code to be executed if expression matches `value_2` break; // Break is used to exit the `switch` statement. ............ default: // Code to be executed if no cases match // Optional, but executed if no other case matches }

У наведеному вище коді видно, що ми використовуємо блоки switch для вибіркового виконання операцій. Ми спираємося на вираз, який дещо відрізняється від умови. Тут ми вставляємо значення або вираз. Наприклад, 10 / 2. У цьому випадку буде виконано блок case з підписом case 5, оскільки наведений вираз дорівнює 5.

Ми також можемо використати тут умову. У такому разі потрібно написати булевий вираз у блоці виразу, і це має виглядати приблизно так: 10 / 2 == 5. Далі нижче записати два case:

java

Але така структура майже не відрізнятиметься від звичайного if-else.

Ключове слово "break"

Це ключове слово використовується для завершення виконання оператора switch-case та виходу з його тіла. Це слово часто застосовується у циклах, які ми розглянемо у наступних розділах. Використовуйте це ключове слово, коли потрібно вийти з блоку коду та зупинити його виконання.

Тепер покращимо код, який ми написали вище, використовуючи оператор switch-case:

java

Main

copy
123456789101112131415161718192021222324
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"); } } }

Можна побачити, що код став значно чистішим, легшим для читання та розширення. Не потрібно писати ще одну інструкцію if з нуля, якщо потрібно додати додаткові умови. Замість цього можна просто додати ще один блок case до нашого switch-case statement.

Розглянемо схему блоку switch-case:

Як бачимо, кількість case може бути будь-якою. Для кожного case потрібна своя умова та код, який буде виконано, коли програма потрапить у відповідний блок case. Рекомендується використовувати ключове слово break, оскільки програма не вийде з блоку switch, доки не буде виконано всі case-блоки. Блок default буде виконано, якщо не було виконано жоден із case-блоків або не було використано ключове слово break.

Розглянемо ще один приклад без ключових слів break:

java

Main

copy
1234567891011121314151617181920
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 10 та default. Саме тому після кожного блоку використовується ключове слово break. Таким чином, програма вийде з оператора switch і продовжить виконання.

1. Що буде виведено в консоль?

2. Навіщо потрібне ключове слово break?

question mark

Що буде виведено в консоль?

Select the correct answer

question mark

Навіщо потрібне ключове слово break?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 6

Запитати АІ

expand
ChatGPT

Запитайте про що завгодно або спробуйте одне із запропонованих запитань, щоб почати наш чат

course content

Зміст курсу

Основи Java

Основи Java

1. Початок Роботи
2. Базові Типи Та Операції
3. Цикли
4. Масиви
5. Рядок

book
Оператор Switch-Case

Обробка кількох різних умов

Коли потрібно перевірити багато умов, використання численних ланцюжків if-else може бути незручним.

Наприклад:

java

Main

copy
12345678910111213141516171819
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); } } }

Видно, що такий підхід виглядає неохайно та непрофесійно. Для подібних випадків у Java передбачено оператор switch-case.

Оператор switch-case

Оператор switch-case складається з кількох частин:

java

Main

copy
123456789
switch (expression) { case value_1: // Code to be executed if expression matches `value_1` break; // Break is used to exit the `switch` statement. case value_2: // Code to be executed if expression matches `value_2` break; // Break is used to exit the `switch` statement. ............ default: // Code to be executed if no cases match // Optional, but executed if no other case matches }

У наведеному вище коді видно, що ми використовуємо блоки switch для вибіркового виконання операцій. Ми спираємося на вираз, який дещо відрізняється від умови. Тут ми вставляємо значення або вираз. Наприклад, 10 / 2. У цьому випадку буде виконано блок case з підписом case 5, оскільки наведений вираз дорівнює 5.

Ми також можемо використати тут умову. У такому разі потрібно написати булевий вираз у блоці виразу, і це має виглядати приблизно так: 10 / 2 == 5. Далі нижче записати два case:

java

Але така структура майже не відрізнятиметься від звичайного if-else.

Ключове слово "break"

Це ключове слово використовується для завершення виконання оператора switch-case та виходу з його тіла. Це слово часто застосовується у циклах, які ми розглянемо у наступних розділах. Використовуйте це ключове слово, коли потрібно вийти з блоку коду та зупинити його виконання.

Тепер покращимо код, який ми написали вище, використовуючи оператор switch-case:

java

Main

copy
123456789101112131415161718192021222324
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"); } } }

Можна побачити, що код став значно чистішим, легшим для читання та розширення. Не потрібно писати ще одну інструкцію if з нуля, якщо потрібно додати додаткові умови. Замість цього можна просто додати ще один блок case до нашого switch-case statement.

Розглянемо схему блоку switch-case:

Як бачимо, кількість case може бути будь-якою. Для кожного case потрібна своя умова та код, який буде виконано, коли програма потрапить у відповідний блок case. Рекомендується використовувати ключове слово break, оскільки програма не вийде з блоку switch, доки не буде виконано всі case-блоки. Блок default буде виконано, якщо не було виконано жоден із case-блоків або не було використано ключове слово break.

Розглянемо ще один приклад без ключових слів break:

java

Main

copy
1234567891011121314151617181920
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 10 та default. Саме тому після кожного блоку використовується ключове слово break. Таким чином, програма вийде з оператора switch і продовжить виконання.

1. Що буде виведено в консоль?

2. Навіщо потрібне ключове слово break?

question mark

Що буде виведено в консоль?

Select the correct answer

question mark

Навіщо потрібне ключове слово break?

Select the correct answer

Все було зрозуміло?

Як ми можемо покращити це?

Дякуємо за ваш відгук!

Секція 2. Розділ 6
Ми дуже хвилюємося, що щось пішло не так. Що трапилося?
some-alt