En aquest tema, explorarem dues instruccions de control de flux molt útils en Java: break
i continue
. Aquestes instruccions s'utilitzen per alterar el comportament normal dels bucles, permetent-nos sortir d'un bucle o saltar a la següent iteració respectivament.
Instrucció break
La instrucció break
s'utilitza per sortir d'un bucle abans que aquest hagi completat totes les seves iteracions. Quan es troba una instrucció break
dins d'un bucle, l'execució del bucle es deté immediatament i el control es transfereix a la següent instrucció després del bucle.
Exemple de break
public class BreakExample { public static void main(String[] args) { for (int i = 0; i < 10; i++) { if (i == 5) { break; // Sortir del bucle quan i és igual a 5 } System.out.println("i: " + i); } System.out.println("Bucle finalitzat."); } }
Explicació:
- El bucle
for
s'executa des dei = 0
fins ai < 10
. - Quan
i
arriba a 5, la instruccióbreak
es troba i el bucle es deté immediatament. - La sortida del programa serà:
i: 0 i: 1 i: 2 i: 3 i: 4 Bucle finalitzat.
Instrucció continue
La instrucció continue
s'utilitza per saltar la resta de l'iteració actual d'un bucle i passar directament a la següent iteració. Quan es troba una instrucció continue
, el codi restant dins del bucle per a l'iteració actual no s'executa i el bucle continua amb la següent iteració.
Exemple de continue
public class ContinueExample { public static void main(String[] args) { for (int i = 0; i < 10; i++) { if (i % 2 == 0) { continue; // Saltar la resta de l'iteració quan i és parell } System.out.println("i: " + i); } System.out.println("Bucle finalitzat."); } }
Explicació:
- El bucle
for
s'executa des dei = 0
fins ai < 10
. - Quan
i
és parell (i % 2 == 0
), la instrucciócontinue
es troba i la resta de l'iteració es salta. - La sortida del programa serà:
i: 1 i: 3 i: 5 i: 7 i: 9 Bucle finalitzat.
Exercicis Pràctics
Exercici 1: Utilitzant break
Escriu un programa que llegeixi números enters de l'usuari fins que l'usuari introdueixi un número negatiu. Quan es trobi un número negatiu, el programa ha de sortir del bucle i mostrar la suma de tots els números positius introduïts.
Solució:
import java.util.Scanner; public class BreakExercise { public static void main(String[] args) { Scanner scanner = new Scanner(System.in); int sum = 0; while (true) { System.out.print("Introdueix un número (negatiu per sortir): "); int num = scanner.nextInt(); if (num < 0) { break; // Sortir del bucle si el número és negatiu } sum += num; } System.out.println("La suma dels números positius és: " + sum); } }
Exercici 2: Utilitzant continue
Escriu un programa que imprimeixi tots els números de l'1 al 20, però que salti els múltiples de 3.
Solució:
public class ContinueExercise { public static void main(String[] args) { for (int i = 1; i <= 20; i++) { if (i % 3 == 0) { continue; // Saltar els múltiples de 3 } System.out.println(i); } } }
Resum
En aquest tema, hem après com utilitzar les instruccions break
i continue
per controlar el flux dels bucles en Java. La instrucció break
ens permet sortir d'un bucle abans que aquest hagi completat totes les seves iteracions, mentre que la instrucció continue
ens permet saltar la resta de l'iteració actual i passar directament a la següent. Hem vist exemples pràctics i hem realitzat exercicis per reforçar aquests conceptes. Ara estem preparats per avançar al següent tema del curs.
Curs de Programació en Java
Mòdul 1: Introducció a Java
- Introducció a Java
- Configuració de l'Entorn de Desenvolupament
- Sintaxi i Estructura Bàsica
- Variables i Tipus de Dades
- Operadors
Mòdul 2: Flux de Control
Mòdul 3: Programació Orientada a Objectes
- Introducció a la POO
- Classes i Objectes
- Mètodes
- Constructors
- Herència
- Polimorfisme
- Encapsulació
- Abstracció
Mòdul 4: Programació Orientada a Objectes Avançada
Mòdul 5: Estructures de Dades i Col·leccions
Mòdul 6: Gestió d'Excepcions
Mòdul 7: Entrada/Sortida de Fitxers
- Lectura de Fitxers
- Escriptura de Fitxers
- Fluxos de Fitxers
- BufferedReader i BufferedWriter
- Serialització
Mòdul 8: Multithreading i Concurrència
- Introducció al Multithreading
- Creació de Fils
- Cicle de Vida dels Fils
- Sincronització
- Utilitats de Concurrència
Mòdul 9: Xarxes
- Introducció a les Xarxes
- Sockets
- ServerSocket
- DatagramSocket i DatagramPacket
- URL i HttpURLConnection