Java. Switch

Contenido Relacionado

Enviado por tech4life el

Podemos definir la sentencia Switch como una serie de ifs anidados. 

En el caso del switch tenemos una variable, que puede tener diferentes valoresm, y queremos realizar diferentes acciones para cada uno de sus valores. En este caso podriamos anidar distintos if-else, uno para cada valor, y esto iria evaluando en cada if el valor correcto y entraria dentro del código. Con el switch nos permite hacer lo mismo pero de una manera mucho más eficiente. 

Es decir esto : 

if (dayOfWeek == 1)
   dayTest = "It's monday";
else if (dayOfWeek == 2)
   dayTest = "It's tuesday";
else if (dayOfWeek == 3)
   dayTest = "It's wednesday";

se convierte en esto :

int dayOfWeek = 3;
String dayTest = "";
switch (dayOfWeek){
    case 1 :
        dayTest = "It's monday";
        break;
    case 2:
        dayTest = "It's tuesday";
        break;
    case 3:
        dayTest = "It's wednesday";
        break;
    case 4:
        dayTest = "It's thursday";
        break;
    case 5:
        dayTest = "It's friday";
        break;
    default:
        dayTest = "It's weekend";
}
System.out.println(dayTest);

Como vemos en el switch ponemos nuestra variable y en cada case el valor con el que queremos comprobar.

El switch tiene diferentes restricciones/ características. 

Dentro de cada case, podemos poner tantas sentencias distintas como queramos pero debemos acabar siempre con un break, si no, continuara por las instrucciones del siguiente case sin hacer caso a la condición de entrada.

Podemos tener un valor por default (es opcional), que entrará cuando no haya entrado en ninguno de los anteriores casos, y es el único que no le pondremos break.

Y muy importante, no podemos tener casos duplicados, si no nos dará un error.

 

Lenguaje
Nivel