Программирование: Java. Типы данных

Программирование: Java. Типы данныхВ программировании работает множество различных языков и все они отличаются друг от друга. Сегодня разберем особенности языка «Ява», типы данных которого различаются по нескольким признакам. Всего их три.


Первый это соотношение значений и объектов, второй – операции, применимые к любым значениям и последний это способ хранения данных. Далее рассмотрим все варианты подробнее.

Разновидности типов данных.

В программировании «Ява» есть внутренние типы данных и определенные пользователем. Все они распределяются на примитивные и ссылочные. Первый определяется отсутствием дальнейших распеределний, то есть все действия по расширению или изменению запрещены. Такой тип данных есть и во встроенных и в юзерских вариациях. Он несет в себе в себе определенное значение, а вот ссылочный несет в себе только адрес необходимого объекта.

Другие варианты.

Также данный язык «Ява» содержит составляющие разновидности данных, которые в свою очередь делятся на массивы, интерфейсы и классы. Составляющими частями типа время и дата являются не точные значения. Интерфейс их задается конструктором Date(): d = new Date(), чтобы программа сама определяла точное время.

«Стринг».

Еще один тип данных «Ява» языка может работать уже с последовательностью символов, то есть с текстом. Его строка представляет собой определенные класс библиотеки. Работая с этим типом необходимо сначала создать объект, а потом вписать ссылку на него. Создается он оператором new, а ссылка определяется String str. К примеру, первоначально создается надпись «Hello». Для этого необходимо прописать в строке str = new String («Hello»). В это время выделяется памяти для надписи и с помощью первого стоящего оператора она связывается с определенной ячейкой. Пока все происходит как и в примитивном типе, но дальше ситуация меняется. Второй стоящий оператор создает в памяти необходимый объект, несущий в себе указанную надпись, при этом сохраняя ее адрес. Эта ссылка определяется оператором str.

Типы данных, основанные на ссылках, могут определяться несколькими переменными, которые будут ссылаться на один и тот же объект. Для этого достаточно прописать все ссылки перед указанием объекта, присвоив им определенную нумерацию. На примере предыдущего варианта это будет выглядеть так — String str1; String str2; str1 = new String («Hello»); str2 = str1;. В ссылочном типе данных можно упростить написание, использую вместо оператора создания объекта строковый литерал, например, String str1 = «Hello». Это делается для сокращения строк кода, которые могут использоваться слишком часто. Для этих же целей в программировании «Ява» используется постоянная ссылка null, которая на начальном этапе присваивается любой переменной. В самостоятельном варианте она не ссылается ни на какой объект.

Определение примитивных типов.

Всего таких типов восемь и все они делятся на две категории определения – логические и числовые. Последние, в свою очередь, также определяются либо целыми значениями, либо с плавающей точкой. Значения целых типов определяется неделимыми и постоянными числами, которые относятся к пяти из восьми примитивных типов данных «Ява». Они представляют собой тридцати двух разрядный тип, то есть в памяти они занимают только тридцать два бита. Все составляющие их числа являются константами, в допустимом диапазоне от минус двухсот тридцати одного до двухсот тридцати. К примеру, числа десять, ноль или минус двести относятся к литералам примитивного типа данных int.

Данные int.

Такой тип данных может записываться двоичным, десятичным, восьмеричным или шестнадцатеричным числом. Это не значит, что число должно составлять столько цифр, в программировании все от других составляющих. То есть числа, начинающиеся с нуля и состоящие минимум из двух значений, считаются восьмеричными. Например, 0 и 00 будут определять одно и то же, но записываться в разном формате. Шестнадцатеричный формат означает запись данных, начинающихся также с нуля, но дополнительно несущих значение х или Х, при этом содержа в себе шестнадцатеричное число. На примере это выглядит проще, чем звучит, то есть int num1 = 0x123. Двоичное число в таком формате записывается как int num1 = 0b10101, то есть после ноля уже ставится в или В.

Данные Long.

В случае, когда результат вычислений превышает диапазон предыдущего формата, используется следующий. Он относится к шестидесяти четырех разрядному примитивному типу, рабочий диапазон которого составляет от минус двухсот шестидесяти трех до двухсот шестидесяти двух. Числа, написанные данным способом, считаются литералами длинного типа. Для точного различия между предыдущим и описываемым типом, в последнем всегда дописывается значение L или l. Все значения данного типа могут представляться также в различных форматах – двоичном, восьмеричном и шестнадцатеричном.

Как только литералу «лонг» будет присвоено определенное значение, компилятор начинает проверку, подходит ли оно под требуемый диапазон. В случае ошибки компилятор выдаст оповещение и прекратит работу. Так как допустимый диапазон чисел у предыдущего оператора меньше, он полностью вмещается в диапазон оператора «Лонг», а значит, значению второго можно присвоить переменную предыдущего типа в любой момент. В обратную сторону ситуация не работает, даже если число будет свободно входить в оба диапазона. Можно использовать в таких целях точное указание num1 = (int) num2;

Данные Byte.

Этот тип самый маленький в «Ява», его рабочий диапазон составляет всего от минус ста двадцати восьми до ста двадцати семи. Данный тип восьмиразрядный и используется только в случае частого применения чисел данного диапазона или в работе с бинарными данными. У этого типа отсутствуют собственные литералы, как в двух предыдущих вариантах. При этом можно назначить переменной «байт» любой литерал предыдущих диапазонов, если он вписывается в диапазон «байта». В случае, когда расчеты не сойдутся, компилятор выдаст ошибку и работа будет прекращена. Так же значение «байта» присваивается только литералу, а само значение остается не тронутым, иначе может произойти потеря точности определения.

Данные Short.

Это также целый примитивный тип данных, только шестнадцатиразрядный. Если программа часто использует значения его рабочего диапазона – от минус двухсот пятнадцати до двухсот четырнадцати, то значениям присваивается данный тип. У него также отсутствует собственный литерал, поэтому его можно присвоить любому подходящему под диапазон значению литерала int. В общем, все правила присвоения аналогичны с вариантом для «байт».

Данные Char.

Этот тип данных отличается от предыдущих запретом использования знаков, то есть его числа могут быть только положительными без указания впереди минуса. «Чар» шестнадцатиразрядный тип, представляющий собой символ юникода. Его рабочий диапазон варьируется от ноля до шестидесяти пяти тысяч пятисот тридцати пяти, что совпадает с юникодом. У типа данных есть свой литерал, который может использоваться в различном написании, которое зависит от условий. Символ, идущий после литерала и заключенный в одинарные кавычки – char C1 = ‘A’. Двойных кавычек быть не может, потому что они означают строковое значение, которое не присваивается данному типу.

Также типу «чар» не присваивается ссылка. Данный литерал может определяться последовательностью символов, которые заключены в одинарные кавычки и разделены обратной косой, существует восемь таких вариантов – ‘\n’, ‘\r’, ‘\f’, ‘\b’, ‘\t’, ‘\\’, ‘\”’, ‘\’’. Запись в юникод последовательности представляется как ‘\uxxxx’. Первое значение здесь определяет начало, а иксы обозначают шестнадцатеричное число. Это делается для того, чтобы правильно определять значение, ведь одна и та же цифра может по-разному определятся в разной системе представления.

Последний вариант написания это восьмеричная последовательность управляющих символов. Она записывается как ‘\nnn’, где символы в одинарных кавычках это восьмеричные цифры. Данный вариант часто применяется для представления символов, впоследствии совместимых с другими языками. В отличие от предыдущего варианта написания, здесь можно использовать только одну или две цифры, не обязательно полностью заполнять отведенные поля.

Данные boolean.

Этот тип имеет только два литерала true (истина) и false (ложь), которые не могут быть присвоены другому значению. Его диапазон не ограничен и результат зависит только от вычислений программы.

Данные float.

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

Этот тип данных определяется литералом f или F, стоящим в конце строки. К примеру, float f1 = 3.25F; float f2 = 32.5E-1F; float f3= 0.325E + 1F. Также в данном типе существует понятие положительного и отрицательно нулей, но в случае их сравнения, результат будет одинаков. Также здесь определяется положительная и отрицательная бесконечность. В случае не определения результатов вычислений, например, деления на ноль, им будет представлено значение NaN.

Данные double.

Этот тип данных вмещает в себя числа с плавающей точкой, хранящиеся в шестидесяти четырех битной системе. Это называют двойной точностью, которая может представляться и в положительном и в отрицательном варианте. Они также могут быть выражены аналогично предыдущему варианту, только литералом.

Отблагодари меня, поделись ссылкой с друзьями в социальных сетях:


Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *