The stavek switch v Javi je večsmerna izjava o veji. Preprosto povedano, stavek Java switch izvede en stavek iz več pogojev.
Je kot če-drugače-če lestvena izjava. Zagotavlja preprost način za pošiljanje izvajanja v različne dele kode glede na vrednost izraza. Izraz je lahko a bajt , kratek , char , oz int primitivni podatkovni tip. Preizkuša enakost spremenljivk glede na več vrednosti.
Opomba: Izraz preklopa Java mora biti sestavljen iz bajtov, kratkih, int, dolgih (z vrsto Wrapper), enumov in nizov. Začenši z JDK7 deluje tudi z oštevilčenimi tipi ( Enumi v Javi), the Vrvica razred, in Ovoj razredi.
Sintaksa
switch(expression) { case value1 : // Statements break; // break is optional case value2 : // Statements break; // break is optional .... .... .... default : // default Statement }>primer:
Primer tiskalnika velikosti
Java public class SizePrinter { public static void main(String[] args) { int sizeNumber = 2; // Replace with your desired size (1, 2, 3, 4, or 5) switch (sizeNumber) { case 1: System.out.println('Extra Small'); break; case 2: System.out.println('Small'); break; case 3: System.out.println('Medium'); break; case 4: System.out.println('Large'); break; case 5: System.out.println('Extra Large'); break; default: System.out.println('Invalid size number'); } } }> Izhod:
Small>
Nekaj pomembnih pravil za izjave Java Switch
- Lahko je poljubno število primerov, ki zahtevajo samo preverjanje pogojev, vendar ne pozabite, da podvojene vrednosti primerov niso dovoljene.
- Vrednost za primer mora biti iste vrste podatkov kot spremenljivka v stikalu.
- Vrednost primera mora biti konstantna ali dobesedna. Spremenljivke niso dovoljene.
- Stavek break se uporablja znotraj stikala za prekinitev zaporedja stavkov.
- Stavek prekinitve ni obvezen. Če je izpuščeno, se bo izvajanje nadaljevalo v naslednjem primeru.
- Privzeti stavek je neobvezen in se lahko pojavi kjer koli znotraj preklopnega bloka. V primeru, če ni na koncu, je treba stavek break ohraniti za privzetim stavkom, da se izpusti izvajanje naslednjega stavka case.
Note: Until Java-6, switch case argument cannot be of String type but Java 7 onward we can use String type argument in Switch Case.>
Diagram poteka izjave Switch-Case
Ta diagram poteka prikazuje tok nadzora in delovanje stavkov switch:

Opomba: Stavek Java switch je padajoči stavek, kar pomeni, da izvede vse stavke if break ključna beseda se ne uporablja, zato je zelo pomembno, da v vsakem primeru uporabite ključno besedo break.
primer: Dan iskanja
Razmislite o naslednjem programu Java, ki deklarira int imenovan dan, katerega vrednost predstavlja dan (1-7). Koda prikaže ime dneva na podlagi vrednosti dneva z uporabo stavka switch.
Java // Java program to Demonstrate Switch Case // with Primitive(int) Data Type // Class public class GFG { // Main driver method public static void main(String[] args) { int day = 5; String dayString; // Switch statement with int data type switch (day) { // Case case 1: dayString = 'Monday'; break; // Case case 2: dayString = 'Tuesday'; break; // Case case 3: dayString = 'Wednesday'; break; // Case case 4: dayString = 'Thursday'; break; // Case case 5: dayString = 'Friday'; break; // Case case 6: dayString = 'Saturday'; break; // Case case 7: dayString = 'Sunday'; break; // Default case default: dayString = 'Invalid day'; } System.out.println(dayString); } }> Izhod
Friday>
break in switch case Izjave
A izjava o prekinitvi ni obvezna. Če prekinitev izpustimo, se bo izvajanje nadaljevalo v naslednji primer.
Včasih je zaželeno imeti več primerov brez odmor izjave med njimi. Na primer, razmislimo o posodobljeni različici zgornjega programa, ki prav tako prikazuje, ali je dan delovni dan ali vikend.
primer:
Program preklopa stavkov brez večkratnih prekinitev
kako dobiti trenutni datum v JaviJava
// Java Program to Demonstrate Switch Case // with Multiple Cases Without Break Statements // Class public class GFG { // main driver method public static void main(String[] args) { int day = 2; String dayType; String dayString; // Switch case switch (day) { // Case case 1: dayString = 'Monday'; break; // Case case 2: dayString = 'Tuesday'; break; // Case case 3: dayString = 'Wednesday'; break; case 4: dayString = 'Thursday'; break; case 5: dayString = 'Friday'; break; case 6: dayString = 'Saturday'; break; case 7: dayString = 'Sunday'; break; default: dayString = 'Invalid day'; } switch (day) { // Multiple cases without break statements case 1: case 2: case 3: case 4: case 5: dayType = 'Weekday'; break; case 6: case 7: dayType = 'Weekend'; break; default: dayType = 'Invalid daytype'; } System.out.println(dayString + ' is a ' + dayType); } }> Izhod
Tuesday is a Weekday>
Java ugnezdeni preklopni stavki
Uporabimo lahko a stikalo kot del zaporedja stavkov od an zunanje stikalo. To se imenuje a ugnezdeno stikalo . Ker stavek switch definira svoj blok, med konstantami velikih in malih črk v notranjem stikalu in tistimi v zunanjem stikalu ne pride do sporov.
primer:
Izjava o ugnezdenem stikalu
Java // Java Program to Demonstrate // Nested Switch Case Statement // Class public class GFG { // Main driver method public static void main(String[] args) { // Custom input string String Branch = 'CSE'; int year = 2; // Switch case switch (year) { // Case case 1: System.out.println( 'elective courses : Advance english, Algebra'); // Break statement to hault execution here // itself if case is matched break; // Case case 2: // Switch inside a switch // Nested Switch switch (Branch) { // Nested case case 'CSE': case 'CCE': System.out.println( 'elective courses : Machine Learning, Big Data'); break; // Case case 'ECE': System.out.println( 'elective courses : Antenna Engineering'); break; // default case // It will execute if above cases does not // execute default: // Print statement System.out.println( 'Elective courses : Optimization'); } } } }> Izhod
elective courses : Machine Learning, Big Data>
Java Enum v izjavi Switch
Naštevanja (enume) so močan in jasen način za predstavljajo fiksen nabor poimenovanih konstant v Javi.
Enumi se uporabljajo v stavkih Switch zaradi njihove tipske varnosti in berljivosti.
primer:
Uporaba Enum v Switch
Java // Java Program to Illustrate Use of Enum // in Switch Statement // Class public class GFG { // Enum public enum Day { Sun, Mon, Tue, Wed, Thu, Fri, Sat } // Main driver method public static void main(String args[]) { // Enum Day[] DayNow = Day.values(); // Iterating using for each loop for (Day Now : DayNow) { // Switch case switch (Now) { // Case 1 case Sun: System.out.println('Sunday'); // break statement that hault further // execution once case is satisfied break; // Case 2 case Mon: System.out.println('Monday'); break; // Case 3 case Tue: System.out.println('Tuesday'); break; // Case 4 case Wed: System.out.println('Wednesday'); break; // Case 5 case Thu: System.out.println('Thursday'); break; // Case 6 case Fri: System.out.println('Friday'); break; // Case 7 case Sat: System.out.println('Saturday'); } } } }> Izhod
Sunday Monday Tuesday Wednesday Thursday Friday Saturday>
privzeti stavek v Java Switch Case
privzeti primer v primeru preklopa določa, katero kodo je treba zagnati, če se ne ujema nobena črka.
Zaželeno je, da privzeti primer zapišete na koncu vseh možnih primerov, lahko pa ga zapišete kjerkoli v stavkih switch.
primer:
Pisanje privzetka na sredini stavkov switch:
Java /*package whatever //do not write package name here */ import java.io.*; class GFG { public static void main (String[] args) { int i=2; switch(i){ default: System.out.println('Default'); case 1: System.out.println(1); break; case 2: System.out.println(2); case 3: System.out.println(3); } } }> Izhod
2 3>
primer:
Pisanje privzetega v začetku stavkov switch
logika prvega redaJava
import java.io.*; class GFG { public static void main(String[] args) { int i = 5; switch (i) { default: System.out.println('Default'); case 1: System.out.println(1); break; case 2: System.out.println(2); case 3: System.out.println(3); } } }> Izhod
Default 1>
Različice oznak ohišja
Argumenta oznake velikosti in preklopa sta lahko stalen izraz. Argument stikala je lahko spremenljiv izraz.
primer:
Uporaba spremenljivega preklopnega argumenta.
Java import java.io.*; class GFG { public static void main(String[] args) { int x = 2; switch (x + 1) { case 1: System.out.println(1); break; case 1 + 1: System.out.println(2); break; case 2 + 1: System.out.println(3); break; default: System.out.println('Default'); } } }> Izhod
3>
Oznaka primera ne more biti spremenljivka ali spremenljiv izraz. Mora biti stalen izraz.
Java import java.io.*; class GFG { public static void main(String[] args) { int x = 2; int y = 1; switch (x) { case 1: System.out.println(1); break; case 2: System.out.println(2); break; case x + y: System.out.println(3); break; default: System.out.println('Default'); } } }> ./GFG.java:16: error: constant expression required case x+y: ^ 1 error>
Java Wrapper v stavkih Switch
Java ponuja štiri ovojni razredi za uporabo: Integer, Short, Byte in Long v stavkih switch.
primer:
Java Wrapper v preklopnem primeru.
Java public class WrapperSwitchExample { public static void main(String[] args) { Integer age = 25; switch (age.intValue()) { // Extract primitive value for switch case 25: System.out.println('You are 25.'); break; case 30: System.out.println('You are 30.'); break; default: System.out.println('Age not matched.'); } } }> Izhod:
You are 25.>
Opomba:
Ne glede na njegovo postavitev se privzeti primer izvede le, če ni izpolnjen noben od drugih pogojev primera. Torej, če ga postavite na začetek, sredino ali konec, ne spremenite osnovne logike (razen če uporabljate manj običajno tehniko, imenovano padci skozi).
Primer: V tej kodi bomo dan v tednu identificirali s številkami (1-7).
funkcija python chrJava
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.print('Enter a day number (1-7): '); int day = scanner.nextInt(); switch (day) { default: System.out.println('Not a valid weekday.'); break; case 1: System.out.println('It's Monday!'); break; case 2: System.out.println('It's Tuesday!'); break; case 3: System.out.println('It's Wednesday!'); break; case 4: System.out.println('It's Thursday!'); break; case 5: System.out.println('It's Friday!'); break; case 6: System.out.println('It's Saturday!'); break; case 7: System.out.println('It's Sunday!'); break; } } }> Izhod
Enter a day number (1-7): 8 Not a valid weekday.>
Preberi več:
- Uporaba Enum in Switch Keyword v Javi
- Niz v zamenjavi velikih in malih črk v Javi
- Vadnica za Java
telovadba
Če želite vaditi stavke Java switch, lahko obiščete stran: Java Switch Case izjava Praksa
Zaključek
Preklopni stavki v Javi so strukture nadzornega toka, ki vam omogočajo izvajanje določenega bloka kode na podlagi vrednosti posameznega izraza. Lahko jih obravnavamo kot alternativo stavkom if-else-if v programiranju.
Izjave Java Switch – pogosta vprašanja
Kako uporabljati stavke switch v Javi
Če želite uporabiti stavek switch v Javi, lahko uporabite naslednjo sintakso:
stikalo (izraz) {
case value1:
// koda za izvedbo, če je izraz enak vrednosti1
odmor;
case value2:
// koda za izvedbo, če je izraz enak value2
odmor;
// … več primerov
privzeto:
// koda za izvedbo, če se noben od zgornjih primerov ne ujema
}
Ali lahko stikalu posredujemo ničelno vrednost
Ne, NULL ne morete posredovati stavku switch, ker zahteva stalen izraz v njegovem primeru.
Ali se lahko vrnete na stavek switch
Ne, stavki switch sestavijo kontrolni tok v programu, tako da se po izhodu iz primera switch ne more vrniti.