¿Cómo crear Sentencias Switch en Java?

  1. Características de la Sentencia Switch en Java:
    1. La sintaxis básica del Switch es:
    2. Para tener en cuenta:
      1. Ejemplo de código:
Icono play
Java
Sentencia switch

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: