Instrukcja switch
Część sekcji Podstawy ścieżki Java w Coddy. Lekcja 29 z 73.
Instrukcja switch jest podobna do wielowariantowej instrukcji if. Zamiast sprawdzać jeden warunek, porównuje wartość zmiennej z wieloma przypadkami i wykonuje kod powiązany z pasującym przypadkiem.
Oto podstawowa struktura instrukcji switch:
switch (variable) {
case value1:
// Kod do wykonania, jeśli variable jest równe value1
break;
case value2:
// Kod do wykonania, jeśli variable jest równe value2
break;
// ... więcej przypadków
default:
// Kod do wykonania, jeśli żaden przypadek nie pasuje
}- Po słowie kluczowym
switchw nawiasie podaje się zmienną, którą chcesz sprawdzić. - Każdy
casereprezentuje możliwą wartość zmiennej. - Kod wewnątrz każdego
casejest wykonywany, jeśli zmienna pasuje do wartości tego przypadku.
- Instrukcja
breakjest kluczowa; kończy działanie instrukcjiswitchpo wykonaniu danego przypadku. Bez niej wykonanie „przeszłoby” do następnego przypadku. - Przypadek
defaultjest opcjonalny i jest wykonywany, jeśli żaden inny przypadek nie pasuje.
Oto przykład:
int day = 3;
String dayName;
switch (day) {
case 1:
dayName = "Monday";
break;
case 2:
dayName = "Tuesday";
break;
// ... przypadki dla pozostałych dni
default:
dayName = "Invalid day";
}Możesz także połączyć wiele przypadków w jeden:
int day = 3;
String dayName;
switch (day) {
case 1:
case 2:
case 3:
dayName = "Start of week";
break;
// ... przypadki dla pozostałych dni
default:
dayName = "Invalid day";
}Wyzwanie
PoczątkującyUtwórz program, który przyjmuje numer miesiąca (1 dla stycznia, 2 dla lutego itd.) i wypisuje porę roku, do której należy ten miesiąc. Użyj instrukcji switch.
Pory roku i odpowiadające im miesiące to:
Winter: grudzień (12), styczeń (1), luty (2)Spring: marzec (3), kwiecień (4), maj (5)Summer: czerwiec (6), lipiec (7), sierpień (8)Autumn: wrzesień (9), październik (10), listopad (11)
W przypadku każdego innego numeru miesiąca wypisz "Invalid month".
Spróbuj swoich sił
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int month = scanner.nextInt();
String season = "";
// Napisz swój kod poniżej
System.out.println(season);
}
}Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.
Wszystkie lekcje w sekcji Podstawy
4Operatory część 1
Operatory arytmetyczneOperator moduloInkrementacja/dekrementacjaPostinkrementacja/postdekrementacjaSkrócone operatory arytmetyczneOperatory porównaniaPorównywanie ciągów znaków7Podstawowe wejście i wyjście
Metody System.outFormatowanie wyjściaKlasa ScannerPowtórka – do 120Powtórka – prawda czy fałsz10Metody (funkcje)
Deklarowanie metodParametry metodTypy zwracanePrzeciążanie metodPowtórzenie – funkcja SigmaPowtórzenie – funkcja walidującaMetody void13Operacje na ciągach znaków
Metody ciągów znaków — część 1Metody ciągów znaków — część 2Formatowanie ciągów znakówPorównywanie ciągów znaków5Operatory — część 2
Operatory logiczne — część 1Operatory logiczne — część 2Powtórka — podstawy logikiOperatory logiczne — część 3Operatory logiczne — część 43Zmienne — część 2
StałeKonwencje nazewnictwaPodsumowanie — inicjalizacja zmiennychKonwersja typów — część 1Konwersja typów — część 26Podejmowanie decyzji
Instrukcja ifIf - elseInstrukcja switchOperator trójargumentowyPowtórka: if - elseZagnieżdżone if - elsePoćwicz samodzielnie: Kompilator Java online