Les sentències switch
en Java són una manera eficient de gestionar múltiples condicions basades en el valor d'una variable. Són una alternativa a les sentències if-else
quan es tracta de comparar una variable amb diversos valors possibles. En aquesta secció, aprendrem com utilitzar les sentències switch
, veurem exemples pràctics i realitzarem exercicis per reforçar els conceptes apresos.
Conceptes Clau
-
Sintaxi de la Sentència Switch:
- La sentència
switch
avalua una expressió i executa el bloc de codi corresponent al cas que coincideixi amb el valor de l'expressió. - Cada cas es defineix amb la paraula clau
case
seguida del valor i dos punts (:
). - La paraula clau
break
s'utilitza per sortir del blocswitch
després d'executar un cas. - La paraula clau
default
defineix el bloc de codi que s'executa si cap dels casos coincideix amb el valor de l'expressió.
- La sentència
-
Estructura de la Sentència Switch:
switch (expressió) { case valor1: // codi a executar si expressió == valor1 break; case valor2: // codi a executar si expressió == valor2 break; // més casos... default: // codi a executar si cap cas coincideix }
Exemple Pràctic
Vegem un exemple pràctic per entendre millor com funcionen les sentències switch
en Java.
Exemple 1: Dies de la Setmana
public class SwitchExample { public static void main(String[] args) { int dia = 3; String nomDia; switch (dia) { case 1: nomDia = "Dilluns"; break; case 2: nomDia = "Dimarts"; break; case 3: nomDia = "Dimecres"; break; case 4: nomDia = "Dijous"; break; case 5: nomDia = "Divendres"; break; case 6: nomDia = "Dissabte"; break; case 7: nomDia = "Diumenge"; break; default: nomDia = "Dia invàlid"; break; } System.out.println("El dia de la setmana és: " + nomDia); } }
Explicació del Codi
- Declaració de la Variable: Declarem una variable
dia
amb el valor3
. - Sentència Switch: Utilitzem una sentència
switch
per determinar el nom del dia de la setmana basat en el valor dedia
. - Casos: Cada cas representa un dia de la setmana. Si
dia
és3
, s'executa el bloc de codi corresponent al cas3
, assignant "Dimecres" a la variablenomDia
. - Break: La paraula clau
break
s'utilitza per sortir del blocswitch
després d'executar el codi del cas corresponent. - Default: Si cap dels casos coincideix amb el valor de
dia
, s'executa el bloc de codidefault
, assignant "Dia invàlid" a la variablenomDia
.
Exercicis Pràctics
Exercici 1: Mesos de l'Any
Escriu un programa que utilitzi una sentència switch
per imprimir el nom del mes basat en un valor enter (1-12).
Solució
public class MesosDeLAny { public static void main(String[] args) { int mes = 5; String nomMes; switch (mes) { case 1: nomMes = "Gener"; break; case 2: nomMes = "Febrer"; break; case 3: nomMes = "Març"; break; case 4: nomMes = "Abril"; break; case 5: nomMes = "Maig"; break; case 6: nomMes = "Juny"; break; case 7: nomMes = "Juliol"; break; case 8: nomMes = "Agost"; break; case 9: nomMes = "Setembre"; break; case 10: nomMes = "Octubre"; break; case 11: nomMes = "Novembre"; break; case 12: nomMes = "Desembre"; break; default: nomMes = "Mes invàlid"; break; } System.out.println("El mes és: " + nomMes); } }
Exercici 2: Classificació d'Edats
Escriu un programa que utilitzi una sentència switch
per classificar una edat en una de les següents categories: "Infant", "Adolescent", "Adult" o "Sènior".
Solució
public class ClassificacioEdats { public static void main(String[] args) { int edat = 25; String categoria; switch (edat / 10) { case 0: case 1: categoria = "Infant"; break; case 2: categoria = "Adolescent"; break; case 3: case 4: case 5: categoria = "Adult"; break; default: categoria = "Sènior"; break; } System.out.println("La categoria d'edat és: " + categoria); } }
Errors Comuns i Consells
- Oblidar el
break
: Si oblides elbreak
després d'un cas, el programa continuarà executant els casos següents fins que trobi unbreak
o arribi al final del blocswitch
. Això es coneix com a "fall-through". - No utilitzar
default
: Sempre és una bona pràctica incloure un casdefault
per gestionar valors inesperats. - Comparació de Tipus: Assegura't que els valors dels casos siguin del mateix tipus que l'expressió del
switch
.
Resum
En aquesta secció, hem après com utilitzar les sentències switch
en Java per gestionar múltiples condicions de manera eficient. Hem vist la sintaxi bàsica, exemples pràctics i hem realitzat exercicis per reforçar els conceptes apresos. Les sentències switch
són una eina poderosa per simplificar el codi quan es tracta de comparar una variable amb diversos valors possibles.
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