condicionales

Post on 26-May-2015

17.006 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

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.

top related