En Java, les booléens sont représentés par le type boolean, dont les valeurs peuvent être true ou false.
Java prend en charge trois opérateurs booléens :
! (NON) : inverse la valeur booléenne&& (ET) : prend deux booléens et renvoie vrai s'ils sont tous les deux vrais|| (OU) : renvoie vrai si au moins l'un des deux booléens est vraiLes opérateurs && et || utilisent l'évaluation en court-circuit, ce qui signifie que le membre de droite de l'opérateur n'est évalué que si c'est nécessaire.
On les appelle aussi opérateurs conditionnels ou logiques.
! est parfois classé comme une opération bit à bit dans la documentation, mais il a bien la sémantique NON conventionnelle.
true || false // => true
false || false // => false
false || true // => true
true && false // => false
true && true // => true
!true // => false
!false // => true
Les trois opérateurs booléens ont chacun une priorité des opérateurs différente.
Par conséquent, ils sont évalués dans cet ordre : not d'abord, && ensuite, et enfin ||.
Si tu veux « échapper » à ces règles, tu peux entourer une expression booléenne de parenthèses (()), car les parenthèses ont une priorité encore plus élevée.
!true && false // => false
!(true && false) // => true