Булеві значення (англ. Boolean) у Java представлені типом boolean, який може набувати значень true або false.
Java підтримує три оператори булевих значень, оператори:
! (заперечення): заперечує булеве значення&& (логічне і): приймає два булеві значення і дає правду, якщо обидва є правдою|| (логічне або): дає правду, якщо хоча б одне з двох булевих значень є правдоюОператори && (і) та || (або) використовують скорочене обчислення, тобто праву частину оператора обчислюють лише тоді, коли це потрібно.
Їх також називають умовними або логічними операторами.
! у документації іноді класифікують як побітову операцію, але він має звичну семантику заперечення.
true || false // => true
false || false // => false
false || true // => true
true && false // => false
true && true // => true
!true // => false
!false // => true
Кожен із трьох операторів булевих значень має свій пріоритет операторів.
Як наслідок, вони обчислюються в такому порядку: спочатку not, потім &&, і нарешті ||.
Якщо ми хочемо «обійти» ці правила, можна взяти булевий вираз у дужки (()), адже дужки мають ще вищий пріоритет операторів.
!true && false // => false
!(true && false) // => true