Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Оглавление

Примитивные типы

В Java есть восемь примитивных типов — простейших типов, значения которых хранятся прямо в переменной. Из них строятся все остальные данные. Тип определяет, сколько памяти занимает значение и какие числа в него помещаются.

Целые числа

Для целых чисел есть четыре типа разного размера. Чаще всего используют int, а для очень больших значений — long:

ТипРазмерДиапазон
byte1 байтот −128 до 127
short2 байтаот −32 768 до 32 767
int4 байтапримерно ±2,1 миллиарда
long8 байтпримерно ±9,2 × 10¹⁸
void main() {
    int population = 146_000_000;
    long distance = 9_460_730_472_580L;
    IO.println(population);
    IO.println(distance);
}

Результат:

146000000
9460730472580

Подчёркивания в числе облегчают чтение и ни на что не влияют. Буква L в конце говорит, что число имеет тип long.

Дробные числа

Для чисел с дробной частью есть double и float. Обычно берут double: он точнее. Значение для float помечают буквой f:

void main() {
    double pi = 3.14159;
    float rate = 0.5f;
    IO.println(pi * 2);
    IO.println(rate);
}

Результат:

6.28318
0.5

Символы

Тип char хранит один символ. Его пишут в одинарных кавычках, в отличие от строки в двойных:

void main() {
    char grade = 'A';
    char letter = 'Ж';
    IO.println(grade);
    IO.println(letter);
}

Результат:

A
Ж

Логический тип

Тип boolean принимает только два значения: true (истина) и false (ложь). Такие значения получаются при сравнении и управляют условиями:

void main() {
    boolean isAdult = 20 >= 18;
    IO.println(isAdult);
}

Результат:

true

Переполнение

Если результат не помещается в тип, он «перескакивает» на другой конец диапазона. Java при этом не сообщает об ошибке:

void main() {
    int max = Integer.MAX_VALUE;
    IO.println(max);
    IO.println(max + 1);
}

Результат:

2147483647
-2147483648

Integer.MAX_VALUE — наибольшее значение int. Если числа могут быть такими большими, используйте long.

Частая ошибка

Целое число в коде по умолчанию считается int. Если оно больше диапазона int, программа не скомпилируется — даже когда переменная имеет тип long:

void main() {
    long big = 3000000000;
    IO.println(big);
}

Результат:

Main.java:2: error: integer number too large
    long big = 3000000000;
               ^
1 error
error: compilation failed

Добавьте букву L: 3000000000L.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.