Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Ingeniería Telemática
Programación 2020-2021
Control de flujo
• Lineal: por defecto, JVM ejecuta las sentencias en el orden en el que fueron
escritas.
Programación 2020-2021
Ejecución lineal
• Sentencias de expresión
• Expresión de asignación
• Formas prefijas y postfijas (e.g., ++ y - -)
• Llamadas a métodos
• Expresiones de creación de objetos
Programación 2020-2021
Ejercicio
Programación 2020-2021
Estructura alternativa simple
if ( condición ) <sentencia>;
false
Condición
if ( condición ) {
true
<bloque>
} Instrucciones
Programación 2020-2021
Solución
Programación 2020-2021
Condición
Programación 2020-2021
Errores comunes
• Dar la vuelta al operador !=, <=, >=, como en =!, =<, =>
• Poner un ; después del paréntesis derecho de la condición
Programación 2020-2021
Ejercicio
Programación 2020-2021
Estructura alternativa doble
if ( condición ) {
true false
Condición
<bloque if>
} else {
Programación 2020-2021
Solución
Programación 2020-2021
Ejercicio
Programación 2020-2021
Estructura alternativa multiple en cadena
if ( condición ) {
true
<bloque if 1>
} else if ( condición ) {
false
} else if ( condición ) {
false
<bloque else if 3>
true
} else {
<bloque else>
false
}
Solución
Programación 2020-2021
Estructura alternativa multiple switch
Util para sentencias múltiples con condiciones ==
switch (expresión_de_tipo_entera_o_cadena) {
case valor1: [sentencia_1_1;]
[sentencia:1_2;]
…
[break;]
case valor2: [sentencia_2_1;]
...
[break;]
...
case valorN: [sentencia_N_1;]
…
[break;]
[default: [sentencia_D_1;]
Programación 2020-2021
Instrucción condicional: switch
• El tipo de la expresión debe ser entera (int, short, byte, char) o, desde Java7, cadenas de
caracteres (String). No puede ser un valor lógico porque los valores true y false no tienen su
correspondiente numérico
• Los valores de la selección múltiple (valor1, valor2,…) tienen que ser constantes, se evalúan
en tiempo de compilación
• Si no toma ninguno de los valores indicados y se pone el bloque default (que es opcional) se
ejecutarán las instrucciones del mismo
• El break termina la ejecución del bloque switch. Si alguna de las opciones no contiene el
break correspondiente, la ejecución prosigue con las sentencias del siguiente case
Programación 2020-2021
Solución del ejercicio anterior con switch
Programación 2020-2021
Estructura alternativa anidada true
Condición
bloque
if ( condición ) {
if externo
<bloque if externo>
false
if ( condición ) {
true
Condición
<bloque if anidado>
}
bloque false
if anidado
<bloque if externo>
bloque
} [else] {
if externo
…
}
Sentencia if anidadas
if (x >= 30) {
if (x < 100) {
System.out.println("x está entre 30 y 100");
}
} else {
System.out.println("x es menor de 30");
}
Programación 2020-2021
¿Qué hace este código?
if (x > 5)
if (y > 5)
else
Programación 2020-2021