Está en la página 1de 9
Estructuras de Decisién f Por Lic. José Salvador Olivares xg Cudndo evaluamos condiciones » El programa tiene que realizar tareas dependiendo de las condiciones que se le presenten. Por ejemplo si un numero es negativo o el salario excede el valor permitido. » Java debe de_ tener la forma de como hacer que nuestro programa ejecute su ldgica dependiendo de las decisiones que deba de tomar. » Por ejemplo si un valor esta fuera de un rango de valores, si una edad es invalida o si un nombre esta vacio. g Condicional "if’ Sencillo » Sintaxis de if: if (condicion) { instracciones, » La condici6n es unavexpresion que evalua a un booleano (true o false)» » Si la condicién evalda a true la condicién se cumple y se ejecutan las instrucciones dentro de la estructura. m__’ Si la condici6n evalua a false, no se ejecuta nada. Z Ejemplo con “if “ Sencillo public class EvaluarEdad { public static void main (String[ ] args}{ int edad; edad = 25; if (edad >= 18){ System.out.printIn(“Mayor de Edad. éQué hace este programa? éComo funciona la clase EvaluarEdad con el if sencillo? » Si la variable edad es mayor o igual a 18 afios el programa imprime “Mayor de edad“ » Si la edad es menor que 18 el programa no imprime nada. » En el condicional if sencillo solo evaluamos si la condicion se cumple, si no se cumple el programa no hace nada. Zz Condicionales Alternativos java » El condicional if sencillo nos permite ejecutar un conjunto de instrucciones si se cumple una condicion. Si la condicion no se cumple el programa no hace nada. » Pero en la mayoria de ocasiones tenemos que realizar una tarea si la condicién se cumple o no en lugar de no hacer nada. » Para resolver el caso mencionado tenemos ns que utilizar el condicional alternativo if-else Zz Condicional “if-else” » Sintaxis de if else: if (condicion) { instriicciones if; yelse{ instrugciones else; » La condicién jes una expresién que evaltia a un booleano (true o false). » Si la expresign evalia a true la ‘condicién se cumple y se ejecuta el/conjunto de /nstrucciones if. » Si la expresion evalua a false se ejecuta el conjunto m __deinstrucciones else. zg Ejemplo con “if -else” public class EvaluarEdad { public static void main (String[] args){ int edad: edad = 25; if (edad >= 18) { System.out.printIn(“Mayor de edad...”); Felse { System.out.printin(“Menor de edad...”); Qué hace este programa? éComo funciona la clase Java’ EvaluarEdad con el if else? » Si la variable edad es mayor o igual a 18 el programa imprime “Mayor de edad“ » Si la edad es menor que 18 el programa imprime “Menor de edad”. » En el condicional if else evaluamos si la condicién se cumple 0 no. Condicionales Anidadas Hemos evaluado el condicional if sencillo y el condicional if else alternativo. » Que debemos de hacer si queremos evaluar mas de dos posibilidades, es decir si queremos evaluar varias alternativas. En este caso debemos de utilizar un condicional if-else y dentro del else colocar otro condicional if-else hasta evaluar todas las posibles condiciones. »A esto se le conoce como condicionales me anidadas. tt Condicionales Anidadas z | » Sintaxis de if-else anidado: if (condicion!) { instrucciones 1, }else if (condicion2) { instrucciones2,; }else if (condicionZ) { instrucciones3,; Si_se cumple condicion? se yelse{ ejecuta las Vnstrucclones]: instruccionesN, Sise cumple la condicion2 se ejecuta las instrucciones?. Si_se cumple la condicion3 se ejecuta las instrucciones3. Si no. se cumple ninguna > condi ge eects Ejemplo con ia if -else anidado public static void main (String[] args){ int edad; edad = 25; if (edad >— 18){ Systern.out pind Mayer dead oe Jelke if (edad >= 15) £ System.out.printin(“Adolescente. }else : 1 System.outprintin¢Menor de ed — +Qué hace este programa? iComo funciona Ia clase EvaluarEdad con e/ if else anidado? » Si la edad es mayor de 18 se imprime “Mayor de edad”. >» Si la edad esta entre 15 y 17 se imprime “Adolescente” » Si la edad es menor de 15 se imprime “Menor de edad”. Zz Condicional “switch” » La instrucci6n switch() es una instrucci6n de decisién miltiple similar al if-else anidado, donde el programa busca el valor asignado a una variable el cual es comparado con una lista de valores ya sea enteros o char definida por el programador. Cuando el programa encuentra coincidencia con el valor de igualdad entonces se ejecuta las instrucciones asociados a dicho valor, si el programa no encuentra el valor de igualdad, entonces ejecuta las instrucciones definidas en la tm clausula default. EB Instruccion "switch" Sintaxis: los valores valori, valor2... switch (expresion) { deben ser literales. ‘case va/or? instrucciones! break: Los valores valor?, valor2 case va/or2: tienen que ser de tipo byte, instrucciones2; char, short o int. break; defiute La instrucc ak es “instrucciones ara. que el break rograma no evalue todos los Casos. Instruccién "switch” Sila, expresion evalua | el i is: valor se ejecuta las » Sintaxis: instrucciones 1. switch (expresion)L Si_ la, expresi6n evalua el case valor). * alor2._ se | ejecuta las Mid a instrucciones2. reek; case valor2. Si la expresién evalua el darucciones?: alorN se ejecuta las real; instruccionesN. case valorN: str gectarash, Si el valor no es contemplado ent por ningtin case se ejecuta ies instruccionesN (valor default) instruccionesN, + El default 55 ppelonal en la instruccion switch. Zs Ejemplo con switch Java public class Meses { public static void main (String[ ] args) { int mes = 12; switch (mes) { case 1: System.out printin ("Enero"); break; case 2: System.out.printin ("Febrero"); break; case 12. System.out.printin ("Diciembre"); break; default: System.out.printin("Mes no valido....") } | gs Notas importantes » La instruccién switch solo se puede utilizar con los tipos de datos byte, char, short e int. » Si queremos utilizar otros tipos de datos por ejemplo: float, double, boolean y String es obligatorio utilizar condicionales anidados. » Con condicionales anidados podemos hacer lo que hace la instruccién switch, pero con la instrucci6n switch tenemos limitantes ya que solo permite valores enteros y valores char. No podemos utilizar el tipo de dato String en el ndicional switch.

También podría gustarte