Типы данных Java
Типы данных Java
Как объяснялось в предыдущей главе, переменная в Java должна иметь указанный тип данных:
Пример
int myNum = 5; // Integer (whole number)
float myFloatNum = 5.99f; // Floating point number
char myLetter = 'D'; // Character
boolean myBool = true; // Boolean
String myText = "Hello"; // String
Типы данных делятся на две группы:
- Примитивные типы данных — включают
byte
,short
,int
,long
,float
,double
иboolean
char
- Непримитивные типы данных, такие как String , Arrays и Classes (вы узнаете о них больше в следующей главе).
Примитивные типы данных
Примитивный тип данных определяет размер и тип значений переменных и не имеет дополнительных методов.
В Java существует восемь примитивных типов данных:
Data Type | Size | Description |
---|---|---|
byte | 1 byte | Stores whole numbers from -128 to 127 |
short | 2 bytes | Stores whole numbers from -32,768 to 32,767 |
int | 4 bytes | Stores whole numbers from -2,147,483,648 to 2,147,483,647 |
long | 8 bytes | Stores whole numbers from -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
float | 4 bytes | Stores fractional numbers. Sufficient for storing 6 to 7 decimal digits |
double | 8 bytes | Stores fractional numbers. Sufficient for storing 15 decimal digits |
boolean | 1 bit | Stores true or false values |
char | 2 bytes | Stores a single character/letter or ASCII values |
Числа
Типы примитивных чисел делятся на две группы:
Целочисленные типы хранят целые числа, положительные или отрицательные (например, 123 или -456), без десятичных знаков. Допустимые типы: byte
, short
, int
и long
. Какой тип следует использовать, зависит от числового значения.
Типы с плавающей запятой представляют числа с дробной частью, содержащие один или несколько десятичных знаков. Бывает двух видов: float
и double
.
Несмотря на то, что в Java существует много числовых типов, наиболее часто используемыми для чисел являются int
(для целых чисел) и double
(для чисел с плавающей запятой). Тем не менее, мы опишем их все, пока вы продолжаете читать.
Целочисленные типы
Байт
Тип byte
данных может хранить целые числа от -128 до 127. Его можно использовать вместо int
или других целочисленных типов для экономии памяти, когда вы уверены, что значение будет в диапазоне от -128 до 127:
Пример
byte myNum = 100;
System.out.println(myNum);
Короткий
Тип short
данных может хранить целые числа от -32768 до 32767:
Пример
short myNum = 5000;
System.out.println(myNum);
Интерн.
Тип int
данных может хранить целые числа от -2 147 483 648 до 2 147 483 647. В общем, и в нашем руководстве, int
тип данных является предпочтительным типом данных, когда мы создаем переменные с числовым значением.
Пример
int myNum = 100000;
System.out.println(myNum);
Длинная
Тип long
данных может хранить целые числа от -9223372036854775808 до 9223372036854775807. Это используется, когда int недостаточно велик для хранения значения. Обратите внимание, что вы должны заканчивать значение буквой «L»:
Пример
long myNum = 15000000000L;
System.out.println(myNum);
Типы с плавающей запятой
Вы должны использовать тип с плавающей запятой всякий раз, когда вам нужно число с десятичной запятой, например 9,99 или 3,14515.
Плавать
Тип float
данных может хранить дробные числа от 3.4e-038 до 3.4e+038. Обратите внимание, что вы должны заканчивать значение буквой «f»:
Пример
float myNum = 5.75f;
System.out.println(myNum);
Двойной
Тип double
данных может хранить дробные числа от 1,7e-308 до 1,7e+308. Обратите внимание, что вы должны заканчивать значение буквой «d»:
Пример
double myNum = 19.99d;
System.out.println(myNum);
Использовать float
или double
?
Точность значения с плавающей запятой указывает, сколько цифр значение может иметь после запятой. Точность float
составляет всего шесть или семь десятичных цифр, в то время как double
переменные имеют точность около 15 цифр. Поэтому его безопаснее использовать double
для большинства расчетов.
Научные числа
Число с плавающей запятой также может быть научным числом с буквой «е», обозначающей степень 10:
Пример
float f1 = 35e3f;
double d1 = 12E4d;
System.out.println(f1);
System.out.println(d1);
Булевы значения
Логический тип данных объявляется с помощью boolean
ключевого слова и может принимать только значения true
или false
:
Пример
boolean isJavaFun = true;
boolean isFishTasty = false;
System.out.println(isJavaFun); // Outputs true
System.out.println(isFishTasty); // Outputs false
Логические значения в основном используются для условного тестирования, о котором вы узнаете больше в следующей главе.
Символы
Тип char
данных используется для хранения
одного символа. Символ должен быть заключен в одинарные кавычки, например «A» или «c»:
Пример
char myGrade = 'B';
System.out.println(myGrade);
Кроме того, вы можете использовать значения ASCII для отображения определенных символов:
Пример
char myVar1 = 65, myVar2 = 66, myVar3 = 67;
System.out.println(myVar1);
System.out.println(myVar2);
System.out.println(myVar3);
Совет: Список всех значений ASCII можно найти в нашем Справочнике по таблицам ASCII .
Струны
Тип String
данных используется для хранения последовательности символов (текст). Строковые значения должны быть заключены в двойные кавычки:
Пример
String greeting = "Hello World";
System.out.println(greeting);
Тип String настолько часто используется и интегрирован в Java, что некоторые называют его «особым девятым типом».
Строка в Java на самом деле не является примитивным типом данных, потому что она ссылается на объект. Объект String имеет методы, которые используются для выполнения определенных операций со строками. Не волнуйтесь, если вы еще не понимаете термин "объект" . Мы узнаем больше о строках и объектах в следующей главе.
Непримитивные типы данных
Непримитивные типы данных называются ссылочными типами, поскольку они относятся к объектам.
Основное различие между примитивными и непримитивными типами данных:
- Примитивные типы предопределены (уже определены) в Java. Непримитивные типы создаются программистом и не определяются Java (за исключением
String
). - Непримитивные типы можно использовать для вызова методов для выполнения определенных операций, а примитивные типы — нет.
- Примитивный тип всегда имеет значение, в то время как непримитивные типы могут быть
null
. - Примитивный тип начинается со строчной буквы, а непримитивные типы начинаются с прописной буквы.
- Размер примитивного типа зависит от типа данных, в то время как не примитивные типы имеют одинаковый размер.
Примерами непримитивных типов являются Strings , Arrays , Classes, Interface и т. д . Вы узнаете о них больше в следующей главе.