Intern
Jakie typy danych istnieją w Java?
sobes.tech AI
Odpowiedź od AI
W Javie istnieją dwa główne typy danych:
-
Typy danych prymitywnych (Primitive Data Types): Przechowują proste wartości. Ich rozmiar i zakres są zdefiniowane przez JLS (Java Language Specification).
- Logiczy:
boolean(przechowujetruelubfalse). - 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)
- Logiczy:
-
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)
- Klasy (
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 |