A tu propio ritmo

Explora nuestra extensa colección de cursos diseñados para ayudarte a dominar varios temas y habilidades. Ya seas un principiante o un aprendiz avanzado, aquí hay algo para todos.

Bootcamp

Aprende en vivo

Únete a nosotros en nuestros talleres gratuitos, webinars y otros eventos para aprender más sobre nuestros programas y comenzar tu camino para convertirte en desarrollador.

Próximos eventos en vivo

Catálogo de contenidos

Para los geeks autodidactas, este es nuestro extenso catálogo de contenido con todos los materiales y tutoriales que hemos desarrollado hasta el día de hoy.

Tiene sentido comenzar a aprender leyendo y viendo videos sobre los fundamentos y cómo funcionan las cosas.

Buscar en lecciones


IngresarEmpezar
← Regresar a lecciones
Editar en Github

Condicionales en la programación en Java

Utilizando if... then... else

Dominar el uso de las condiciones es una de las 5 habilidades fundamentales de construir algoritmos:

  1. Variables.
  2. Condicionales.
  3. Arrays(Arreglos).
  4. Loops(Bucles).
  5. Funciones.

Las condiciones son la única forma en que los desarrolladores tienen que decirle a la computadora cómo tomar decisiones en tiempo real, muy similar a cómo funcionan los cerebros humanos.

Digamos que estamos construyendo un programa para ayudarnos a elegir qué almacenar y odiamos el color azul, podemos decirle a la computadora que evite el azul usando una condición como esta:

If color is not blue, then... do something.
Else... do nothing or exit.

Condicionales

Las sentencias de decisión son: if-then-else y switch.

Utilizando if... then... else

La estructura de las sentencias if-then-else es:

1if (expresion) { 2 // Bloque then 3} else { 4 // Bloque else 5}

Se evalúa la expresión indicada en la sentencia if. En el caso de que la expresión sea true se ejecutará el bloque de sentencias then y en el caso de que la expresión sea false se ejecutará el bloque de sentencias else.

La parte del else no tiene por qué existir. En este caso tendríamos una sentencia if-then.

1if (expresion) { 2 // Bloque then 3}

De esta forma podríamos tener el siguiente código fuente:

1int valor = 4; 2 3if (valor < 10) { 4 System.out.println("El número es menor de 10"); 5} else { 6 System.out.println("El número es mayor de 10"); 7}

Las sentencias if-then-else pueden estar anidadas y así nos encontraríamos con una sentencia if-then-else if, la cual tendría la siguiente estructura:

1if (expresion) { 2 // Bloque then 3} else if { 4 // Bloque else 5} else if { 6 // Bloque else 7} else if { 8 // Bloque else 9} ...

De esta forma podemos tener el siguiente código:

1int valor = 14; 2 3if (valor < 10) { 4 System.out.println("El valor es una unidad"); 5} else if (valor < 100) { 6 System.out.println("El valor es una decena"); 7} else if (valor < 1000) { 8 System.out.println("El valor es una centena"); 9} else if (valor < 10000) { 10 System.out.println("El valor es un millar"); 11} else { 12 System.out.println("Es un número grande"); 13}

Utilizando switch

Para los casos en los que se tienen muchas ramas o caminos de ejecución en una sentencia if tenemos la sentencia switch. La sentencia switch evalúa una expresión y ejecuta el bloque de sentencias que coincida con el valor de la expresión.

El valor de la expresión tiene que ser numérico. Aunque a partir de Java SE 7 ya se pueden utilizar expresiones cuya evaluación sean cadenas.

La estructura de la sentencia switch es:

1switch (expresion) { 2 case valor1: 3 bloque1; 4 break; 5 case valor2: 6 bloque2; 7 break; 8 case valor3: 9 bloque3; 10 break; 11 ... 12 default: 13 bloque_por_defecto; 14}

Es importante ver que utilizar la sentencia break. La sentencia break hace que se salga de la sentencia switch y por lo tanto no se evalúe el resto de sentencias. Por lo tanto su uso es obligatorio al final de cada uno de los bloques.

Un ejemplo claro en el que podemos utilizar la sentencia switch es para evaluar el valor de un mes en numérico y convertirlo a cadena. Este código quedaría de la siguiente forma:

1int iMes = 3; 2String sMes; 3 4switch (iMes) { 5 case 1: 6 sMes = "Enero"; 7 break; 8 case 2: 9 sMes = "Febrero"; 10 break; 11 case 3: 12 sMes = "Marzo"; 13 break; 14 case 4: 15 sMes = "Abril"; 16 break; 17 case 5: 18 sMes = "Mayo"; 19 break; 20 case 6: 21 sMes = "Junio"; 22 break; 23 case 7: 24 sMes = "Julio"; 25 break; 26 case 8: 27 sMes = "Agosto"; 28 break; 29 case 9: 30 sMes = "Septiembre"; 31 break; 32 case 10: 33 sMes = "Octubre"; 34 break; 35 case 11: 36 sMes = "Noviembre"; 37 break; 38 case 12: 39 sMes = "Diciembre"; 40 break; 41 default: 42 sMes = "Mes incorrecto"; 43} 44 45System.out.println(sMes);

Se trata de qué preguntas hacer

El ejemplo anterior era una condición simple, pero en la vida real, elegir qué hacer implica una combinación de varias condiciones para tomar la decisión final, por ejemplo: Veamos este algoritmo que le dice a una computadora cómo decidir qué ponerse durante el día de San Valentín:

What ot ware in valentines day

Si quieres representar este algoritmo en Java, se verá algo así:

1if (goingOut){ 2 if (canIGetBurger){ 3 if (placeBotleWine){ 4 if (coolMix){ 5 /* do something */ 6 } 7 }else{ 8 if (blazers > 3){ 9 /* do something */ 10 }else{ 11 /* do something */ 12 } 13 } 14 }else if (shePants){ 15 /* do something */ 16 }else{ 17 /* do something */ 18 } 19}else{ 20 if (nakedSheDoor){ 21 /* do something */ 22 }else if (blazers > 3){ 23 /* do something */ 24 }else{ 25 /* do something */ 26 } 27}