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 de i = 0 fins a i < 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 de i = 0 fins a i < 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

Mòdul 2: Flux de Control

Mòdul 3: Programació Orientada a Objectes

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

Mòdul 8: Multithreading i Concurrència

Mòdul 9: Xarxes

Mòdul 10: Temes Avançats

Mòdul 11: Frameworks i Llibreries de Java

Mòdul 12: Construcció d'Aplicacions del Món Real

© Copyright 2024. Tots els drets reservats