🔸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é";
};
}
}
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.
Note
Page rédigée en partie avec l’aide d’un assistant IA, principalement à l’aide de Perplexity AI, avec le LLM Claude 3.5 Sonnet. 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.