Урок 4. Переменные и типы данных Java

Java — это типизированный язык, мы уже упоминали об этом ранее, это означает, что каждая переменная должна быть объявлена ​​перед использованием: поэтому мы должны присвоить ей имя и тип.

Что такое тип

Тип — это набор характеристик, которым должно соответствовать любое значение, принимаемое переменной. Например: «быть целым числом», «быть последовательностью символов Юникода» и т. Д.

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

Тип переменной может быть создан разработчиком путем композиции из предопределенного набора типов, обычно называемых примитивными типами.

В Java есть 8 примитивных типов, и каждый из них предназначен для представления определенного типа информации и использования определенного количества памяти.

Кроме того, говоря об объявлении переменных, мы сказали, что «локальные» переменные должны быть инициализированы, чтобы избежать ошибок компиляции, это неверно для переменных экземпляра, для которых для каждого примитивного типа указано значение по умолчанию.

ТипКол-во памятиПредставленная информацияЗначение по умолчанию
byte8 битПеременная представляет значения в диапазоне от -128 до 127(включая крайние значения)0
short16 битЦелые числа в диапазоне от -32768 до 32767 
int32 битЦелые числа в диапазоне от -2147483648  до 21474836470
long64 битЦелые числа в диапазоне от -9223372036854775808 до 9223372036854775807. 0.0L 
float32 битЧисла с плавающей запятой одинарной. В 32-битной версии, представляемый диапазон должен вычисляться с учетом знакового бита, 23-битной мантиссы и 8-битной экспоненты со значениями от -126 до 127. 0.0f0.0f
double64 битЧисла с плавающей запятой двойной. Точность представления чисел увеличивается за счет увеличения количества используемых битов.0.0d
booleanне указано, но достаточно одного битаон служит для представления только двух значений: истина или ложь ( true false). Значение по умолчанию falsefalse
char16 битОн используется для хранения символов кодировки Unicode ) в диапазоне [‘\u0000’, ‘\uffff’](в шестнадцатеричном формате).\u0000

Следует добавить, что каждая переменная объектного типа (т.е. не примитивного типа) по умолчанию инициализируется специальным значением null.

Следует отметить, что сама официальная документация Java сообщает, что, хотя значения по умолчанию гарантированы для всех неинициализированных полей, не инициализировать переменные — плохая практика, и поэтому вам следует избегать этого.

Литералы

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

Литералы — это явно заданные значения в коде программы — константы определенного типа, которые находятся в коде в момент запуска..

long и int в Java

Значения для типов int и long могут быть выражены как целые числа с основанием 10, используя обычную позиционную запись:

int number= 42;

или в шестнадцатеричном представлении (Hex, base 16) с использованием суффикса ‘0x’ или двоичном (base 2, из версии 7 java) с использованием суффикса ‘0b’:

int number= 0x2A;      // шестнадцатеричный   
int number= 0b00101010;// двоичный

Эти же литералы могут также использоваться для выражения байтовых и коротких значений, в то время как для выражения длинных значений используется буква ‘L’ (строчный символ также допустим, но не рекомендуется из-за его плохой читаемости, так как его можно спутать с числом ‘1’):

long bigLUE = 4242424242L;

Значение с плавающей запятой Java

Значения нецелочисленного типа могут быть аналогичным образом выражены путем разделения десятичной части символом ‘.’ (точка) и будут считаться типом double, если буква ‘F’ (или ‘f’) не будет отложена.

Литералы double могут оканчиваться буквой «D» (или «d»), если для удобства чтения это считается целесообразным (но не обязательно).

Также допускается так называемая научная запись для чисел с плавающей запятой, которая заключается в использовании буквы E(e), за которой следует число, выражающее степень 10, которая умножается на число, указанное перед ним:

double mille = 1000.0;
double milleSci = 1.0e3;
float milleFloat = 1000.0f;

Начиная с версии 7 Java, можно использовать символ подчеркивания (‘_’) во всех числовых литералах для повышения их читабельности, например, путем разделения тысяч:

float milleEasy = 1_000.0f;

символ ‘_’ используется только для облегчения чтения и может использоваться только между парами чисел (не как первый или последний символ, не рядом с ‘.’ или другими символами, разрешенными в обозначениях).

Символьные и строковые литералы

Значения символьного типа могут быть выражены с помощью символов Unicode (UTF-16), заключенных в одинарные кавычки, которые в конечном итоге могут быть выражены в форме кодировки с использованием «escape-последовательности Unicode»:

char simbol = 'ñ';
char code = '\u00F1';

Также поддерживаются некоторые специальные представления (известные как escape-последовательности):

Побегсимвол
\bbackspace (назад)
\tтабуляция
\nперевод строки (конец строки)
\fперевод страницы (конец страницы / новая страница)
\rвозврат каретки
\’отображение одинарной кавычки
\”отображение двойной кавычки
\\обратная косая черта ( \)

Строки и числа

В Java, в дополнение к 8 примитивным типам, типы String и Number (и производные) также должны считаться специальными типами данных (обычно называемыми простыми объектами данных), которые каким-то образом действуют как аналог примитивных данных, где есть необходимость использовать объект, а не тип напрямую (разница станет понятнее в следующих уроках).

На данный момент достаточно знать, что переменные типа String- это последовательности, char которые можно инициализировать с помощью кавычек (двойных кавычек):

String author = «admin»;

В то время как типы Integer, Byte, Long, Float и Double(аналоги тех же примитивных типов, записанные первой строчной буквой) могут быть инициализированы теми же литералами, что и для соответствующих собственных типов, но все они по умолчанию инициализируются литералом null (читать null ), если мы явно не присваиваем им значение.

Компилятор почти всегда может автоматически преобразовывать примитивные типы в соответствующие им простые объекты (операция, называемая упаковкой и распаковкой), только некоторые особые случаи являются исключениями.

Часто задаваемые вопросы

В какой кодировке хранятся символы в переменной типа char:
UTF-16
Какие категории типов данных поддерживаются в Java:
Примитивные, ссылочные (объектные)
Размер переменной типа char равен:
16 бит
Список типов, в переменных которых хранят только целые числа:
byte, short, int, long
У каждого примитивного типа есть аналог среди ссылочных (объектных) типов?
Да
Размер переменной типа short равен:
16 бит
Список типов, переменных которые могут хранить дробные числа:
float, double
Размер переменной типа int равен:
32 бит
Оцените статью
Добавить комментарий

В какой кодировке хранятся символы в переменной типа char:
UTF-16
Какие категории типов данных поддерживаются в Java:
Примитивные, ссылочные (объектные)
Размер переменной типа char равен:
16 бит
Список типов, в переменных которых хранят только целые числа:
byte, short, int, long
У каждого примитивного типа есть аналог среди ссылочных (объектных) типов?
Да
Размер переменной типа short равен:
16 бит
Список типов, переменных которые могут хранить дробные числа:
float, double
Размер переменной типа int равен:
32 бит