Содержание
Примитивные типы
| Тип | Ключевые слова языка Java |
|---|---|
| Логический | boolean |
| Символьный | char |
| Целочисленный | byte, short, int, long |
| Вещественный | float, double |
Примитивные типы передаются по значению.
int a = 77; int b = a;
В переменной b будет хранится копия значения переменной a
Ссылочные типы
String и все остальные, могут иметь значение null
Тип boolean
boolean — это тип данных, переменные которого принимают одно из значений:
- true (истина, «да», логическая единица «1»);
- false (ложь, «нет», логический ноль «0»)
Создание и инициализация boolean переменных
boolean a; // Создание boolean переменной a = false; // Инициализация boolean переменной boolean b = true; // Создание и инициализация boolean переменной
Таблица истинности
Таблица истинности — таблица, описывающая логическую функцию
- 1 — true
- 0 — false

Таблица логических операторов в Java
Логические операторы работают только с операндами типа boolean. Все логические операторы с двумя операндами объединяют два логических значения, образуя результирующее логическое значения. Не путайте с побитовыми логическими операторами.
| Логический оператор | Значение |
|---|---|
| < | Меньше |
| <= | Меньше или равно |
| == | Равно |
| != | Не равно |
| > | Больше |
| >= | Больше или равно |
| ?: | Тернарный (троичный) условный оператор |
Логическая операция | Значение |
|---|---|
| !b1 | Отрицание |
| b1 && b2 | Конъюнкция (Логическое «И») по сокращенной схеме Сокращенная схема — если первый операнд false, то второй операнд не вычисляется, результат операции false |
| b1 & b2 | Конъюнкция (Логическое «И») по полной схеме |
| b1 || b2 | Дизъюнкция (Логическое «ИЛИ») по сокращенной схеме |
| b1 | b2 | Дизъюнкция (Логическое «ИЛИ») по полной схеме Если первый операнд true, то второй операнд не вычисляется, результат операции true |
| b1 ^ b2 | Исключающее «ИЛИ» (XOR) |
| Сокращенная форма записи | Полная форма |
|---|---|
| value &= expression; | value = value & expression; |
| value |= expression; | value = value | expression; |
| value ^= expression; | value = value ^ expression; |
Целочисленные типы
| Тип | Бит | Диапазон |
|---|---|---|
| byte | 8 | -128 … +127 |
| short | 16 | -215 … 215 — 1 |
| int | 32 | -231 … 231 — 1 |
| long | 64 | -263 … 263 — 1 |
Запись целочисленных литералов
| Целочисленный литерал | Система исчисления |
|---|---|
| int decimal = 101; | Десятичная |
| int octal = 0755; | Восьмеричная |
| int hex = 0xFF; | Шестнадцатеричная |
| int binary = 0b101 ; | Двоичная |
| int tenMillion = 10 _000_000 ; | Добавление читабельности |
| long tenBillion = 10 _000_000_000L ; | Суффикс L означает, что тип литерала long |
Char
16 бит, беззнаковый, 0 :: 216 − 1
Представляет номер символа в кодировке Unicode
char literal = ’a’; char tab = ’\t’; char lineFeed = ’\n’; char carriageReturn = ’\r’; char singleQuote = ’\’’; char backslash = ’\\ ’; char hex = ’\ u03A9 ’;
Вещественные типы
| Тип | Бит | Знак | Мантисса | Экспонента |
|---|---|---|---|---|
| float | 32 | 1 | 23 | 8 |
| double | 64 | 1 | 52 | 11 |
Литералы
double simple = -1.234; double exponential = -123.4e -2; double hex = 0x1. Fp10 ; float floatWithSuffix = 36.6 f; double doubleWithSuffix = 4d;
Особые случаи
double positiveInfinify = 1.0 / 0.0; double negativeInfinify = -1.0 / 0.0; double nan = 0.0 / 0.0; boolean notEqualsItself = nan != nan; x + eps == x 0.1 + 0.1 + ... + 0.1 != 1

