Логический тип данных

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

В этом уроке вы познакомитесь с логическим типом данных. Другое его название boolean (читается как «булеан»). Этот тип широко распространен в информатике и присутствует, вероятно, во всех языках программирования. После его освоения вы сможете инициализировать переменные этого типа и выводить значения этих переменных в командную строку.

Что такое логический тип данных?

Факт наличия водительских прав может принимать только две формы: права либо есть, либо их нет. Утверждение о том, что у человека есть водительские права может быть либо истинным, если права есть, либо ложным, если их нет.

Давайте вспомним, какие типы данных существуют в Java.
Тип String. Переменные этого типа могут содержать в себе строку с набором символов. Это буквенные и численные символы. В частности, сюда входят кириллические и латинские символы в диапазонах от «а» до «я» и от «a» до «z», точка, запятая, знак вопроса и т.д.

Тип int. Переменные этого типа могут принимать положительные и отрицательные целочисленные значения. Диапазон составляет примерно от минус двух миллиардов до плюс двух миллиардов.

Чтобы иметь возможность описывать факт истинности и ложности существует отдельный тип, который называется boolean (булеан). Переменные этого типа могут принимать только два значения: истина - true и ложь - false.

Пример.

Обьявим переменную типа boolean. Название переменной driverLicense (водительские права, читается как «драйвер лайсенс»). Значение переменной – истина (true), т.е. человек имеет право вождения.

boolean driverLicense = true;

Одна переменная boolean в программе

В качестве упражнения выполните следущие шаги.

 1.Создать файл Example.java, который будет содержать класс Example.

public class Example {

}

2. Добавить функцию main в класс. С этой функции начинается выполнение программы.

public class Example {
public static void main(String[] args) {

}
}

3.Обьявить переменную driverLicense и присвоить ей значение true. Вывести значение переменной driverLicense в командную строку. Использовать для этого функцию System.out.println(). 

public class Example {
public static void main(String[] args) {
boolean driverLicense = true;
System.out.println(driverLicense);

}
4. Запустить программу. В результате работы программы будет выведено значение «true».

Как System.out.println()выводит значения в командную строку

По умолчанию функция println() принимает на вход значение строкового типа. А именно, строку – текст в кавычках, или переменную типа String.

Слова «принимает на вход» означают, что между круглых скобок функции мы пишем текст в кавычках или вводим имя переменной, которая имеет тип String (строковый тип).

Далее функция делает то, что должна – выводит текст в командную строку.

Но что произойдет, если функции println() передать не переменную строкового типа, а переменную, которая содержит целое число, то есть переменную типа int? Для такого случая в Java предусмотрено так называемое неявное преобразования типов. Представим, что вы ввели в функцию println() переменную типа int, которая содержит число 55. Функция принимает на вход строковый тип, но не целочисленный. В этом случае в Java происходит автоматическое преобразования числа 55 в строку "55" и число попадает в функцию в виде строки. То же преобразование выполняется и для других базовых типов Java. В частности, для boolean.

Делаем вывод println() удобочитаемым

Для большего удобства мы можем выводить значение переменной вместе с дополнительным текстом. Этот текст будет говорить нам о том какой переменной принадлежит выводимое значение. Напишем вместо строки

System.out.println(driverLicense);

строку

System.out.println("Driver license = " + driverLicense);

В коде это будет выглядеть так:

public class Example {
public static void main(String[] args) {
boolean driverLicense = true;
System.out.println("Driver license = " + driverLicense);

}
}

Запустим программу. В результате будет выведено значение «Driver license = true».

Текст, который содержится в кавычках – это просто строка. Этот сопроводительный текст может быть любым. Он нужен для того, чтобы понять, значение какой именно переменной выведено. Этот прием полезен, когда вы выводите значения нескольких переменных.

В результате выполнения строки

"Driver license = " + driverLicense

значение true из переменной driverLicense будет неявно, то есть автоматически и без участия в этом программиста, преобразовано в строковый тип и затем представлено как строка "true" (с кавычками). После этого произойдет сложение двух строк "Driver license = " + "true"

В результате получится строка "Driver license = true", которая и выведется в командную строку.

Две переменных boolean в программе


Выполните следущее упражнение.

Инициализировать 2 переменные типа boolean, присвоить им значения и вывести их в командную строку.

1.Создать файл Example2.java, который будет содержать класс Example2.
2.Добавить функцию main в класс.
3.Обьявить 2 переменные типа boolean и присвоить им значения. Первая переменная будет называться driverLicense, вторая adult (совершеннолетний, читается как «адалт»).

Опишем совершеннолетнего человека, который

public class Example2 {
public static void main(String[] args) {
boolean driverLicense = false;
boolean adult = true;

}
}

4. Выведем значение обеих переменных

public class Example2 {
public static void main(String[] args) {
boolean driverLicense = false;

boolean adult = true;

System.out.println("Driver license = " + driverLicense);
System.out.println("Adult = " + adult);

}
}

Задание

Напишите программу с четырьмя переменными типа boolean. Присвойте им значения и выведите в командную строку. Имя переменной может быть любым.
Код вышлите на почту.