Condicionales
-
Upload
daniel-caceres -
Category
Documents
-
view
17.006 -
download
0
description
Transcript of Condicionales
![Page 1: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/1.jpg)
Los Condicionales
Fundamentos de JavaIng. Daniel Cáceres
![Page 2: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/2.jpg)
Los Condicionales
¿Qué es un condicional?¿Qué es un condicional?
![Page 3: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/3.jpg)
¿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
![Page 4: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/4.jpg)
¿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.
![Page 5: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/5.jpg)
¿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”);
}
![Page 6: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/6.jpg)
¿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?
![Page 7: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/7.jpg)
¿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.
![Page 8: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/8.jpg)
¿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.”);
![Page 9: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/9.jpg)
¿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.
![Page 10: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/10.jpg)
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.
![Page 11: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/11.jpg)
Los Condicionales
Operadores de RelaciónOperadores de Relación
![Page 12: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/12.jpg)
Operadores de Relación
• Para comparar cantidades numéricas hay seis posibles operadores:– Igual (==)– Diferente (!=)– Mayor o igual (>=)– Menor (<)– Menor o igual (<=)– Mayor (>)
![Page 13: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/13.jpg)
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.
![Page 14: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/14.jpg)
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.
![Page 15: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/15.jpg)
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”);
![Page 16: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/16.jpg)
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.
![Page 17: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/17.jpg)
Los Condicionales
Condicionales AnidadosCondicionales Anidados
![Page 18: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/18.jpg)
¿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?
![Page 19: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/19.jpg)
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.
![Page 20: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/20.jpg)
Los Condicionales
La sentencia “switch”La sentencia “switch”
![Page 21: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/21.jpg)
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;}
![Page 22: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/22.jpg)
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.
![Page 23: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/23.jpg)
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; }
![Page 24: Condicionales](https://reader034.fdocumento.com/reader034/viewer/2022050805/55648a17d8b42a73418b4dbf/html5/thumbnails/24.jpg)
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.