Condicionales
-
Upload
daniel-caceres -
Category
Documents
-
view
17.006 -
download
0
description
Transcript of Condicionales
Los Condicionales
Fundamentos de JavaIng. Daniel Cáceres
Los Condicionales
¿Qué es un condicional?¿Qué es un condicional?
¿Qué es un condicional?
- Por favor, ¿qué camino debo tomar para abandonar este lugar?
- Eso depende -contestó el Gato sin abandonar su sonrisa.
- Depende, ¿de qué?- Pues del lugar a donde quieras ir.- Me es igual ir a un lado que a otro.- Entonces, poco importa el camino a
tomar.“Alicia en el País de las Maravillas”
Lewis Carroll
¿Qué son los condicionales?
• 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”);
}
¿Qué son los condicionales?
• 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?
¿Qué son los condicionales?
• 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”);
¿Te fijaste?– 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.
¿Qué son los condicionales?
• La hermana de la sentencia “if” es la sentencia “else”. En inglés quiere decir otra cosa. En nuestro contexto significa si no.
• O sea, para decirle a la computadora “si la persona tiene veinte años entonces imprime… pero si no, entonces imprime esta otra cosa” se hace así:
if(edad == 20)System.out.println(“Somos de la misma edad.”);
elseSystem.out.println(“Ahh!, no tienes mi edad.”);
¿Qué es un condicional?
• 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.
Ejericio
• Haz un programa que lea la edad e imprima un mensaje diferente para cada segmento de edad:– Menor a diez años– Menor o igual a veinte– Menor o igual a treinta– Mayor a treinta.
Los Condicionales
Operadores de RelaciónOperadores de Relación
Operadores de Relación
• Para comparar cantidades numéricas hay seis posibles operadores:– Igual (==)– Diferente (!=)– Mayor o igual (>=)– Menor (<)– Menor o igual (<=)– Mayor (>)
Operadores de Relación
• 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 importat
mayúsculas/minúsculas.
Operadores de Relación• Además de los operadores anteriores, para hacer
condiciones más complejas, se utilizan operadores lógicos.
• Son los siguientes:– Operador “Y” (&&)– Operador “O” (||)– Operador “no” (!)
• Significan lo mismo que en el lenguaje corriente.• El operador “no” se usa antes de la expresión.
Operadores de Relación
• Con estos 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”);
Operadores de Relación
• 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” junto con el “equals”.
– Se pueden mezclar con operadores lógicos una condición de números con una de cadenas.
Los Condicionales
Condicionales AnidadosCondicionales Anidados
¿Qué son condicionales anidados?• Aprendimos a tomar un
camino entre varios posibles. ¿Y si después de eso tenemos que volver a elegir?
• ¿Y si tenemos que tomar muchas decisiones para llegar a la respuesta final?
Condicionales Anidados
• 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.
Los Condicionales
La sentencia “switch”La sentencia “switch”
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• 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.
La Sentencia switch• Si omitimos la sentencia break, podemos
combinar los casos. switch (month) { case 1: case 3: (...) case 10: case 12: numDias = 31; break; case 4: case 6: case 9: case 11: numDias = 30; break; case 2: numDias = 28; break; }
Tarea
• Haz un programa de seguridad que pregunte el nombre de usuario, y después pregunte la contraseña.
• El progama debe reconocer tres usuarios, y cada uno con una contraseña distinta como es obvio.
• Debe imprimir un mensaje de error si no es ninguno de los tres usuarios.
• Debe imprimir un mensaje de bienvenida si la contraseña es correcta, y un mensaje de error si es incorrecta.