1.4 Conditions

Java propose if/else et switch. Le switch a ete modernise a partir de Java 14.

1. if / else if / else

int tailleFichier = 512; // en Mo

if (tailleFichier > 1000) {
    System.out.println("Fichier trop volumineux");
} else if (tailleFichier > 100) {
    System.out.println("Fichier moyen");
} else {
    System.out.println("Petit fichier");
}

2. Operateur ternaire

Raccourci pour un if/else simple : condition ? valeurSiVrai : valeurSiFaux

String statut = tailleFichier > 1000 ? "trop grand" : "OK";

3. switch classique

String extension = "pdf";

switch (extension) {
    case "pdf":
        System.out.println("Document PDF");
        break; // IMPORTANT : sans break, execution continue vers le cas suivant
    case "jpg":
    case "png":
        System.out.println("Image");
        break;
    default:
        System.out.println("Type inconnu");
}

4. switch moderne — expression (Java 14+)

Plus concis, pas de break, peut retourner une valeur directement.

String extension = "pdf";

String type = switch (extension) {
    case "pdf"        -> "Document";
    case "jpg", "png" -> "Image";      // plusieurs cas sur une ligne
    case "mp4"        -> "Video";
    default           -> "Inconnu";
};

System.out.println(type); // "Document"

Avec un bloc si la logique est plus complexe :

String description = switch (extension) {
    case "pdf" -> {
        String msg = "Document au format PDF";
        yield msg; // yield remplace return dans un switch expression
    }
    default -> "Autre";
};
Comparaison PHP : Le match de PHP 8 est inspire du switch moderne Java. Meme logique : pas de fall-through, retourne une valeur.

5. Operateurs de comparaison

// Primitifs : == compare les valeurs
int a = 5;
int b = 5;
a == b   // true

// Objets (String, etc.) : == compare les references, pas les valeurs !
String s1 = new String("hello");
String s2 = new String("hello");
s1 == s2       // false ! (deux objets differents en memoire)
s1.equals(s2)  // true  (compare le contenu)
Toujours utiliser .equals() pour comparer des String. C'est un piege classique en Java.

JBDC — Apercu

Les conditions serviront a valider les fichiers. En phase 3, on ecrira ce genre de logique :

// Determiner le type d'un fichier par son extension
String type = switch (extension.toLowerCase()) {
    case "pdf", "docx", "txt" -> "document";
    case "jpg", "png", "gif"  -> "image";
    case "mp4", "avi"         -> "video";
    default                   -> "inconnu";
};

// Valider la taille avant upload
if (taille > 2_000_000_000L) {
    logger.warn("Fichier trop volumineux : {} octets", taille);
} else {
    logger.info("Fichier accepte : {} ({})", nom, type);
}
Precedent : Methodes et static Suivant : Boucles