Els bucles són una part fonamental de la programació, ja que permeten executar un bloc de codi repetidament fins que es compleixi una condició específica. En aquest tema, explorarem els diferents tipus de bucles disponibles en Java i com utilitzar-los de manera efectiva.
Tipus de Bucles en Java
- Bucle
for
- Bucle
while
- Bucle
do-while
- Bucle
for-each
(per a col·leccions i arrays)
Bucle for
El bucle for
és ideal quan sabem quantes vegades volem repetir un bloc de codi. La seva sintaxi és la següent:
Exemple:
public class ForLoopExample { public static void main(String[] args) { for (int i = 0; i < 5; i++) { System.out.println("El valor de i és: " + i); } } }
Explicació:
- Inicialització:
int i = 0
- Inicialitza la variablei
a 0. - Condició:
i < 5
- El bucle s'executa mentrei
sigui menor que 5. - Actualització:
i++
- Incrementai
en 1 després de cada iteració.
Bucle while
El bucle while
s'utilitza quan no sabem exactament quantes vegades es repetirà el bloc de codi, però sabem la condició sota la qual s'ha de repetir.
Exemple:
public class WhileLoopExample { public static void main(String[] args) { int i = 0; while (i < 5) { System.out.println("El valor de i és: " + i); i++; } } }
Explicació:
- Condició:
i < 5
- El bucle s'executa mentrei
sigui menor que 5. - Actualització:
i++
- Incrementai
en 1 després de cada iteració.
Bucle do-while
El bucle do-while
és similar al while
, però garanteix que el bloc de codi s'executi almenys una vegada, ja que la condició es comprova després de l'execució del bloc de codi.
Exemple:
public class DoWhileLoopExample { public static void main(String[] args) { int i = 0; do { System.out.println("El valor de i és: " + i); i++; } while (i < 5); } }
Explicació:
- Bloc de codi: S'executa almenys una vegada.
- Condició:
i < 5
- El bucle s'executa mentrei
sigui menor que 5.
Bucle for-each
El bucle for-each
és especialment útil per iterar sobre arrays i col·leccions. La seva sintaxi és la següent:
Exemple:
public class ForEachLoopExample { public static void main(String[] args) { int[] numbers = {1, 2, 3, 4, 5}; for (int number : numbers) { System.out.println("El número és: " + number); } } }
Explicació:
- Tipus element:
int number
- Declara una variablenumber
de tipusint
. - Col·lecció:
numbers
- L'array sobre el qual iterem.
Exercicis Pràctics
Exercici 1: Bucle for
Escriu un programa que imprimeixi els números del 1 al 10 utilitzant un bucle for
.
Solució:
public class ForLoopExercise { public static void main(String[] args) { for (int i = 1; i <= 10; i++) { System.out.println(i); } } }
Exercici 2: Bucle while
Escriu un programa que imprimeixi els números del 1 al 10 utilitzant un bucle while
.
Solució:
public class WhileLoopExercise { public static void main(String[] args) { int i = 1; while (i <= 10) { System.out.println(i); i++; } } }
Exercici 3: Bucle do-while
Escriu un programa que imprimeixi els números del 1 al 10 utilitzant un bucle do-while
.
Solució:
public class DoWhileLoopExercise { public static void main(String[] args) { int i = 1; do { System.out.println(i); i++; } while (i <= 10); } }
Exercici 4: Bucle for-each
Escriu un programa que imprimeixi tots els elements d'un array de cadenes utilitzant un bucle for-each
.
Solució:
public class ForEachLoopExercise { public static void main(String[] args) { String[] fruits = {"Poma", "Plàtan", "Taronja", "Raïm"}; for (String fruit : fruits) { System.out.println(fruit); } } }
Resum
En aquesta secció, hem après sobre els diferents tipus de bucles en Java: for
, while
, do-while
i for-each
. Hem vist exemples pràctics de com utilitzar cada tipus de bucle i hem practicat amb exercicis per reforçar els conceptes apresos. Els bucles són una eina poderosa en la programació que ens permeten repetir blocs de codi de manera eficient i efectiva.
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