Oświadczenie o przełączniku Java
Jawa instrukcja switch wykonuje jedną instrukcję z wielu warunków. To jest jak jeśli-jeżeli-jeżeli oświadczenie drabinowe. Instrukcja switch działa z typami bajtowymi, krótkimi, int, długimi, wyliczeniowymi, łańcuchowymi i niektórymi typami opakowań, takimi jak Byte, Short, Int i Long. Od wersji Java 7 możesz używać smyczki w instrukcji switch.
Innymi słowy, instrukcja switch sprawdza równość zmiennej względem wielu wartości.
Punkty do zapamiętania
- Tam może być jedna lub N liczba wartości przypadków dla wyrażenia przełączającego.
- Wartość case musi być wyłącznie typem wyrażenia przełączającego. Wartość przypadku musi wynosić dosłowne lub stałe . Nie pozwala zmienne .
- Wartości case muszą być unikalny . W przypadku zduplikowanej wartości renderowany jest błąd w czasie kompilacji.
- Wyrażenie przełącznika Java musi mieć wartość byte, short, int, long (z typem Wrapper), wyliczenia i sznurek .
- Każde stwierdzenie przypadku może mieć oświadczenie o złamaniu co jest opcjonalne. Kiedy kontrola sięga oświadczenie o złamaniu , przeskakuje kontrolę po wyrażeniu switch. Jeśli instrukcja break nie zostanie znaleziona, wykonuje następny przypadek.
- Wartość przypadku może mieć a domyślna etykieta co jest opcjonalne.
Składnia:
switch(expression){ case value1: //code to be executed; break; //optional case value2: //code to be executed; break; //optional ...... default: code to be executed if all cases are not matched; } Schemat blokowy instrukcji Switch
Przykład:
SwitchExample.java
public class SwitchExample { public static void main(String[] args) { //Declaring a variable for switch expression int number=20; //Switch expression switch(number){ //Case statements case 10: System.out.println('10'); break; case 20: System.out.println('20'); break; case 30: System.out.println('30'); break; //Default case statement default:System.out.println('Not in 10, 20 or 30'); } } } Przetestuj teraz Wyjście:
20
Przykład znajdowania miesiąca:
SwitchMonthExample.javaHTML
//Java Program to demonstrate the example of Switch statement //where we are printing month name for the given number public class SwitchMonthExample { public static void main(String[] args) { //Specifying month number int month=7; String monthString=''; //Switch statement switch(month){ //case statements within the switch block case 1: monthString='1 - January'; break; case 2: monthString='2 - February'; break; case 3: monthString='3 - March'; break; case 4: monthString='4 - April'; break; case 5: monthString='5 - May'; break; case 6: monthString='6 - June'; break; case 7: monthString='7 - July'; break; case 8: monthString='8 - August'; break; case 9: monthString='9 - September'; break; case 10: monthString='10 - October'; break; case 11: monthString='11 - November'; break; case 12: monthString='12 - December'; break; default:System.out.println('Invalid Month!'); } //Printing month of the given number System.out.println(monthString); } } Przetestuj teraz Wyjście:
7 - July
Program do sprawdzania samogłoski lub spółgłoski:
Jeśli znak to A, E, I, O lub U, w przeciwnym razie jest to samogłoska. Wielkość liter nie jest uwzględniana.
SwitchVowelExample.java
public class SwitchVowelExample { public static void main(String[] args) { char ch='O'; switch(ch) { case 'a': System.out.println('Vowel'); break; case 'e': System.out.println('Vowel'); break; case 'i': System.out.println('Vowel'); break; case 'o': System.out.println('Vowel'); break; case 'u': System.out.println('Vowel'); break; case 'A': System.out.println('Vowel'); break; case 'E': System.out.println('Vowel'); break; case 'I': System.out.println('Vowel'); break; case 'O': System.out.println('Vowel'); break; case 'U': System.out.println('Vowel'); break; default: System.out.println('Consonant'); } } } Wyjście:
Vowel
Instrukcja Java Switch jest ostateczna
Instrukcja przełącznika Java jest awaryjna. Oznacza to, że wykonuje wszystkie instrukcje po pierwszym dopasowaniu, jeśli nie ma instrukcji break.
Przykład:
SwitchExample2.java
//Java Switch Example where we are omitting the //break statement public class SwitchExample2 { public static void main(String[] args) { int number=20; //switch expression with int value switch(number){ //switch cases without break statements case 10: System.out.println('10'); case 20: System.out.println('20'); case 30: System.out.println('30'); default:System.out.println('Not in 10, 20 or 30'); } } } Przetestuj teraz Wyjście:
20 30 Not in 10, 20 or 30
Instrukcja Java Switch z ciągiem znaków
Java pozwala nam używać ciągów w wyrażeniach przełącznika od Java SE 7. Instrukcja case powinna być literałem łańcuchowym.
Przykład:
SwitchStringExample.java
//Java Program to demonstrate the use of Java Switch //statement with String public class SwitchStringExample { public static void main(String[] args) { //Declaring String variable String levelString='Expert'; int level=0; //Using String in Switch expression switch(levelString){ //Using String Literal in Switch case case 'Beginner': level=1; break; case 'Intermediate': level=2; break; case 'Expert': level=3; break; default: level=0; break; } System.out.println('Your Level is: '+level); } } Przetestuj teraz Wyjście:
Your Level is: 3
Instrukcja przełącznika zagnieżdżonego w Javie
Możemy użyć instrukcji switch wewnątrz innej instrukcji switch w Javie. Jest to tak zwana instrukcja zagnieżdżonego przełącznika.
Przykład:
NestedSwitchExample.java
//Java Program to demonstrate the use of Java Nested Switch public class NestedSwitchExample { public static void main(String args[]) { //C - CSE, E - ECE, M - Mechanical char branch = 'C'; int collegeYear = 4; switch( collegeYear ) { case 1: System.out.println('English, Maths, Science'); break; case 2: switch( branch ) { case 'C': System.out.println('Operating System, Java, Data Structure'); break; case 'E': System.out.println('Micro processors, Logic switching theory'); break; case 'M': System.out.println('Drawing, Manufacturing Machines'); break; } break; case 3: switch( branch ) { case 'C': System.out.println('Computer Organization, MultiMedia'); break; case 'E': System.out.println('Fundamentals of Logic Design, Microelectronics'); break; case 'M': System.out.println('Internal Combustion Engines, Mechanical Vibration'); break; } break; case 4: switch( branch ) { case 'C': System.out.println('Data Communication and Networks, MultiMedia'); break; case 'E': System.out.println('Embedded System, Image Processing'); break; case 'M': System.out.println('Production Technology, Thermal Engineering'); break; } break; } } } Przetestuj teraz Wyjście:
Data Communication and Networks, MultiMedia
Wyliczenie Java w instrukcji Switch
Java pozwala nam używać wyliczenia w instrukcji switch. Wyliczenie Java to klasa reprezentująca grupę stałych. (niezmienne, takie jak zmienne końcowe). Używamy słowa kluczowego enum i stałe umieszczamy w nawiasach klamrowych oddzielonych przecinkami.
Przykład:
JavaSwitchEnumExample.java
//Java Program to demonstrate the use of Enum //in switch statement public class JavaSwitchEnumExample { public enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat } public static void main(String args[]) { Day[] DayNow = Day.values(); for (Day Now : DayNow) { switch (Now) { case Sun: System.out.println('Sunday'); break; case Mon: System.out.println('Monday'); break; case Tue: System.out.println('Tuesday'); break; case Wed: System.out.println('Wednesday'); break; case Thu: System.out.println('Thursday'); break; case Fri: System.out.println('Friday'); break; case Sat: System.out.println('Saturday'); break; } } } } Przetestuj teraz Wyjście:
Sunday Monday Twesday Wednesday Thursday Friday Saturday
Opakowanie Java w instrukcji Switch
Java pozwala nam używać czterech klasy wrapperów : Byte, Short, Integer i Long w instrukcji switch.
Przykład:
WrapperInSwitchCaseExample.java
//Java Program to demonstrate the use of Wrapper class //in switch statement public class WrapperInSwitchCaseExample { public static void main(String args[]) { Integer age = 18; switch (age) { case (16): System.out.println('You are under 18.'); break; case (18): System.out.println('You are eligible for vote.'); break; case (65): System.out.println('You are senior citizen.'); break; default: System.out.println('Please give the valid age.'); break; } } } Przetestuj teraz Wyjście:
You are eligible for vote.