Booleans and selection: if/else and logic · Booléens et sélection : if/else et logique
Booleans and selection
- A boolean is a value that is either
trueorfalse. - Programs make choices by testing a boolean and running different code.
- In this lesson you learn
if/else if/elseand how to build conditions.
Booléens et sélection
- Un booléen est une valeur qui est soit
truesoitfalse. - Les programmes font des choix en testant un booléen et en exécutant différents codes.
- Dans cette leçon, vous apprenez
if/else if/elseet comment construire des conditions.
Relational operators
- These compare two values and give a
boolean:<less than,>greater than<=less or equal,>=greater or equal==equal,!=not equal
- Note:
=puts a value into a variable, but==tests if two values are equal.
Opérateurs relationnels
- Ceux-ci comparent deux valeurs et donnent un
boolean:<inférieur,>supérieur<=inférieur ou égal,>=supérieur ou égal==égal,!=différent
- Remarque :
=affecte une valeur à une variable, mais==teste si deux valeurs sont égales.
public class Main {
public static void main(String[] args) {
int score = 75;
System.out.println(score > 50); // true
System.out.println(score == 100); // false
System.out.println(score != 75); // false
}
}
if / else if / else
ifruns a block only when its condition istrue.else ifchecks another condition when the ones before werefalse.elseruns when none of the conditions were true.
if / else if / else
ifexécute un bloc uniquement lorsque sa condition esttrue.else ifteste une autre condition lorsque celles avant étaientfalse.elseexécute lorsque aucune des conditions n'était vraie.
public class Main {
public static void main(String[] args) {
int n = -4;
if (n > 0) {
System.out.println("positive");
} else if (n < 0) {
System.out.println("negative");
} else {
System.out.println("zero");
}
}
}
Logical operators
&&means and: true only when both sides are true.||means or: true when at least one side is true.!means not: it flipstruetofalseandfalsetotrue.
Opérateurs logiques
&&signifie et : vrai uniquement lorsque les deux côtés sont vrais.||signifie ou : vrai lorsque au moins un côté est vrai.!signifie non : il inversetrueenfalseetfalseentrue.
public class Main {
public static void main(String[] args) {
int age = 16;
boolean teen = age >= 13 && age <= 19;
System.out.println(teen); // true
System.out.println(!teen); // false
System.out.println(age < 13 || age > 19); // false
}
}
Short-circuit
- Java reads
&&and||from left to right and stops early when it can. - With
&&, if the left side isfalse, the answer is alreadyfalse, so the right side is skipped. - With
||, if the left side istrue, the answer is alreadytrue, so the right side is skipped. - This lets you check something is safe before you use it.
Court-circuit
- Java lit
&&et||de gauche à droite et s'arrête précocement quand possible. - Avec
&&, si le côté gauche estfalse, la réponse est déjàfalse, donc le côté droit est ignoré. - Avec
||, si le côté gauche esttrue, la réponse est déjàtrue, donc le côté droit est ignoré. - Cela permet de vérifier quelque chose de sûr avant de l'utiliser.
public class Main {
public static void main(String[] args) {
int x = 0;
// Left side is false, so x / x is never run (no error).
boolean ok = (x != 0) && (10 / x > 1);
System.out.println(ok); // false
}
}
The == vs .equals() String trap
- For
intandboolean,==works fine. - For
String,==checks if they are the same object in memory, not the same letters. - Two Strings with the same letters can still be different objects, so
==may befalse. - Always compare Strings with
.equals(...).
Le piège == vs .equals() String
- Pour
intetboolean,==fonctionne bien. - Pour
String,==vérifie s'ils sont le même objet en mémoire, pas les mêmes lettres. - Deux Strings avec les mêmes lettres peuvent être des objets différents, donc
==peut êtrefalse. - Toujours comparez des Strings avec
.equals(...).
public class Main {
public static void main(String[] args) {
String a = "cat";
String b = new String("cat");
System.out.println(a == b); // false (different objects)
System.out.println(a.equals(b)); // true (same letters)
}
}
Common mistakes
- A condition must be a
boolean;if (x = 5)does not compile. - Each
switchcase needs abreak;.
Erreurs courantes
- Une condition doit être un
boolean;if (x = 5)ne se compile pas. - Chaque cas
switchnécessite unbreak;.
Now you try
- Each task pre-fills the class skeleton — write your code inside main, or complete the method shown.
- Press Run to compile and run, then Check answer.
- Your code compiles and runs on the server, so even the first run is fast.
À vous maintenant
- Chaque tâche préremplit le squelette de classe — écrivez votre code dans main, ou complétez la méthode montrée.
- Appuyez sur Exécuter pour compiler et exécuter, puis sur Vérifier la réponse.
- Votre code compile et s'exécute sur le serveur, donc même la première exécution est rapide.
Boolean logic (and/or/not) · Logique booléenne (and/or/not)
&&, ||, ! combine true/false values — see the truth table. · &&, ||, ! combinent des valeurs vrai/faux — voir la table de vérité.
The variable n is -4. Use if / else if / else to print exactly one word: positive if · si n > 0, negative if · si n < 0, or zero otherwise. · La variable n est -4. Utilisez if / else if / else pour afficher exactement un mot : positive si n > 0, negative si n < 0, ou zero sinon.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
Complete equal(String a, String b) so it returns true when the two Strings have the same letters. Use .equals, not ==. · Complétez equal(String a, String b) pour qu'elle retourne true lorsque les deux Strings ont les mêmes lettres. Utilisez .equals, pas ==.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.
Complete inRange(int x) so it returns true when x is between 10 and 20, including both ends (10 and 20 count). Use &&. · Complétez inRange(int x) pour qu'elle retourne true lorsque x est entre 10 et 20, y compris les deux extrémités (10 et 20 comptent). Utilisez &&.
Click Run to see the output here. · Cliquez sur Exécuter pour voir le résultat ici.