1. Тип boolean
Как мы уже убедились, в Java есть очень полезный оператор — if-else
. Он выполняет один блок команд, если условие в скобках истинно, и второй блок команд, если условие ложно.
Чтобы было удобно работать с выражениями, которые могут быть истинными или ложными, в Java добавили специальный тип — boolean
. Его главная особенность заключается в том, что переменные этого типа могут принимать всего два значения: true
(истина) и false
(ложь).
Никакие другие значения присвоить переменным типа boolean
невозможно. Компилятор не позволит.
И зачем же нужен такой примитивный тип?
Все дело в том, что в него можно сохранять значения логических выражений. Пример:
Код | Пояснение |
---|---|
|
Логическая переменная isOK содержит значение true (истина) |
|
Логическая переменная hasError содержит значение false (ложь) |
|
Логическая переменная isSenior содержит значение true (истина) |
|
Логическая переменная hasNewRecord содержит значение true (истина) |
|
Логическая переменная Логическая переменная |
2. Использование булевых переменных
От булевых переменных было бы мало толку, если бы в них можно было только сохранять результаты выражений. Все дело в том, что их можно еще и использовать. Где? Да везде, где можно написать логическое выражение.
Например, логическую переменную можно подставить в условие if
-а:
Код | Эквивалент |
---|---|
|
|
В данном примере выгоды от такой замены немного, но чем больше программа, тем сложнее у нее условия. В ближайшее время вы в этом убедитесь.
3. Операторы сравнения
В Java, как и в других языках программирования, часто приходится сравнивать переменные между собой. И именно для сравнения в Java есть такие операторы:
Оператор | Пояснение | Пример |
---|---|---|
< |
Меньше |
a < 10
|
> |
Больше |
b > a
|
<= |
Меньше либо равно |
a <= 10
|
>= |
Больше либо равно |
speed >= max
|
== |
Равно |
age == 18
|
!= |
Не равно |
time != 0
|
Результатом действия каждого из приведенных операторов будет логическое выражение. Его можно сохранить в переменную типа boolean
, ну или использовать в качестве условия в if
.
Операторы, состоящие из двух символов, разрывать нельзя.
Т.е. такой код компилироваться не будет:
a < = 10
speed > = max
age = = 18
time ! = 0
Обратите внимание, что операторов =>
и =<
нет: есть только <=
и >=
. Если вы напишете a =< 3
, ваш код просто не скомпилируется.
В Java вы не можете записать выражение вида 18 < age < 65
. Ведь у выражения 18 < age
будет значение true
или false
. А сравнивать true < 65
(разные типы) нельзя. По крайней мере, в языке Java.
И что же делать? Ответ на этот вопрос вы найдете в следующей лекции.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ