Примитивные типы данных в Java: полное руководство с примерами
Типы данных в Java (примитивные)
В этом уроке мы изучим все 8 примитивных типов данных в Java с помощью примеров.
Типы данных в Java
Как следует из названия, типы данных определяют вид данных, которые можно хранить в переменных в Java.
Java — статически типизированный язык. Это значит, что все переменные должны быть объявлены перед использованием.
int speed;
Здесь speed — переменная, а типом данных переменной является int.
Тип данных int определяет, что переменная speed может содержать только целые числа.
В Java предопределено 8 типов данных, известных как примитивные типы данных.
Примечание: Помимо примитивных типов, существуют также ссылочные типы (объектные типы).
8 примитивных типов данных
1. Тип boolean
- Тип данных
booleanимеет два возможных значения:trueилиfalse. - Значение по умолчанию:
false. - Обычно используются для условий истина/ложь.
Пример 1: Тип boolean в Java
class Main {
public static void main(String[] args) {
boolean flag = true;
System.out.println(flag); // выводит true
}
}
2. Тип byte
- Тип данных
byteможет принимать значения от -128 до 127 (8-битное знаковое целое в дополнительном коде). - Если точно известно, что значение переменной будет в диапазоне -128..127, используют
byteвместоintдля экономии памяти. - Значение по умолчанию: 0
Пример 2: Тип byte в Java
class Main {
public static void main(String[] args) {
byte range;
range = 124;
System.out.println(range); // выводит 124
}
}
3. Тип short
- Тип данных
shortв Java может принимать значения от -32768 до 32767 (16-битное знаковое целое в дополнительном коде). - Если значение переменной гарантированно в диапазоне -32768..32767, используют
shortвместо других целочисленных типов (int,long). - Значение по умолчанию: 0
Пример 3: Тип short в Java
class Main {
public static void main(String[] args) {
short temperature;
temperature = -200;
System.out.println(temperature); // выводит -200
}
}
4. Тип int
- Тип данных
intможет принимать значения от -231 до 231-1 (32-битное знаковое целое в дополнительном коде). - В Java 8 и новее можно использовать беззнаковое 32-битное целое (от 0 до 232-1). Подробнее: Как использовать беззнаковое целое в Java 8?
- Значение по умолчанию: 0
Пример 4: Тип int в Java
class Main {
public static void main(String[] args) {
int range = -4250000;
System.out.println(range); // выводит -4250000
}
}
5. Тип long
- Тип данных
longможет принимать значения от -263 до 263-1 (64-битное знаковое целое в дополнительном коде). - В Java 8+ доступно беззнаковое 64-битное целое (от 0 до 264-1).
- Значение по умолчанию: 0
Пример 5: Тип long в Java
class LongExample {
public static void main(String[] args) {
long range = -42332200000L;
System.out.println(range); // выводит -42332200000
}
}
Обратите внимание на суффикс L в конце числа -42332200000. Он указывает, что это литерал типа long.
6. Тип double
- Тип данных
double— двойная точность, 64-битное число с плавающей точкой. - Никогда не следует использовать для точных значений, таких как валюта.
- Значение по умолчанию: 0.0 (0.0d)
Пример 6: Тип double в Java
class Main {
public static void main(String[] args) {
double number = -42.3;
System.out.println(number); // выводит -42.3
}
}
7. Тип float
- Тип данных
float— одинарная точность, 32-битное число с плавающей точкой. Подробнее об одинарной и двойной точности. - Никогда не следует использовать для точных значений, таких как валюта.
- Значение по умолчанию: 0.0 (0.0f)
Пример 7: Тип float в Java
class Main {
public static void main(String[] args) {
float number = -42.3f;
System.out.println(number); // выводит -42.3
}
}
Обратите внимание: мы использовали -42.3f вместо -42.3, потому что -42.3 — это литерал double.
Чтобы компилятор трактовал -42.3 как float, нужно добавить суффикс f или F.
Если хотите узнать об одинарной и двойной точности, посетите: Одинарная и двойная точность в Java.
8. Тип char
- 16-битный Unicode-символ.
- Минимальное значение:
'\u0000'(0), максимальное:'\uffff'. - Значение по умолчанию:
'\u0000'
Пример 8: Тип char в Java
class Main {
public static void main(String[] args) {
char letter = '\u0051';
System.out.println(letter); // выводит Q
}
}
Здесь Unicode-значение Q — \u0051. Поэтому вывод — Q.
Другой пример:
class Main {
public static void main(String[] args) {
char letter1 = '9';
System.out.println(letter1); // выводит 9
char letter2 = 65;
System.out.println(letter2); // выводит A
}
}
Здесь 9 присвоен как символ (в одинарных кавычках) переменной letter1. А переменной letter2 присвоено число 65 (без кавычек).
Выводится A, потому что Java трактует символы как целые числа, а ASCII-код A равен 65. Подробнее об ASCII: Что такое ASCII-код?
Тип String
Java также обеспечивает поддержку строк через класс java.lang.String. Строки в Java — не примитивные типы. Это объекты. Например,
String myString = "Java Programming";
Здесь myString — объект класса String. Подробнее: Строки в Java.
java
- Мастерство C# переменных и примитивных типов данных: полное руководство
- Понимание типов данных C++: основы, модификаторы и лучшие практики
- Типы данных в C: int, float, char и другие — полное руководство
- Освоение типов данных в Python: практическое руководство
- Мастерство преобразования типов в Python: Полное руководство
- Инкапсуляция в Java: практическое руководство по скрытию данных
- Типы аннотаций в Java: предопределенные, кастомные и мета-аннотации
- Освоение приведения типов в Java: от расширения к сужению и далее
- Понимание обёрточных классов Java: типы, преобразования и преимущества
- Примитивные типы данных в Java: полное руководство