F.4411.316.013 - POEJ/MIXTO/F.
Generation/
Curso JAVA (Online-Nacional) 3ªEd.
Java Bootcamp
Eduardo Corral Muñoz
eoi_eduardo@corral.es
Estructuras
de control
Índice
_01 Introducción _06 break y continue
_02 if … else
_03 switch
_04 Bucle for/foreach
_05 Bucles while
y do while
01
Introducción
¿Qué son las estructuras de control?
Las estructuras de control permiten modificar el flujo de ejecución
de las instrucciones de un programa.
Con las estructuras de control se puede:
• De acuerdo con una condición, ejecutar un grupo u otro de
sentencias (if-else)
• De acuerdo con el valor de una variable, ejecutar un grupo u
otro de sentencias (switch)
• Ejecutar un grupo de sentencias mientras se cumpla una
condición (while)
• Ejecutar un grupo de sentencias hasta que se cumpla una
condición (do while)
• Ejecutar un grupo de sentencias un número determinado de
veces (for, foreach)
¿Qué son las estructuras de control?
Todas las estructuras de control tienen un único punto de
entrada.
Las estructuras de control se pueden clasificar en: secuenciales,
iterativas y selectivas.
Constituyen uno de los principios de la programación
estructurada.
02
Estructuras if … else
if
Ejecuta una instrucción o grupo
de instrucciones en función de
una condición booleana
Si se cumple la condición,
ejecuta un bloque de
instrucciones
Si no se cumple la condición, se
salta ese bloque.
if (condición){
// Grupo de instrucciones
}
if … else
Ejecuta una instrucción o grupo
de instrucciones en función de
una condición booleana
Si se cumple la condición,
ejecuta el bloque de
instrucciones 1.
Si no se cumple la condición,
ejecuta el bloque de
instrucciones 2.
if (condición){
// Grupo de instrucciones1
}else{
// Grupo de instrucciones2
}
if … else if … else Si se cumple la condición 1,
ejecuta el bloque de
instrucciones 1.
Si no se cumple la condición 1 y
se cumple la condición 2, ejecuta
el bloque de instrucciones 2.
Si no se cumple la condición 1 y
se no cumple la condición 2,
ejecuta el bloque de
instrucciones 3.
if (condición 1){
// Grupo de instrucciones1
}else if (condición 2){
// Grupo de instrucciones 2
}else{
// Grupo de instrucciones 3
}
Ejemplos
Aplicar una decisión if en el ejemplo del login
Aplicar una decisión if…else en el mismo ejemplo
Crear un sistema de comentarios en función de la nota obtenida
por un alumno en un examen empleando estructuras if… else if.
Indicar los días que tienen los meses del año si el año es
bisiesto.
03
Estructuras switch
Ejecuta una instrucción o grupo
switch de instrucciones en función del
valor/contenido de una variable
de control.
Si se cumple ningún caso de
ejecuta el bloque default (si
existe).
switch (variable){
case val1:
// Grupo 1
break;
case val2:
// Grupo 2
break;
default:
// Grupo default
break;
}
Ejemplos
Crear un sistema de comentarios en función de la nota obtenida
por un alumno en un examen empleando estructuras switch.
Crear una estructura switch cuya variable sea primero un entero y
modificar a String.
Indicar los días que tienen los meses del año si el año es bisiesto
empleando switch.
Conversión del número de mes (1-12) a su nombre con switch
04
for / foreach
for
Ejecuta una instrucción o grupo
de instrucciones de forma
repetitiva hasta que la variable
de control cumple la condición
final.
for(inicio; c.final; incremento){
//Grupo de instrucciones
}
Ejemplos
Mostrar por consola los números enteros del 0 al 20 con distintos
incrementos
Sumar los números enteros desde 0 hasta 20 y mostrar el
resultado por consola.
Calcular el factorial de un número
Mostrar por consola los caracteres ASCII del 65 al 90
Mostrar por consola los caracteres ASCII del 65 al 90 en orden
inverso
Mostrar por consola los caracteres ASCII del 65 al 90, pero solo
los códigos impares/pares.
Recorrer una matriz de strings que contiene nombres
Anidar dos
foreach
Ejecuta una instrucción o grupo
de instrucciones de forma
repetitiva recorriendo (iterando)
todos los elementos de un objeto
o clase (matriz, lista,
colección,…).
for(tipo variable: objetivo){
//Grupo de instrucciones
}
La variable ha de ser del mismo
tipo que el contenido del
objetivo.
Ejemplos
Mostrar todos los elementos de una matriz de números enteros
Calcular la suma de todos los elementos de la matriz anterior
Mostrar todos los elementos de una matriz de nombres
Convertir en mayúsculas todos los elementos de la matriz
anterior
05
while / do while
while
Ejecuta una instrucción o grupo
de instrucciones de forma
repetitiva mientras que se
cumpla la condición.
Evalúa la condición antes de
ejecutar
while (condición){
//Grupo de instrucciones
}
do while
Ejecuta una instrucción o grupo
de instrucciones de forma
repetitiva mientras que se
cumpla la condición.
Evalúa la condición después de
ejecutar instrucción o grupo de
instrucciones, así que al menos
se ejecuta una vez
do {
//Grupo de instrucciones
} while (condición);
while / do while
! BUCLES
INFINITOS!
DEBUG
Ejemplos
Mostrar por consola los números enteros del 0 al 20 con distintos
incrementos
Sumar los números enteros desde 0 hasta 20 y mostrar el
resultado por consola.
Calcular el factorial de un número
Mostrar por consola los caracteres ASCII del 65 al 90
Mostrar por consola los caracteres ASCII del 65 al 90 en orden
inverso
Mostrar por consola los caracteres ASCII del 65 al 90, pero solo
los códigos impares/pares.
Recorrer una matriz de strings que contiene nombres
06
break / continue
break
Podemos crear una condición de salida del bucle for/while sin
esperar a que se cumpla la condición de salida.
for (int i=0; i<=10; i++){
if(i==2){
break;
}
System.out.println("i = " + i);
}
continue
Dentro de un bucle for/while podemos saltar alguna de las
iteraciones
for (int i=0; i<=10; i++){
if(i==2){
continue;
}
System.out.println("i = " + i);
}