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
switchavalua 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
caseseguida del valor i dos punts (:). - La paraula clau
breaks'utilitza per sortir del blocswitchdesprés d'executar un cas. - La paraula clau
defaultdefineix 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
diaamb el valor3. - Sentència Switch: Utilitzem una sentència
switchper 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
breaks'utilitza per sortir del blocswitchdespré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 elbreakdesprés d'un cas, el programa continuarà executant els casos següents fins que trobi unbreako arribi al final del blocswitch. Això es coneix com a "fall-through". - No utilitzar
default: Sempre és una bona pràctica incloure un casdefaultper 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
