Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Tema – 5Construcciones condicionales
5.1. Introducción• En un programa es usual ejecutar unas  instrucciones u otras en función de unas  condiciones especifica...
5.2. If• Esta construcción evalúa una condición, y si  ésta se evalúa como cierta, se ejecutan las  sentencias regidas por...
5.2. If     if (condición){         sentencia(s);     }     sentencia(s);PROGRAMACIÓN – Daniel Santiago   4
5.2. If• Ejemplo:      public static void main(String args[]){        int a = 24;        if(a%2 == 0)            a = a+1; ...
5.2.1. If-else• En este tipo de construcción se empieza  evaluando la condición. Si es cierta, se  ejecutan las instruccio...
5.2.1. If-else     if (condición){         sentencia(s);     }     else{          sentencia(s);     }PROGRAMACIÓN – Daniel...
5.2.1. If-else• Ejemplo:      public static void main(String args[]){        int a = 24;        if(a%2 == 0)            Sy...
5.2.1. If-else• El hecho de que la construcción else sea  opcional puede causar problemas de  ambigüedad.• Regla: una sent...
5.2.1. If-else• No es lo mismo:                   if (n>0)      if (n>0){                   if (a > b)    if (a > b)      ...
5.2.2. If-else-if• Esta construcción plantea varias condiciones  de forma escalonada que se evalúan  secuencialmente, de a...
5.2.2. If-else-if     if (condición 1){        sentencia(s);     }     else if (condición 2){           sentencia(s);     ...
5.2.2. If-else-if• Ejemplo:      public static void main(String args[]){        int hora = 23;        if((hora >= 0) && (h...
5.3. Operador condicional “?”• Es un operador condicional ternario.• Sintaxis:      expresión_1 ? expresión_2: expresión_3...
5.3. Operador condicional “?”• Ejemplo:      public static void main(String args[]){        int a = 5, b = 6, max;        ...
5.4. Switch• Equivalente a la estructura If-else-if, pero de forma más compacta, legible  y elegante.• Sintaxis:          ...
5.4. Switch• La expresión debe ser de tipo entero o carácter, al igual  que todas las constantes asociadas a cada case.• E...
5.4. Switch• Ejemplo:      public static void main(String args[]){        int num = 5;        switch(num){            case...
5.4. Switch• Puede haber algún case vacío, sin sentencias.  Este caso es útil cuando se quiere que varias  etiquetas case ...
5.4. Switch• Ejemplo:      public static void main(){        int num = 0;        switch(num){            case 0:          ...
Upcoming SlideShare
Loading in …5
×

T5 - Construcciones condicionales

1,555 views

Published on

Construcciones condicionales

Published in: Education
  • Be the first to comment

  • Be the first to like this

T5 - Construcciones condicionales

  1. 1. Tema – 5Construcciones condicionales
  2. 2. 5.1. Introducción• En un programa es usual ejecutar unas instrucciones u otras en función de unas condiciones especificadas en el código. Necesitaremos un mecanismo que nos permita seleccionar unas acciones determinadas dependiendo de cómo se evalúe estas condiciones.• Java tiene valores booleanos o lógicos (TRUE, FALSE) útiles en evaluaciones condicionales.PROGRAMACIÓN – Daniel Santiago 2
  3. 3. 5.2. If• Esta construcción evalúa una condición, y si ésta se evalúa como cierta, se ejecutan las sentencias regidas por el if. En caso contrario, el programa continúa ejecutándose por la siguiente instrucción en orden secuencial después del if.PROGRAMACIÓN – Daniel Santiago 3
  4. 4. 5.2. If if (condición){ sentencia(s); } sentencia(s);PROGRAMACIÓN – Daniel Santiago 4
  5. 5. 5.2. If• Ejemplo: public static void main(String args[]){ int a = 24; if(a%2 == 0) a = a+1; System.out.println(“Ahora es impar: ” + a); }PROGRAMACIÓN – Daniel Santiago 5
  6. 6. 5.2.1. If-else• En este tipo de construcción se empieza evaluando la condición. Si es cierta, se ejecutan las instrucciones regidas por el if, sino se ejecutan las instrucciones regidas por el else.PROGRAMACIÓN – Daniel Santiago 6
  7. 7. 5.2.1. If-else if (condición){ sentencia(s); } else{ sentencia(s); }PROGRAMACIÓN – Daniel Santiago 7
  8. 8. 5.2.1. If-else• Ejemplo: public static void main(String args[]){ int a = 24; if(a%2 == 0) System.out.println(“El número “ + a + “ es par”); else System.out.println(“El número “ + a + “ es impar”); }PROGRAMACIÓN – Daniel Santiago 8
  9. 9. 5.2.1. If-else• El hecho de que la construcción else sea opcional puede causar problemas de ambigüedad.• Regla: una sentencia else se asocia con el if precedente más cercano siempre y cuando éste no tenga ya asociado otro else.PROGRAMACIÓN – Daniel Santiago 9
  10. 10. 5.2.1. If-else• No es lo mismo: if (n>0) if (n>0){ if (a > b) if (a > b) z = a; z = a; else } z = b; else z = b;PROGRAMACIÓN – Daniel Santiago 10
  11. 11. 5.2.2. If-else-if• Esta construcción plantea varias condiciones de forma escalonada que se evalúan secuencialmente, de arriba abajo, hasta encontrar una que se cumpla. Entonces se ejecutan las instrucciones regidas por esa condición. Si no se encuentra ninguna condición cierta, se ejecutan las instrucciones regidas por el else.PROGRAMACIÓN – Daniel Santiago 11
  12. 12. 5.2.2. If-else-if if (condición 1){ sentencia(s); } else if (condición 2){ sentencia(s); } … else if (condición N){ sentencia(s); } else{ sentencia(s); }PROGRAMACIÓN – Daniel Santiago 12
  13. 13. 5.2.2. If-else-if• Ejemplo: public static void main(String args[]){ int hora = 23; if((hora >= 0) && (hora < 12)) System.out.println(“Buenos días”); else if((hora >= 12) && (hora < 18)) System.out.println(“Buenas tardes”); else if((hora >= 18) && (hora < 24)) System.out.println(“Buenas noches”); else System.out.println(“Hora no válida”); }PROGRAMACIÓN – Daniel Santiago 13
  14. 14. 5.3. Operador condicional “?”• Es un operador condicional ternario.• Sintaxis: expresión_1 ? expresión_2: expresión_3 – Si la primera expresión se evalúa cierta, toda la expresión toma el valor de la segunda expresión. Si la primera expresión se evalúa falsa, toda la expresión toma el valor de la tercera expresión.PROGRAMACIÓN – Daniel Santiago 14
  15. 15. 5.3. Operador condicional “?”• Ejemplo: public static void main(String args[]){ int a = 5, b = 6, max; max = (a > b) ? a : b; System.out.println(“El máximo es: ” + max); }PROGRAMACIÓN – Daniel Santiago 15
  16. 16. 5.4. Switch• Equivalente a la estructura If-else-if, pero de forma más compacta, legible y elegante.• Sintaxis: switch(expresión){ case constante_1: grupo_de_sentencias_1; break; case constante_2: grupo_de_sentencias_2; break; … default: grupo_de_sentencias_por_defecto; break; }PROGRAMACIÓN – Daniel Santiago 16
  17. 17. 5.4. Switch• La expresión debe ser de tipo entero o carácter, al igual que todas las constantes asociadas a cada case.• En primer lugar se evalúa la expresión. El resultado se compara con el valor de cada case, y si son iguales, se ejecutan las sentencias asociadas. Si ningún valor coincide con el resultado de la expresión, se ejecutan las sentencias del bloque default.• La sentencia break hace que la ejecución del switch termine. Se verá más en detalla esta sentencia en el tema 7, estructuras de salto.PROGRAMACIÓN – Daniel Santiago 17
  18. 18. 5.4. Switch• Ejemplo: public static void main(String args[]){ int num = 5; switch(num){ case 0: System.out.println(“CERO”); break; case 1: System.out.println(“UNO”); break; … default: System.out.println(“El número está fuera del rango”); break; } }PROGRAMACIÓN – Daniel Santiago 18
  19. 19. 5.4. Switch• Puede haber algún case vacío, sin sentencias. Este caso es útil cuando se quiere que varias etiquetas case ejecuten un mismo grupo de sentencias.PROGRAMACIÓN – Daniel Santiago 19
  20. 20. 5.4. Switch• Ejemplo: public static void main(){ int num = 0; switch(num){ case 0: case 1: System.out.println(“Es un CERO o un UNO”); break; … default: System.out.println(“El número está fuera del rango”); break; } }PROGRAMACIÓN – Daniel Santiago 20

×