3. Conditionnelles¶
Instructions conditionnelles¶
Structure de base if-else¶
public class ExemplesConditionnels {
public static void main(String[] args) {
int age = 17;
// If simple
if (age >= 18) {
System.out.println("Vous êtes majeur");
}
// If-else
if (age >= 18) {
System.out.println("Vous êtes majeur");
} else {
System.out.println("Vous êtes mineur");
}
// If-else if-else
int note = 85;
if (note >= 90) {
System.out.println("Excellent");
} else if (note >= 80) {
System.out.println("Très bien");
} else if (note >= 70) {
System.out.println("Bien");
} else {
System.out.println("À améliorer");
}
}
}
Switch¶
Switch classique¶
public class ExemplesSwitch {
public static void main(String[] args) {
int jour = 3;
// Switch traditionnel
switch (jour) {
case 1:
System.out.println("Lundi");
break;
case 2:
System.out.println("Mardi");
break;
case 3:
System.out.println("Mercredi");
break;
default:
System.out.println("Autre jour");
break;
}
// Switch avec groupement de cas
String typeDejour;
switch (jour) {
case 1:
case 2:
case 3:
case 4:
case 5:
typeDejour = "Jour de semaine";
break;
case 6:
case 7:
typeDejour = "Fin de semaine";
break;
default:
typeDejour = "Jour invalide";
break;
}
}
}
Switch expressions (Java 14+)¶
public class ExemplesSwitchModerne {
public static void main(String[] args) {
String saison = "HIVER";
// Switch expression avec flèches
String activite = switch (saison) {
case "PRINTEMPS" -> "Jardinage";
case "ÉTÉ" -> "Natation";
case "AUTOMNE" -> "Randonnée";
case "HIVER" -> "Ski";
default -> "Repos";
};
// Switch avec yield
String message = switch (saison) {
case "PRINTEMPS" -> {
String temp = "Il fait doux";
yield temp + ", c'est le temps du " + activite;
}
case "HIVER" -> {
String temp = "Il fait froid";
yield temp + ", allons faire du " + activite;
}
default -> "Saison non reconnue";
};
// Switch avec types (Java 21+)
Object valeur = "42";
String resultat = switch (valeur) {
case Integer i -> "Nombre entier: " + i;
case String s -> "Chaîne: " + s;
case Double d -> "Nombre décimal: " + d;
default -> "Type non géré";
};
}
}
On pourrait réécrire un switch traditionnel en utilisant un switch avec when en Java (version 17 ou
ultérieure), en exploitant le pattern matching et les conditions when pour simuler un comportement similaire à
au if-else :
int note = 85;
String evaluation = switch (note) {
case int n when n >= 90 -> "Excellent";
case int n when n >= 80 -> "Très bien";
case int n when n >= 70 -> "Bien";
default -> "À améliorer";
};
System.out.
println(evaluation);
Explications :¶
case int n when n >= 90: Le motifint ncapture la valeur denotedans la variablen, et la conditionwhen n >= 90permet de tester la plage de valeurs.- Retour direct : Le
switchretourne une chaîne de caractères (String) en fonction de la condition remplie. default: Gère tous les cas non couverts par les conditions précédentes.
Remarques pour ton cours :¶
- Cette syntaxe est plus lisible que des
if-elseimbriqués, surtout pour des plages de valeurs. - Elle est idéale pour des notes de cours ou des exemples où tu veux montrer une alternative moderne au
if-else. - Assure-toi que tes étudiants utilisent Java 17 ou plus récent pour que ce code fonctionne.
Exemple pratique combiné¶
public class CalculatriceNotes {
public static void main(String[] args) {
int note = 85;
String mention;
// Utilisation de if pour validation
if (note < 0 || note > 100) {
System.out.println("Note invalide");
return;
}
// Utilisation de switch pour déterminer la mention
mention = switch (note / 10) {
case 10, 9 -> {
if (note == 100) {
yield "Parfait!";
}
yield "Excellent";
}
case 8 -> "Très bien";
case 7 -> "Bien";
case 6 -> "Passable";
default -> "Échec";
};
// Affichage du résultat formaté
System.out.printf("Note: %d/100%nMention: %s%n", note, mention);
}
}
Ce dernier exemple montre comment combiner les instructions conditionnelles avec le formatage des chaînes et les nouvelles fonctionnalités de switch. Il illustre également l’importance des validations et la façon dont les différentes structures de contrôle peuvent travailler ensemble.
Utilisation de l’IA
Page rédigée en partie avec l’aide d’un assistant IA. L’IA a été utilisée pour générer des explications, des exemples et/ou des suggestions de structure. Toutes les informations ont été vérifiées, éditées et complétées par l’auteur.