Hoy vamos a ver que existen dos tipos de sentencias de decisiones en Java. Veamos cuales son:
- La sentencia if.
- La sentencia switch.
La sentencia if
Una sentencia if consiste en una expresión booleana seguida de una o más sentencias. Veamos la sintaxis:
if(expresion_Booleana) { //Sentencias se ejecutan si la expresión booleana es verdadera }1234 if(expresion_Booleana){ //Sentencias se ejecutan si la expresión booleana es verdadera }
Si la expresión booleana es verdadera, entonces el bloque de código dentro del if se ejecuta. Si no se ejecutará el primer grupo de código después del final de la instrucción if.
Veamos un ejemplo:
public class Curso { public static void main(String args[]){ int x = 15; if( x < 30 ){ System.out.print(“Esto es una sentencia if"); } } }12345678910 publicclassCurso{ publicstaticvoidmain(Stringargs[]){ intx=15; if(x<30){ Systemoutprint(“Esto es una sentencia if"); } }}
Si ejecutamos el código anterior obtendremos lo siguiente:
Esto es una sentencia if1 Esto es una sentencia if
La sentencia if..else
Una sentencia if puede ser seguido por una sentencia else, que se ejecuta cuando la expresión booleana es falsa.
Veamos la sintaxis:
if(expresion_Booleana) / / Se ejecuta cuando la expresión booleana es verdadera } else { / / Se ejecuta cuando la expresión booleana es falsa }12345 if(expresion_Booleana) //Se ejecuta cuando la expresiónbooleana es verdadera}else{ //Se ejecuta cuando la expresiónbooleana es falsa}
Veamos un ejemplo:
public class Curso { public static void main(String args[]){ int x = 40; if( x < 10 ){ System.out.print("Esto es una sentencia if"); }else{ System.out.print("Esto es una sentencia else"); } } }123456789101112 publicclassCurso{ publicstaticvoidmain(Stringargs[]){ intx=40; if(x<10){ Systemoutprint("Esto es una sentencia if"); }else{ Systemoutprint("Esto es una sentencia else"); } }}
Si ejecutamos el código anterior obtendremos lo siguiente:
Esto es una sentencia else1 Esto es una sentencia else
La sentencia if…else if…else
Una sentencia if puede ser seguido por un opcional else if … else, que es muy útil para comprobar varias condiciones.
Veamos la sintaxis:
if(expresion_Booleana_1) / / Se ejecuta cuando la expresión booleana 1 es verdadera } else if (expresion_Booleana_2) { / / Se ejecuta cuando la expresión booleana 2 es verdadera } else if (expresion_Booleana_3) { / / Se ejecuta cuando la expresión booleana 3 es cierto } else { / / Se ejecuta cuando ninguna condición anterior es verdadera. }123456789 if(expresion_Booleana_1) //Se ejecuta cuando la expresiónbooleana1es verdadera}elseif(expresion_Booleana_2){ //Se ejecuta cuando la expresiónbooleana2es verdadera}elseif(expresion_Booleana_3){ //Se ejecuta cuando la expresiónbooleana3es cierto}else{ //Se ejecuta cuando ninguna condiciónanterior es verdadera}
Veamos un ejemplo:
public class Curso { public static void main(String args[]){ int x = 45; if( x == 15 ){ System.out.print(“El valor de X es15"); }else if( x == 30 ){ System.out.print("El valor de X es 30"); }else if( x == 45 ){ System.out.print("El valor de X es 45"); }else{ System.out.print(“X no cumple ninguna de las condiciones anteriores"); } } }12345678910111213141516 publicclassCurso{ publicstaticvoidmain(Stringargs[]){ intx=45; if(x==15){ Systemoutprint(“El valor deXes15"); }else if( x == 30 ){ System.out.print("El valor deXes30"); }else if( x == 45 ){ System.out.print("El valor deXes45"); }else{ System.out.print(“X no cumple ninguna de las condiciones anteriores"); } }}
Si ejecutamos el código anterior obtendremos lo siguiente:
El valor de X es 451 El valor deXes45
La sentencia anidada if…else
También es posible usar una sentencia if o if…else dentro de otro if o if..else. Veamos la sintaxis:
if(expresion_Booleana_1) / / Se ejecuta cuando la expresión booleana 1 es verdadera if (expresion_Booleana_2) { / / Se ejecuta cuando la expresión booleana 2 es verdadera } }123456 if(expresion_Booleana_1) //Se ejecuta cuando la expresiónbooleana1es verdadera if(expresion_Booleana_2){ //Se ejecuta cuando la expresiónbooleana2es verdadera }}
Veamos un ejemplo:
public class Curso { public static void main(String args[]){ int x = 40; int y = 5; if( x == 40 ){ if( y == 5 ){ System.out.print("X = 30 y Y = 5"); } } } }12345678910111213 publicclassCurso{ publicstaticvoidmain(Stringargs[]){ intx=40; inty=5; if(x==40){ if(y==5){ Systemoutprint("X = 30 y Y = 5"); } } }}
Si ejecutamos el código anterior obtendremos lo siguiente:
X = 40 y Y = 51 X=40yY=5
La sentencia switch
Una sentencia switch permite a una variable ser probada por una lista de condiciones. Cada condición se llama case.Veamos la sintaxis:
switch (expresion) { case valor1: / / Declaraciones break; / / opcional case valor2: / / Declaraciones break; / / opcional / / Usted puede tener cualquier número de sentencias case. default: / / Opcional / / Declaraciones que cumplirá si la variable no entra en ningún caso. }1234567891011 switch(expresion){ casevalor1: //Declaraciones break;//opcional casevalor2: //Declaraciones break;//opcional //Usted puede tener cualquiernúmero de sentencias case default://Opcional //Declaraciones que cumplirási la variable no entra en ningúncaso}
Las siguientes reglas se aplican a una sentencia switch :
-
La variable que se utiliza en una sentencia switch sólo puede ser un byte, short , int, o char.
-
Puedes tener cualquier número de sentencias case dentro de un switch. Cada caso es seguido del valor a ser comparado.
-
El valor de un caso debe ser el mismo tipo de datos que la variable en el switch.
-
Cuando la variable del switch es igual a un caso, las instrucciones que siguen a ese caso se ejecutará hasta que se alcanza una sentencia break.
-
Cuando se llega a una sentencia break, el caso termina, y el flujo de control pasa a la siguiente línea después de la sentencia switch.
-
No todos los casos tiene que contener un break.
-
Una sentencia switch puede tener un caso por defecto (opcional), que debe aparecer al final del switch. El caso por defecto se puede utilizar para realizar una tarea cuando ninguno de los casos es cierto.
Veamos un ejemplo:
public class Curso { public static void main(String args[]){ char departamento = 'B'; switch(departamento) { case 'A' : System.out.println("Desarrollo"); break; case 'B' : System.out.println(“Recursos Humanos"); break; case 'C' : System.out.println("Finanzas"); break; case 'D' : System.out.println("Mercadeo"); default : System.out.println(“Departamento invalido"); } System.out.println(“Código para el departamento es " + departamento); } }123456789101112131415161718192021222324 publicclassCurso{ publicstaticvoidmain(Stringargs[]){ chardepartamento='B'; switch(departamento) { case'A': Systemoutprintln("Desarrollo"); break; case'B': Systemoutprintln(“Recursos Humanos"); break; case 'C' : System.out.println("Finanzas"); break; case 'D' : System.out.println("Mercadeo"); default : System.out.println(“Departamento invalido"); } Systemoutprintln(“Código para el departamento es"+departamento); }}
Si ejecutamos el código anterior obtendremos lo siguiente:
Recursos Humanos Código para el departamento es B12 Recursos HumanosCódigo para el departamento esB
Si por casualidad no sabes como compilar y probar los ejemplos de este curso con Java te recomiendo que le eches un vistazo a Como compilar y ejecutar un código en Java
Conclusión
En esta lección, vimos que existen dos tipos de sentencias de decisiones en Java (If y Switch). Si tienes alguna pregunta, yo estaré feliz de responderte en los comentarios, además espero que te unas y le eches un vistazo a todo el resto de este curso.
¡Te espero la próxima semana!