Llamamos condicional cuando queremos que el programa “tome una decisión” sobre un asunto.
La computadora puede imprimir un mensaje diferente, según mi edad.¿Qué son los condicionales?
Queremos hacer un programa que primero me
pregunte mi edad e imprima “eres mayor de
edad” si soy mayor a dieciocho inclusive.
int edad;
(…)
if(edad >= 18)
{
System.out.println(“Eres mayor de edad”);
}
El programa anterior imprimirá “eres mayor de edad” si la variable edad vale 18 o si vale más de dieciocho.
Si ingreso una edad menor, no hace nada.
¿Qué tengo que hacer para que imprima “eres menor de edad”, si lo soy? ¿Y para que me diga que tengo dieciocho?.
En este otro ejemplo se hace así.
if(edad == 18)
System.out.println(“Tienes dieciocho”);
if(edad >= 18)
System.out.println(“Eres mayor de edad”);
if(edad < 18)
System.out.println(“Eres menor de edad”);
– No fue necesario poner llaves. Esto se puede si sólo voy a poner una línea dentro del “if”.
– Si cae dieciocho, entonces hay dos mensajes.
La hermana de la sentencia “if” es la sentencia “else”. En inglés quiere decir otra cosa. En nuestro contexto significa si no.
if(edad == 20)
System.out.println(“Somos de la misma edad.”);
else
System.out.println(“Ahh!, no tienes mi edad.”);
• Con la sentencia “if”podemos tomar una decisión.
• Con la sentencia “else” hacemos algo si no ocurre el “if”
• Con el “else if” podemos hacer que la computadora elija uno entre varios caminos.
Para comparar cadenas de texto se hace así:
If(cadena1.equals(cadena2))
{
System.out.println(“Las cadenas son iguales”);
}
• No debes usar el operador de igual (==) para cadenas, porque JAVA
considerará que son diferentes aunque valgan igual.
• También existe “equalsIgnoreCase” que compara sin importar mayúsculas/minúsculas.
Con los operadores lógicos se pueden hacer
condiciones un poco más complejas como: si tengo 10 ó 20 años, si me llamo “Rodrigo” y soy de “Guatemala”, etc.
if(edad==10 || edad==20)
System.out.println
(“A tu edad me enfermé gravemente”);
• Otras cosas sobre los operadores lógicos:
– A veces habrá que usar paréntesis para que la condición haga sentido.
– A propósito de las comparaciones de cadenas, para hacer una condición de cadenas “distintas” se usa el operador lógico “(no) que es (||)” junto con el “equals”.
– Se pueden mezclar con operadores lógicos una condición de números con una de cadenas.
¿Qué son condicionales anidados?
• Aprendimos a tomar uncamino entre varios posibles. ¿Y si después de eso tenemos que volver a elegir?
Imagina que nuestro programa ahora
pregunta nuestro nombre, nuestra edad,
nuestro NIT si somos mayores, nos
pregunta si estudiamos o no, en qué colegio
estudiamos, etc. ¿Cómo lo harías?
• El ejemplo está en tu bandeja de correo.
La Sentencia switch
La sentencia switch sirve para ahorrar tiempo y código.
int mes=8;
switch(mes)
{ case 1: System.out.print(“enero”); break;
case 2: System.out.print(“febrero”); break;
case 3: System.out.print(“marzo”); break;
(...)
default: System.out.print(“Mes inválido”);
break;
}
• La sentencia switch tiene una función muy parecida a la que tendrían muchos if / else if / else.
• La sentencia switch sólo trabaja con variables de tipo byte, short, char e int.
• La función que cumple un default es la misma que un else.
No hay comentarios:
Publicar un comentario