Як і умовна конструкція if/else, інструкція switch дозволяє змінити хід виконання програми, виконуючи код за певної умови.
Різниця в тому, що інструкція switch може порівнювати значення виразу примітивного типу або рядка тексту (англ. string) лише з наперед визначеними сталими значеннями.
Коли ми працюємо з інструкцією switch, стають у пригоді деякі ключові слова.
switch: це ключове слово дозволяє оголосити структуру switch.
Після нього йде вираз або змінна, від яких залежатиме результат.case: це ключове слово ми використовуємо, щоб оголосити різні можливі результати.break: ключове слово break дуже корисне, щоб зупинити виконання switch наприкінці потрібної гілки.
Якщо його забути, програма продовжить роботу й може дати несподівані результати.default: як підказує сама назва, його використовують як типовий результат, коли жоден інший варіант case не відповідає результату виразу.У найпростішому випадку вони перевіряють вираз примітивного типу або рядок тексту й ухвалюють рішення на основі його значення. Наприклад:
String direction = getDirection();
switch (direction) {
case "left":
goLeft();
break;
case "right":
goRight();
break;
default:
// otherwise
markTime();
break;
}
Ми розробляємо систему, яка допомагає працівникам сайту футбольного клубу готувати звіти про матчі. Дані надходять із різних джерел і після очищення потрапляють в один потік.
Команда завжди грає за схемою 4-3-3 і так і не погодилася зі зміною правил 1965 року, яка дозволила заміни, а вже про розширені склади годі й казати.
Описи гравців такі:
1 -> "goalie"
2 -> "left back"
3 & 4 "center back"
5 -> "right back"
6, 7, & 8 -> "midfielder"
9 -> "left wing"
10 -> "striker"
11 -> "right wing"
Реалізуйте статичний метод FootballMatchReports.onField(), щоб виводити опис гравця за номером на футболці.
FootballMatchReports.onField(10);
// => "striker"
Змініть метод FootballMatchReports.onField() так, щоб він повертав «invalid», коли опрацьовується номер футболки поза діапазоном 1-11.
FootballMatchReports.onField(13);
// => "invalid"
Зареєструйтеся на Exercism, щоб вивчати й опановувати Java, а також 26 концепцій158 вправ та справжнє наставництво від людей, і все це безкоштовно.