condicionales

24
Los Condicionales Fundamentos de Java Ing. Daniel Cáceres

Upload: daniel-caceres

Post on 26-May-2015

17.006 views

Category:

Documents


0 download

DESCRIPTION

Introducción a los condicionales en Java. Es la quinta de una serie de nueve presentaciones para introducir al mundo de JAVA a alumnos de secundaria.

TRANSCRIPT

Page 1: Condicionales

Los Condicionales

Fundamentos de JavaIng. Daniel Cáceres

Page 2: Condicionales

Los Condicionales

¿Qué es un condicional?¿Qué es un condicional?

Page 3: Condicionales

¿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

¿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

¿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

¿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

¿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

¿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

¿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

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

Los Condicionales

Operadores de RelaciónOperadores de Relación

Page 12: Condicionales

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

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

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

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

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

Los Condicionales

Condicionales AnidadosCondicionales Anidados

Page 18: Condicionales

¿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

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

Los Condicionales

La sentencia “switch”La sentencia “switch”

Page 21: Condicionales

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

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

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

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.