Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Basico
¿Qué es una sentencia switch en Java? A continuación veremos como se usa un switch en Java, junto con
algunos ejemplos prácticos.
Table de Contenido
1. switch case en Java
2. Ejemplos de Switch case
2.1. Omitir la declaración break
3. Declaraciones anidadas de Switch Case
4. String en Switch Case
Sintaxis de Switch-case:
// declaración de switch
switch(expresión)
{
// declaración case
case valor1 :
// Declaraciones
case valor2 :
// Declaraciones
// debajo se encuentra la declaración predeterminada, que se usa cuando ninguno de los casos es v
// No se necesita descanso en el case default
default :
// Declaraciones
}
Diagrama de Flujo de Switch-case:
int day = 5;
String dayString;
switch (day)
break;
break;
break;
break;
break;
break;
break;
break;
System.out.println(dayString);
Salida:
Viernes
int day = 2;
String dayType;
String dayString;
switch (day)
break;
break;
break;
break;
break;
break;
break;
switch (day)
case 1:
case 2:
case 3:
case 4:
case 5:
break;
case 6:
case 7:
break;
}
Salida:
int year = 2;
switch(year)
case 1 :
break;
case 2:
{
case "CSE":
case "CCE":
break;
case "ECE":
default:
}
}
Salida:
Puntos importantes:
Operación costosa: el «switching» de strings puede ser más costosa en términos de ejecución que
el switching de tipos de datos primitivos. Por lo tanto, es mejor activar el switch con strings solo en casos de
que los datos de control ya estén en forma de cadena.
String no debe ser NULL: asegúrese de que la expresión en cualquier instrucción switch no sea nula
mientras se trabaja con cadenas para evitar que una NullPointerException sea lanzada en tiempo de
ejecución.
Case Sensitive – mayúsculas/minúsculas: la instrucción switch compara el objeto String en su expresión
con las expresiones asociadas con cada etiqueta de case como si estuviera usando el
método String.equals; en consecuencia, la comparación de objetos String en sentencias switch es sensible a
mayúsculas y minúsculas.
Mejor que if-else: el compilador Java genera bytecode generalmente más eficiente a partir de sentencias
switch que usan objetos String que de sentencias if-else anidadas.
Ejemplo:
switch(str)
case "uno":
System.out.println("uno");
break;
case "dos":
System.out.println("dos");
break;
case "tres":
System.out.println("tres");
break;
default:
System.out.println("no coincide");
Salida:
dos