Типи даних Java

Типи даних Java

Java є статично типізованою, а також строго типізованою мовою, оскільки в Java кожен тип даних (наприклад, цілі числа, символи, шістнадцяткові, упаковані десяткові тощо) попередньо визначено як частина мови програмування, а всі константи чи змінні визначені для дана програма повинна бути описана за допомогою одного з типів даних Java.

Типи даних в Java

Типи даних в Java мають різні розміри та значення, які можна зберігати у змінній, створеній відповідно до зручності та обставин, щоб охопити всі тестові випадки. Java має дві категорії, у яких розділені типи даних

  1. Примітивний тип даних: такі як boolean, char, int, short, byte, long, float і double
  2. Непримітивний тип даних або тип даних об’єкта: наприклад String, Array тощо.

Data-Types-Java

Примітивні типи даних у Java

Примітивні дані є лише одиничними значеннями і не мають спеціальних можливостей. Існує 8 примітивних типів даних. Нижче вони зображені у вигляді таблиці:

Тип

опис

За замовчуванням

Розмір

Приклади літералів

Діапазон значень

логічний Правда чи неправда помилковий 1 біт правда, неправда

правда, неправда

байт ціле число з доповненням до двох 0 8 біт (жоден)

-128 до 127

char символ Unicode u0000 16 біт 'a', 'u0041', '101', '', '', ' ', 'b'

представлення символів значень ASCII

від 0 до 255

короткий ціле число з доповненням до двох 0 16 біт (жоден)

-32 768 до 32 767

внутр ціле число з доповненням до двох 0 32 біти -2,-1,0,1,2

-2 147 483 648

до

2,147,483,647

довго ціле число з доповненням до двох 0 64 біти -2л,-1л,0л,1л,2л

-9 223 372 036 854 775 808

до

9,223,372,036,854,775,807

плавати IEEE 754 з плаваючою комою 0,0 32 біти 1.23e100f , -1.23e-100f , .3f ,3.14F

до 7 десяткових цифр

подвійний IEEE 754 з плаваючою комою 0,0 64 біти 1.23456e300d , -123456e-300d , 1e1d

до 16 десяткових цифр

Давайте обговоримо та реалізуємо кожен із наведених нижче типів даних:

1. Логічний тип даних

Логічний тип даних представляє лише один біт інформації правда чи хибність який призначений для представлення двох істинних значень логіки та булевої алгебри, але розмір логічного типу даних залежність від віртуальної машини . Значення типу boolean не перетворюються неявно чи явно (за допомогою приведення) до будь-якого іншого типу. Але програміст може легко написати код перетворення.

Синтаксис:

boolean booleanVar; 

розмір: Залежить від віртуальної машини

2. Байтовий тип даних

Байтовий тип даних — це 8-розрядне ціле число зі знаком. Байтовий тип даних корисний для збереження пам’яті у великих масивах.

Синтаксис:

byte byteVar; 

розмір: 1 байт (8 біт)

3. Короткий тип даних

Короткий тип даних — це 16-розрядне ціле число зі знаком. Подібно до byte, використовуйте short для збереження пам’яті у великих масивах у ситуаціях, коли збереження пам’яті дійсно має значення.

Синтаксис:

short shortVar; 

розмір: 2 байти (16 біт)

4. Цілочисельний тип даних

Це 32-розрядне ціле число зі знаком.

Синтаксис:

int intVar; 

розмір: 4 байти (32 біти)

Пам'ятайте: У Java SE 8 і новіших версіях ми можемо використовувати тип даних int для представлення 32-розрядного цілого числа без знаку, яке має значення в діапазоні [0, 2 32 -1]. Використовуйте клас Integer, щоб використовувати тип даних int як ціле число без знака.

5. Довгий тип даних

Асортимент лонга досить великий. Довгий тип даних — це 64-розрядне ціле число з двома доповненнями, і він корисний у тих випадках, коли тип int недостатньо великий, щоб утримувати потрібне значення. Розмір типу даних Long становить 8 байт (64 біти).

Синтаксис:

long longVar; 

Пам'ятайте: У Java SE 8 і пізніших версіях ви можете використовувати тип даних long для представлення 64-розрядних даних без знаку, які мають мінімальне значення 0 і максимальне значення 2 64 -1. Клас Long також містить такі методи, як порівняння Unsigned, divide Unsigned тощо для підтримки арифметичних операцій для unsigned long.

6. Тип даних Float

Тип даних з плаваючою точкою є 32-розрядним числом з плаваючою комою одинарної точності IEEE 754. Використовуйте float (замість double), якщо вам потрібно зберегти пам’ять у великих масивах чисел з плаваючою комою. Розмір типу даних float становить 4 байти (32 біти).

Синтаксис:

float floatVar; 

7. Подвійний тип даних

Подвійний тип даних є 64-розрядним IEEE 754 із плаваючою комою з подвійною точністю. Для десяткових значень цей тип даних зазвичай є вибором за замовчуванням. Розмір типу даних double становить 8 байт або 64 біти.

Синтаксис:

double doubleVar; 

Примітка: Обидва типи даних float і double були розроблені спеціально для наукових розрахунків, де допустимі помилки апроксимації. Якщо точність є найважливішою проблемою, то рекомендується не використовувати ці типи даних і використовувати замість них клас BigDecimal.

Рекомендується пройти округлення помилок у java.

8. Тип даних Char

Тип даних char — це один 16-розрядний символ Unicode розміром 2 байти (16 біт).

Синтаксис:

char charVar; 

Чому розмір char 2 байти в Java?

Отже, інші мови, такі як C/C++, використовують лише символи ASCII, і для представлення всіх символів ASCII достатньо 8 біт. Але Java використовує Система Юнікод, а не система коду ASCII і для представлення системи Unicode 8 біт недостатньо для представлення всіх символів, тому Java використовує 2 байти для символів. Unicode визначає повністю міжнародний набір символів, який може представляти більшість письмових мов світу. Це об’єднання десятків наборів символів, таких як латиниця, грецька, кирилиця, катакана, арабська та багато інших.

приклад:

Java




// Java Program to Demonstrate Char Primitive Data Type> // Class> class> GFG {> > // Main driver method> > public> static> void> main(String args[])> > {> > // Creating and initializing custom character> > char> a => 'G'> ;> > // Integer data type is generally> > // used for numeric values> > int> i => 89> ;> > // use byte and short> > // if memory is a constraint> > byte> b => 4> ;> > // this will give error as number is> > // larger than byte range> > // byte b1 = 7888888955;> > short> s => 56> ;> > // this will give error as number is> > // larger than short range> > // short s1 = 87878787878;> > // by default fraction value> > // is double in java> > double> d => 4.355453532> ;> > // for float use 'f' as suffix as standard> > float> f => 4> .7333434f;> > // need to hold big range of numbers then we need> > // this data type> > long> l => 12121> ;> > System.out.println(> 'char: '> + a);> > System.out.println(> 'integer: '> + i);> > System.out.println(> 'byte: '> + b);> > System.out.println(> 'short: '> + s);> > System.out.println(> 'float: '> + f);> > System.out.println(> 'double: '> + d);> > System.out.println(> 'long: '> + l);> > }> }>

Вихід

char: G integer: 89 byte: 4 short: 56 float: 4.7333436 double: 4.355453532 long: 12121 

Непримітивний тип даних або довідкові типи даних

The Довідкові типи даних міститиме адресу пам’яті значень змінних, оскільки посилальні типи не зберігатимуть значення змінної безпосередньо в пам’яті. Це рядки, об’єкти, масиви тощо.

1. Струни

рядки визначаються як масив символів. Різниця між масивом символів і рядком у Java полягає в тому, що рядок призначений для зберігання послідовності символів в одній змінній, тоді як масив символів є набором окремих сутностей типу char. На відміну від C/C++, рядки Java не закінчуються нульовим символом.

Синтаксис: Оголошення рядка

 = ; 

приклад:

// Declare String without using new operator  String s = 'techcodeview.com';  // Declare String using new operator  String s1 = new String('techcodeview.com'); 

2. Клас

А клас це визначений користувачем проект або прототип, з якого створюються об'єкти. Він представляє набір властивостей або методів, які є загальними для всіх об'єктів одного типу. Загалом, оголошення класів можуть включати такі компоненти в порядку:

  1. Модифікатори : Клас може бути загальнодоступним або мати доступ за умовчанням. Відноситься до специфікатори доступу для класів або інтерфейсів у Java
  2. Назва класу: Ім'я має починатися з початкової літери (з великої літери).
  3. Суперклас (якщо є): Ім’я батьківського класу (суперкласу), якщо таке є, перед яким стоїть ключове слово extends. Клас може розширювати (підклас) лише одного батька.
  4. Інтерфейси (якщо є): Розділений комами список інтерфейсів, реалізованих класом, якщо такі є, перед яким стоїть ключове слово implements. Клас може реалізовувати більше одного інтерфейсу.
  5. Тіло: Тіло класу оточене дужками {}.

3. Об'єкт

Ан Об'єкт є базовою одиницею об’єктно-орієнтованого програмування та представляє реальні сутності. Типова програма Java створює багато об’єктів, які, як відомо, взаємодіють шляхом виклику методів. Об'єкт складається з:

  1. Держава : Він представлений атрибутами об’єкта. Він також відображає властивості об'єкта.
  2. Поведінка : представлено методами об’єкта. Він також відображає реакцію об'єкта на інші об'єкти.
  3. Ідентичність : це дає унікальне ім’я об’єкту та дозволяє одному об’єкту взаємодіяти з іншими об’єктами.

4. Інтерфейс

Як клас, ан інтерфейс може мати методи та змінні, але методи, оголошені в інтерфейсі, за замовчуванням є абстрактними (лише сигнатура методу, без тіла).

  • Інтерфейси визначають, що повинен робити клас, а не як. Це схема класу.
  • Інтерфейс стосується таких можливостей, як Player може бути інтерфейсом, і будь-який клас, що реалізує Player, повинен мати можливість (або повинен реалізувати) move(). Таким чином, він визначає набір методів, які має реалізувати клас.
  • Якщо клас реалізує інтерфейс і не надає тіла методів для всіх функцій, зазначених в інтерфейсі, тоді клас має бути оголошений абстрактним.
  • Приклад бібліотеки Java Інтерфейс компаратора . Якщо клас реалізує цей інтерфейс, його можна використовувати для сортування колекції.

5. Масив

Ан Масив це група однотипних змінних, на які посилається загальна назва. Масиви в Java працюють інакше, ніж у C/C++. Нижче наведено деякі важливі моменти щодо масивів Java.

  • У Java всі масиви розподіляються динамічно. (обговорюється нижче)
  • Оскільки масиви є об’єктами в Java, ми можемо знайти їхню довжину за допомогою довжини елемента. Це відрізняється від C/C++, де ми знаходимо довжину за допомогою розміру.
  • Змінна масиву Java також може бути оголошена як інші змінні з [] після типу даних.
  • Змінні в масиві впорядковані, і кожна має індекс, що починається з 0.
  • Масив Java також можна використовувати як статичне поле, локальну змінну або параметр методу.
  • The розмір масиву має бути задано значенням int, а не long або short.
  • Прямим суперкласом типу масиву є Object.
  • Кожен тип масиву реалізує інтерфейси Можливість клонування і java.io.Serializable .

Поширені запитання щодо типів даних у Java

1. Що таке типи даних у Java?

Типи даних мають різні розміри та значення, які можна зберігати в змінній, створеній відповідно до зручності та обставин, щоб охопити всі тестові випадки.

2. Які 8 типів даних використовуються в Java?

Існує 8 основних примітивних типів даних у java, як зазначено нижче:

  • логічний
  • байт
  • char
  • короткий
  • внутр
  • довго
  • плавати
  • подвійний

3. Що є примітивним типом у Java?

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

4. Чому char використовує 2 байти в Java і що таке u0000?

Char використовує 2 байти в java, оскільки він використовує систему Unicode, а не систему ASCII. u000 — найнижчий діапазон системи Unicode.

Перевірити: Тест про тип даних у Java