Control de flujo
¿Qué es el flujo de un programa? • Es el orden con el cual el ordenador ejecuta instrucciones • El orden común es en secuencia, instrucción por instrucción • El bloque es el que permite este orden secuencial • Un bloque está marcado con llaves: { instruccion1; instruccion2; instruccion3; … }
2
¿Qué es el flujo de un programa? • En Java, existen dos estructuras que cambian el flujo de control: – Estructuras condicionales: un bloque sólo se ejecuta bajo ciertas condiciones – Estructuras de repetición: un mismo bloque se ejecuta repetidamente
• Ejemplos: – Escribir un mensaje de saludo si encuentras el nombre de un amigo – Escribir “¡Hola Mundo!” 10 o 100 o 1000 veces
3
Instrucciones condicionales • • • • •
if if-else if-else-if switch El operador ?:
4
Instrucci贸n if Sintaxis:
if (<expresi贸n-boolean>) <bloque-o-instruccion>
Control de flujo expresi贸n-boolean true
false
bloque-o-instruccion 5
Ejercicio â&#x20AC;˘ Saber si un nĂşmero es divisible por otro (el resultado de la divisiĂłn es un entero)
6
Instrucci贸n if-else Sintaxis:
if (<expresi贸n-boolean>) <bloque-o-instruccion1> else <bloque-o-instruccion2>
expresi贸n-boolean true bloque-o-instruccion1
false bloque-o-instruccion2 7
Ejercicio • Saber si un número entero está dentro del intervalo [-128, …, 127] • Si es el caso, escribir que el número es un byte • En caso contrario, mostrar mensaje de error
8
Instrucci贸n if-else-if Sintaxis:
if (<expresi贸n-boolean1>) <bloque-o-instruccion1> else if (<expresi贸n-boolean2>) <bloque-o-instruccion2>
... else if (<expresi贸n-booleanN-1>) <bloque-o-instruccionN-1> else <bloque-o-instruccionN>
9
Ejercicio â&#x20AC;˘ Saber si un nĂşmero es positivo, negativo, o cero
10
Ejercicio • Saber si un carácter es un dígito, una letra mayúscula o una letra minúscula • ASCII: – dígito: 48 – 57 – letra mayúscula: 65 – 90 – letra minúscula: 97 – 122
11
Instrucción if-else • Sin llaves, cada else siempre está asociado con el if más cercano • Ejemplo: Saber si ambos números x e y son mayor que 0
12
Instrucción if-else if (x > 0) if (y > 0) System.out.println(“Ambos mayor que 0"); else System.out.println(“Alguno no mayor que 0");
13
Instrucción if-else if (x > 0) { if (y > 0) System.out.println(“Ambos mayor que 0"); } else System.out.println(“Alguno no mayor que 0");
14
Instrucci贸n if-else-if Sentido:
if (<expresi贸n-boolean1>) <bloque-o-instruccion1> else { if (<expresi贸n-boolean2>) <bloque-o-instruccion2> else { ... } }
15
Instrucción switch • A menudo la expresión boolean de un if-else-if depende de una sola variable de tipo primitivo • Tipos primitivos = palabras reservadas; por ejemplo byte, int, double pero no String • En este caso se puede utilizar otra instrucción llamada switch • Más compacto que un if-else-if
16
Instrucci贸n switch switch (<selector>) { case <etiqueta1>: case <etiqueta2>:
<sentencias1>; break; <sentencias2>; break;
... case <etiquetan>: default:
<sentenciasn>; break; <sentenciasd>; // opcional
}
17
Ejercicio • Leer un número entero entre 1 y 10 • Mostrar el número escrito en numerales romanos
18