La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Tema – 5 Construcciones condicionales. 5.1. Introducción En un programa es usual ejecutar unas instrucciones u otras en función de unas condiciones especificadas.

Presentaciones similares


Presentación del tema: "Tema – 5 Construcciones condicionales. 5.1. Introducción En un programa es usual ejecutar unas instrucciones u otras en función de unas condiciones especificadas."— Transcripción de la presentación:

1 Tema – 5 Construcciones condicionales

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 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 5.2. If if (condición){ sentencia(s); } sentencia(s); PROGRAMACIÓN – Daniel Santiago 4

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 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 5.2.1. If-else if (condición){ sentencia(s); } else{ sentencia(s); } PROGRAMACIÓN – Daniel Santiago 7

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 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 5.2.1. If-else No es lo mismo: PROGRAMACIÓN – Daniel Santiago 10 if (n>0) if (a > b) z = a; else z = b; if (n>0){ if (a > b) z = a; } else z = b;

11 5.2.2. If-else-if PROGRAMACIÓN – Daniel Santiago 11 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.

12 5.2.2. If-else-if PROGRAMACIÓN – Daniel Santiago 12 if (condición 1){ sentencia(s); } else if (condición 2){ sentencia(s); } … else if (condición N){ sentencia(s); } else{ sentencia(s); }

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 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 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 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 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 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 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 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


Descargar ppt "Tema – 5 Construcciones condicionales. 5.1. Introducción En un programa es usual ejecutar unas instrucciones u otras en función de unas condiciones especificadas."

Presentaciones similares


Anuncios Google