El Java declaració de commutació executa una instrucció a partir de diverses condicions. És com si-una altra cosa-si declaració d'escala. La declaració switch funciona amb tipus byte, short, int, long, enumeració, String i alguns tipus d'embolcall com Byte, Short, Int i Long. Des de Java 7, podeu utilitzar cordes a la declaració switch.
En altres paraules, la sentència switch prova la igualtat d'una variable amb diversos valors.
Punts a recordar
- Hi pot haver un o N nombre de valors de cas per a una expressió de canvi.
- El valor de majúscules i minúscules només ha de ser del tipus d'expressió switch. El valor de cas ha de ser literal o constant . No permet les variables .
- Els valors de cas han de ser únic . En cas de valor duplicat, genera un error en temps de compilació.
- L'expressió del commutador de Java ha de ser of byte, short, int, long (amb el seu tipus Wrapper), enumeracions i corda .
- Cada enunciat del cas pot tenir un declaració de ruptura que és opcional. Quan el control arriba al declaració de ruptura , salta el control després de l'expressió switch. Si no es troba una instrucció break, executa el cas següent.
- El valor del cas pot tenir a etiqueta per defecte que és opcional.
Sintaxi:
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; }
Diagrama de flux de la declaració Switch
característiques de java
Exemple:
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'); } } }Prova-ho ara
Sortida:
20
Exemple de recerca del mes:
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); } }Prova-ho ara
Sortida:
7 - July
Programa per comprovar vocal o consonant:
Si el caràcter és A, E, I, O o U, és vocal en cas contrari és consonant. No distingeix entre majúscules i minúscules.
java convertir char en cadena
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'); } } }
Sortida:
Vowel
La declaració de commutació de Java és de caiguda
La declaració de commutació de Java és de caiguda. Significa que executa totes les instruccions després de la primera coincidència si no hi ha cap sentència break.
Exemple:
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'); } } }Prova-ho ara
Sortida:
comptar diferents sql
20 30 Not in 10, 20 or 30
Declaració de commutació de Java amb cadena
Java ens permet utilitzar cadenes a l'expressió switch des de Java SE 7. La instrucció case ha de ser literal de cadena.
Exemple:
SwitchStringExample.java
convertir una data en una cadena
//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); } }Prova-ho ara
Sortida:
Your Level is: 3
Declaració de commutació anidada de Java
Podem utilitzar la declaració switch dins d'una altra declaració switch a Java. Es coneix com a declaració de commutació imbricada.
Exemple:
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; } } }Prova-ho ara
Sortida:
caca
Data Communication and Networks, MultiMedia
Enumeració Java a la declaració Switch
Java ens permet utilitzar enum a la instrucció switch. Java enum és una classe que representa el grup de constants. (immutables com les variables finals). Utilitzem la paraula clau enum i posem les constants entre claus separades per comes.
Exemple:
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; } } } }Prova-ho ara
Sortida:
Sunday Monday Twesday Wednesday Thursday Friday Saturday
Embolcall de Java a la declaració Switch
Java ens permet utilitzar quatre classes d'embolcall : Byte, Short, Integer i Long a la instrucció switch.
Exemple:
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; } } }Prova-ho ara
Sortida:
You are eligible for vote.