la java declaración de cambio ejecuta una declaración de múltiples condiciones. Es como si-si no-si declaración de escalera. La declaración de cambio funciona con tipos byte, short, int, long, enum, String y algunos tipos de contenedor como Byte, Short, Int y Long. Desde Java 7, puedes usar instrumentos de cuerda en la declaración de cambio.
En otras palabras, la declaración de cambio prueba la igualdad de una variable frente a múltiples valores.
Puntos para recordar
- Puede haber uno o N número de valores de casos para una expresión de cambio.
- El valor del caso debe ser únicamente del tipo de expresión de cambio. El valor del caso debe ser literal o constante . No permite variables .
- Los valores de los casos deben ser único . En caso de valor duplicado, genera un error en tiempo de compilación.
- La expresión de cambio de Java debe ser de byte, short, int, long (con su tipo Wrapper), enumeraciones y cuerda .
- Cada enunciado de caso puede tener un declaración de ruptura que es opcional. Cuando el control llega al declaración de ruptura , salta el control después de la expresión de cambio. Si no se encuentra una declaración de interrupción, ejecuta el siguiente caso.
- El valor del caso puede tener un etiqueta predeterminada que es opcional.
Sintaxis:
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 flujo de la declaración de cambio
conjunto vs mapa
Ejemplo:
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'); } } }Pruébalo ahora
Producción:
20
Ejemplo de búsqueda del mes:
SwitchMonthEjemplo.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); } }Pruébalo ahora
Producción:
7 - July
Programa para comprobar Vocal o Consonante:
Si el carácter es A, E, I, O o U, es vocal, de lo contrario es consonante. No distingue entre mayúsculas y minúsculas.
cómo convertir str a int
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'); } } }
Producción:
Vowel
La declaración de cambio de Java es fallida
La declaración de cambio de Java es fallida. Significa que ejecuta todas las declaraciones después de la primera coincidencia si no hay una declaración de interrupción.
Ejemplo:
SwitchExample2.java
comentarios 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'); } } }Pruébalo ahora
Producción:
20 30 Not in 10, 20 or 30
Declaración de cambio de Java con cadena
Java nos permite usar cadenas en expresiones de cambio desde Java SE 7. La declaración de caso debe ser una cadena literal.
Ejemplo:
SwitchStringExample.java
lista de matrices java ordenada
//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); } }Pruébalo ahora
Producción:
Your Level is: 3
Declaración de cambio anidado de Java
Podemos usar una declaración de cambio dentro de otra declaración de cambio en Java. Se conoce como declaración de cambio anidada.
Ejemplo:
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; } } }Pruébalo ahora
Producción:
autómatas finitos no deterministas
Data Communication and Networks, MultiMedia
Enumeración de Java en la declaración de cambio
Java nos permite usar enum en la declaración de cambio. Java enum es una clase que representa el grupo de constantes. (inmutables como las variables finales). Usamos la palabra clave enum y ponemos las constantes entre llaves separadas por comas.
Ejemplo:
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; } } } }Pruébalo ahora
Producción:
Sunday Monday Twesday Wednesday Thursday Friday Saturday
Contenedor de Java en la declaración de cambio
Java nos permite utilizar cuatro clases contenedoras : Byte, Corto, Entero y Largo en la declaración de cambio.
Ejemplo:
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; } } }Pruébalo ahora
Producción:
You are eligible for vote.