Java. Switch

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

Contenido Relacionado