You are here: Home » Учебник » Тип данных boolean

Тип данных boolean

Ключевой момент: тип данных boolean объявляет переменную со значением true или false.

Реляционные операторы

Как бы вы сравнили два значения, на предмет, является ли радиус больше чем 0, равен 0 или меньше чем 0? Java представляет шесть реляционных операторов (также известных как операторы сравнения), показанных в таблице:

Оператор Java Математический символ Имя Пример (radius равен 5) Результат
< < меньше чем radius < 5 false
<= меньше чем или равно radius <= 5 false
> > больше чем radius > 5 true
>= больше чем или равно radius >= 5 true
== = равно radius == 5 false
!= не равно radius != 5 true

Предупреждение: оператор проверки равенства представляет собой два знака равно (==), а не один знак равенства (=). Последний символ используется для присваивания.

Результат сравнения – это булева величина: true или false. Например, следующая инструкция отобразит true:

double radius = 1;
System.out.println(radius > 0);

Булевы переменные

Переменные, которые содержат булево значение, известны как булевы переменные. Тип данных boolean используется для объявления булевых переменных. Переменная boolean может содержать одно из двух значений: true или false. Например, следующее выражение присваивает true переменной lightsOn:

boolean lightsOn = true;

true и false являются литералами, т.е. используются буквально, как есть, в точности как цифра, такая как 10. Они обрабатываются как зарезервированные слова и не могут использоваться как идентификаторы в программе.

Предположим, вы хотите написать программу для практики в начальном сложении. Программа генерирует два случайных односимвольных числа number1 и number2 и отображает студенту вопрос вроде «Сколько будет 8+5?», примерно так:

После того, как студент вводит ответ, программа показывает сообщение, свидетельствующее о верности или ошибочности ответа.

Имеется несколько способов сгенерировать случайные числа. На данный момент сгенерируйте первое число используя System.currentTimeMillis() % 10, а второе число используя System.currentTimeMillis() / 7 % 10.

Код программы:

import java.util.Scanner;

public class AdditionQuiz {
    public static void main(String[] args) {
        int number1 = (int) (System.currentTimeMillis() % 10);
        int number2 = (int) (System.currentTimeMillis() / 7 % 10);

        // Создать Scanner
        Scanner input = new Scanner(System.in);

        System.out.print(
                "Сколько будет " + number1 + " + " + number2 + "? ");

        int answer = input.nextInt();

        System.out.println(
                number1 + " + " + number2 + " = " + answer + " это "
                + (number1 + number2 == answer));
    }
}

Строки 5-6 генерируют два числа, number1 и number2. Строка 14 получает ответ от пользователя. Ответ проверяется в троке 18 используя булевое выражение number1 + number2 == answer. Слово true означает «истина», «верно», слово false означает «ложь», «неверно».

Проверь себя:

  1.  Перечислите шесть релятивистских операторов.
  2. Предположим, что x равен 1, покажите результат следующих булевых выражений:
(x > 0)
(x < 0)
(x != 0)
(x >= 0)
(x != 1)
  1. Могут ли допускаться следующие преобразования, связанные с явным преобразованием типов? Напишите тестовую программу для подтверждения вашего ответа.
boolean b = true;
i = (int)b;
int i = 1;
boolean b = (boolean)i;

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

wp-puzzle.com logo