Otras lecciones del Curso de Java
¿Qué es IO en Java?
¿Cúales son los Operadores en Java?
¿Qué tipos de Variables hay en Java?
¿Cómo funciona Continue y Break en Java?
¿Cómo aplicar un Try Catch y Finally en Java?
¿Cómo utilizar el método super en Java?
¿Cómo trabajar con listas en Java?
¿Cuáles son los métodos de la clase String en Java?
¿Qué es un entorno de desarrollo en Java?
¿Qué es la Sobreescritura de métodos en Java?
¿Cómo utilizar un return en Java?
¿Cómo hacer un Hola Mundo en Java?
¿Cómo utilizar Throw y throws en Java?
¿Cómo hacer comentarios en Java?
¿Cuáles son las Palabras reservadas en Java?
Variables de entorno en Java
Características y estadísticas de Java e índice TIOBE
Estructura de proyecto, paquetes y clases en Java
Qué es una función en Java
¿Cómo funcionan las Funciones Java?
Operadores aritméticos en Java
Operadores de comparación en Java
Funciones anónimas en Java
Cómo invocar una función en Java
Atajos de teclado para IntelliJ
¿Qué es la Sobrecarga de funciones en Java?
Operadores lógicos en Java
Debug en Java
Como se crea una función en Java
Bucles for en Java
¿Cómo hacer sentencias If e If else en Java?
¿Cómo funcionan los Bucles While en Java?
¿Qué son los objetos en Java?
¿Qué es el modificador static en Java y cómo se utiliza?
¿Qué es la herencia en Java?
¿Qué son los constructores en Java y cómo se utilizan?
¿Cómo crear clases en Java?
¿Qué es el Polimorfismo en Java?
¿Qué son las Clases Abstractas en Java?
¿Qué es la Programación genérica en Java?
¿Qué son las Interfaces de Java?
Implementación de una interface en Java
¿Cómo se hace refactoring en Java?
¿Cómo trabajar con Maps en Java?
¿Como funcionan los arrays en Java?
¿Cómo generar excepciones en Java?
¿Qué es la clase Scanner en Java?
Introducción a Swing en Java
¿Quieres descubrir más cosas como Sentencia switch en Java?¡Apuntate a nuestro campus y empieza a aprender con nosotros y con toda la comunidad!

Switch es un condicional de selección de Java, una instrucción de múltiples vías que evalúa distintas opciones o “casos” y selecciona una opción entre varias.

El condicional switch es una forma de expresión de anidación múltiple de instrucciones if…else.

Es útil a la hora de definir por ejemplo, un menú de usuario en aplicaciones que se ejecutan por consola.

Switch evalúa la expresión y programa distintas salidas de acuerdo a las opciones que hayamos puesto.

Características de la Sentencia Switch en Java:

  1. Selecciona una opción entre varias propuestas
  2. Recibe un caso y lo evalúa hasta encontrar el que corresponda dentro de la estructura
  3. Si no se encuentra el caso evaluado, se puede utilizar la opción “default” para darle salida al condicional

La sintaxis básica del Switch es:

switch (<expresión>) {

    case <valor>:

             <lista de sentencias separadas por punto y coma>;

    case <valor>:

             <lista de sentencias separadas por punto y coma>;

    …

    default:

             <lista de sentencias separadas por punto y coma>;

}

Donde “expresión” es lo que vamos a evaluar y “valor” es contra lo que vamos a evaluar la expresión.

En palabras más sencillas, la sentencia switch evalúa la expresión que se compara con cada valor consecutivamente, hasta encontrar uno que coincida.

Cuando un valor coincide con la expresión se ejecutan las instrucciones de esa cláusula y el programa continúa con la siguiente sentencia.

Si queremos que solo se ejecuten las instrucciones del caso que coincida con la expresión, debemos poner un “break” como última instrucción en cada uno de ellos, lo que hace que se termine la ejecución de la sentencia switch al encontrar la coincidencia.

La instrucción “break” es opcional, pero la incluiremos siempre para ser metódicos.

En el último caso a evaluar no es necesaria la sentencia “break”, pues el programa saldrá de todas formas del switch.

Para tener en cuenta también los casos en los que no haya coincidencia, podemos optar por colocar la cláusula “default” dándole una serie de instrucciones que nos informe de la situación. Por ejemplo “No se ha hallado la expresión buscada”.

La cláusula “default”, igual que el “break”, es opcional y representa las instrucciones que se ejecutarán en caso de que no se verifique ninguno de los casos evaluados.

Para tener en cuenta:

  1. No puede haber dos casos con el mismo valor.
  2. Tanto el contenido de la “expresión” como el valor de cada caso deben coincidir en el tipo y formato en el switch.
  3. En los casos se debe utilizar siempre un valor constante (un número, o un texto entre comillas). No están permitidas las variables.
  4. La declaración break es opcional, se usa dentro del switch para finalizar una secuencia de instrucción. Si se omite, la ejecución continuará en el siguiente caso.
  5. La instrucción default es opcional, y debe aparecer al final del switch.
  6. La expresión puede ser del tipo de datos primitivos byte, short, char e int, también funciona con la clase Spring y Wrapper, en la versiones más actualizadas.
  7. Si utilizamos la clase String, esta no debe ser NULL.
  8. La comparación de objetos String en sentencias switch es sensible a mayúsculas y minúsculas (Case Sensitive). Por ello una buena práctica es estandarizar la expresión convirtiendo todas sus letras a mayúsculas o a minúsculas.
  9. Se pueden emplear en los casos expresiones matemáticas:
switch(5) {

    case 4 + 1:

    System.out.println("5");

    break;
    
    …………..
}

Ejemplo de código:

public class UsoInt{
    public static void main(String[] args){
        int num = 5;
        String dayString;
          // switch con tipo de datos int
        switch (num){
            case 1:  dayString = "Lunes";
                     break;
            case 2:  dayString = "Martes";
                     break;
            case 3:  dayString = "Miercoles";
                     break;
            case 4:  dayString = "Jueves";
                     break;
            case 5:  dayString = "Viernes";
                     break;
            case 6:  dayString = "Sabado";
                     break;
            case 7:  dayString = "Domingo";
                     break;
            default: dayString = "Dia inválido";
                     break;
        }
        System.out.println(dayString);
    }
}
¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: