Типы хранения данных java

Кофе-брейк #200. Какие бывают типы данных в Java. Как использовать Project Lombok

Java-университет

Кофе-брейк #200. Какие бывают типы данных в Java. Как использовать Project Lombok - 1

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

Примитивные типы данных

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

Наиболее используемые типы данных в Java:

 // Boolean datatype boolean value=true; // true or false System.out.println(value);//output= true 
 // int datatype int a = 5; System.out.println(a)// output 
  • Тип данных int — это 32-битное целое число, которое может хранить значение от -2 147 483 648 до 2 147 483 647.
  • Вы не можете хранить десятичные значения в типе данных int .
 // long datatype long x=564564564659L; System.out.println(x);//output 564564564659 
  • Можно сказать, что long — это расширенная версия типа данных int , потому что это тип данных, который хранит 64-битные значения в диапазоне от -9 223 372 036 854 775 808 до 9 223 372 036 854 775 807.
  • При написании длинного числа после числового значения нужно добавить “l” или “L”, чтобы показать, что это значение long , иначе, если мы этого не напишем, тогда оно будет считаться int по умолчанию.
 // float data type float c=5.6325f; System.out.println(c);// 5.6325 
  • Одинарная точность (single precision) использует 32 бита в диапазоне от 3,4 x 10^-38 до 3,4 x 10³⁸ и имеет точность 7 знаков после запятой.
  • Нам нужно добавить “f” после значения числа float (с плавающей запятой), чтобы отличить его от значения double .
 // double data type double d=18.235648953532; System.out.println(d); 
  • Тип данных double хранит значения от 4,9 x 10^-324 до 1,8 x 10³⁰⁸ и имеет точность от 15 до 16 знаков после запятой, что намного выше, но количество знаков после запятой зависит от числа.
Читайте также:  Python list to string function

2. Ссылочные типы данных (Reference data types)

  • Ссылочный тип данных (Reference) используется для хранения ссылок на объекты, а не фактического значения объекта.
  • Ссылочная переменная содержит адрес памяти объекта в Java, наиболее распространенным ссылочным типом данных является объект.

Примеры ссылочных типов данных:

  • Массив — это набор похожих типов данных в Java. Он может быть любого типа, например, int[] , String[] или Object[] .
  • В простых примитивных типах данных мы можем хранить только одно значение в переменной. Чтобы хранить более одной переменной одного и того же типа данных, вы можете использовать массивы.
  • Инициализация и добавление значений в массив по отдельности:
 //Arrays System.out.println("******** Array ********"); int[] f= new int[3];// Инициализация // Добавление значений f[0]=1; f[0]=2; f[0]=3; for (int i=0;i
 System.out.println("******* Directly adding the values in array *******"); int[] g=;// Инициализация и добавление значения for (int i=0;i
 //String System.out.println("******** String ********"); String e="adil"; System.out.println(e);//adil 
 System.out.println("******* Object in java *******"); Employee employee=new Employee(1,"Adil"); System.out.println(employee.id);// 1 System.out.println(employee.name);//adil 

Как использовать Project Lombok

Кофе-брейк #200. Какие бывают типы данных в Java. Как использовать Project Lombok - 2

Источник: MediumДанная публикация поможет вам лучше понять, как работать с проектом Lombok в Java, и как он может улучшить производительность при работе над кодом.Project Lombok — это библиотека Java, которая предоставляет аннотации для автоматического создания стандартного кода для классов Java, таких как геттеры и сеттеры, методов equals и hashCode и других. Основное преимущество использования Lombok заключается в том, что он помогает сократить шаблонный код и делает ваши классы Java более лаконичными и читабельными. Используя аннотации Lombok, вы можете сэкономить время и избежать повторяющихся и подверженных ошибкам задач, таких как написание геттеров и сеттеров, конструкторов и других распространенных методов. Lombok разработан, чтобы быть быстрым и легким, поэтому он не снижает производительность приложения. Более того: в большинстве случаев вы обнаружите, что использование Lombok улучшает производительность вашего процесса разработки, поскольку вы сможете писать код быстрее и с меньшим количеством ошибок. Чтобы использовать Project Lombok, вам необходимо выполнить следующие действия:

  1. Установите библиотеку Lombok. Вы можете загрузить последнюю версию Lombok с официального сайта и установить ее для своей операционной системы.
  2. Добавьте библиотеку Lombok в свой проект: добавьте JAR-файл Lombok в путь к классам вашего проекта. В большинстве систем сборки это можно сделать, добавив его в качестве зависимости в файл сборки (например, pom.xml для Maven, build.gradle для Gradle).
  3. Настройте свою IDE: Lombok интегрируется с популярными Java IDE, такими как Eclipse, IntelliJ и NetBeans. Вам нужно будет установить плагин для вашей IDE и настроить его, чтобы включить поддержку Lombok. На сайте Lombok вы найдете инструкции, как это сделать для вашей конкретной IDE.
  4. Аннотируйте свои классы: теперь вы можете начать использовать аннотации Lombok в своих классах Java. Например, чтобы сгенерировать геттеры и сеттеры для поля, вы можете аннотировать поле аннотацией @Getter и @Setter .
 import lombok.Getter; import lombok.Setter; @Getter @Setter @NoArgsConstructor @AllArgsConstructor @EqualsAndHashCode @ToString public class MyClass

Затем Lombok автоматически сгенерирует методы получения и установки для поля name при создании проекта. Дополнительную информацию о том, как использовать различные аннотации Lombok, можно найти в документации проекта. Процессоры аннотаций: Lombok работает с использованием процессоров аннотаций, которые являются компонентами компилятора Java. Они обрабатывают аннотации и генерируют дополнительный код на основе этих аннотаций. Когда вы создаете свой проект, запускается процессор аннотаций Lombok и генерирует для вас необходимый код. Поддержка IDE: как упоминалось ранее, Lombok интегрируется с популярными Java IDE и предоставляет плагины, позволяющие использовать аннотации Lombok при полной поддержке вашей IDE. Это означает, что ваша среда IDE распознает аннотации Lombok и предоставит для них автодополнение кода, подсветку синтаксиса и другие функции. Я надеюсь, что эта информация поможет вам понять Project Lombok и то, как его можно использовать для улучшения процесса разработки Java.

Читайте также:  font-size

Источник

Типы хранения данных java

Одной из основных особенностей Java является то, что данный язык является строго типизированным. А это значит, что каждая переменная и константа представляет определенный тип и данный тип строго определен. Тип данных определяет диапазон значений, которые может хранить переменная или константа.

Итак, рассмотрим систему встроенных базовых типов данных, которая используется для создания переменных в Java. А она представлена следующими типами.

    boolean : хранит значение true или false

boolean isActive = false; boolean isAlive = true;
double x = 8.5; double y = 2.7;
float x = 8.5F; float y = 2.7F;

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

Целые числа

Все целочисленные литералы, например, числа 10, 4, -5, воспринимаются как значения типа int , однако мы можем присваивать целочисленные литералы другим целочисленным типам: byte , long , short . В этом случае Java автоматически осуществляет соответствующие преобразования:

byte a = 1; short b = 2; long c = 2121;

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

Здесь число 2147483649 является допустимым для типа long, но выходит за предельные значения для типа int. И так как все целочисленные значения по умолчанию расцениваются как значения типа int, то компилятор укажет нам на ошибку. Чтобы решить проблему, надо добавить к числу суффикс l или L , который указывает, что число представляет тип long:

Как правило, значения для целочисленных переменных задаются в десятичной системе счисления, однако мы можем применять и другие системы счисления. Например:

int num111 = 0x6F; // 16-теричная система, число 111 int num8 = 010; // 8-ричная система, число 8 int num13 = 0b1101; // 2-ичная система, число 13

Для задания шестнадцатеричного значения после символов 0x указывается число в шестнадцатеричном формате. Таким же образом восьмеричное значение указывается после символа 0 , а двоичное значение — после символов 0b .

Также целые числа поддерживают разделение разрядов числа с помощью знака подчеркивания:

int x = 123_456; int y = 234_567__789; System.out.println(x); // 123456 System.out.println(y); // 234567789

Числа с плавающей точкой

При присвоении переменной типа float дробного литерала с плавающей точкой, например, 3.1, 4.5 и т.д., Java автоматически рассматривает этот литерал как значение типа double . И чтобы указать, что данное значение должно рассматриваться как float , нам надо использовать суффикс f:

float fl = 30.6f; double db = 30.6;

И хотя в данном случае обе переменных имеют практически одно значения, но эти значения будут по-разному рассматриваться и будут занимать разное место в памяти.

Символы и строки

В качестве значения переменная символьного типа получает одиночный символ, заключенный в одинарные кавычки: char ch=’e’; . Кроме того, переменной символьного типа также можно присвоить целочисленное значение от 0 до 65535 . В этом случае переменная опять же будет хранить символ, а целочисленное значение будет указывать на номер символа в таблице символов Unicode (UTF-16). Например:

char ch=102; // символ 'f' System.out.println(ch);

Еще одной формой задания символьных переменных является шестнадцатеричная форма: переменная получает значение в шестнадцатеричной форме, которое следует после символов «\u». Например, char ch=’\u0066′; опять же будет хранить символ ‘f’.

Символьные переменные не стоит путать со строковыми, ‘a’ не идентично «a». Строковые переменные представляют объект String , который в отличие от char или int не является примитивным типом в Java:

String hello = "Hello. "; System.out.println(hello);

Кроме собственно символов, которые представляют буквы, цифры, знаки препинания, прочие символы, есть специальные наборы символов, которые называют управляющими последовательностями. Например, самая популярная последовательность — «\n». Она выполняет перенос на следующую строку. Например:

String text = "Hello \nworld"; System.out.println(text);

Результат выполнения данного кода:

В данном случае последовательность \n будет сигналом, что необходимо сделать перевод на следующую строку.

Начиная с версии 15 Java поддерживает тестовые блоки (text blocks) — многострочный текст, облеченный в тройные кавычки. Рассмотрим, в чем их практическая польза. Например, выведем большой многострочный текст:

String text = "Вот мысль, которой весь я предан,\n"+ "Итог всего, что ум скопил.\n"+ "Лишь тот, кем бой за жизнь изведан,\n"+ "Жизнь и свободу заслужил."; System.out.println(text);

С помощью операции + мы можем присоединить к одному тексту другой, причем продолжение текста может располагаться на следующей строке. Чтобы при выводе текста происходил перенос на следующую строку, применяется последовательность \n.

Результат выполнения данного кода:

Вот мысль, которой весь я предан, Итог всего, что ум скопил. Лишь тот, кем бой за жизнь изведан, Жизнь и свободу заслужил.

Текстовые блоки, которые появились в JDK15, позволяют упростить написание многострочного текста:

String text = """ Вот мысль, которой весь я предан, Итог всего, что ум скопил. Лишь тот, кем бой за жизнь изведан, Жизнь и свободу заслужил. """; System.out.println(text);

Весь текстовый блок оборачивается в тройные кавычки, при этом не надо использовать соединение строк или последовательность \n для их переноса. Результат выполнения программы будет тем же, что и в примере выше.

Источник

Оцените статью