Sobes.tech
Intern

Jakie typy danych istnieją w Java?

sobes.tech AI

Odpowiedź od AI

W Javie istnieją dwa główne typy danych:

  1. Typy danych prymitywnych (Primitive Data Types): Przechowują proste wartości. Ich rozmiar i zakres są zdefiniowane przez JLS (Java Language Specification).

    • Logiczy: boolean (przechowuje true lub false).
    • Liczby całkowite:
      • byte (1 bajt, od -128 do 127)
      • short (2 bajty, od -32 768 do 32 767)
      • int (4 bajty, od -2^31 do 2^31-1)
      • long (8 bajtów, od -2^63 do 2^63-1)
      • char (2 bajty, przechowuje pojedynczy znak w kodowaniu Unicode)
    • Liczby zmiennoprzecinkowe:
      • float (4 bajty, precyzja pojedyncza)
      • double (8 bajtów, podwójna precyzja)
  2. Typy danych referencyjnych (Reference Data Types): Przechowują odwołania (adresy) do obiektów w pamięci. Obejmują wbudowane klasy Java, tablice oraz klasy, interfejsy i wyliczenia tworzone przez użytkownika.

    • Klasy (class)
    • Interfejsy (interface)
    • Enumy (enum)
    • Tablice (array)

Przykłady:

// Typy prymitywne
int count = 10;
boolean isValid = true;
char initial = 'J';
double price = 99.99;

// Typy referencyjne
String name = "Java"; // String to klasa
int[] numbers = {1, 2, 3}; // Tablica
Object obj = new Object(); // Klasa Object

Różnice:

Cecha Typy prymitywne Typy referencyjne
Przechowywanie Wartość faktyczna Odwołanie (adres) do obiektu w pamięci
Domyślna wartość Zależy od typu (0, false, '\u0000') null
Rozmiar Stały Zależy od obiektu i platformy JVM
Praca z pamięcią Zazwyczaj w stosie Obiekty są alokowane na stercie, odwołania na stosie