Tipuri de date primitive în Java
Sursă imagine: Martijn Vonk on Unsplash

Ce sunt tipurile de date primitive în Java? Acele cuvinte cheie pe care le folosești cel mai des… E ca și cum întrebi pe un străin dacă a auzit de o celebritate din România și îți spune imediat Hagi, Comăneci, Halep…

Tipurile de date primitive în Java sunt și cele mai uzuale, dar și cele mai ușor de folosit. Practic, când te obișnuiești cu un lucru care înainte ți s-a părut greu, totul pare ușor, nu-i așa?

Sunt 8 tipuri de date primitive în Java. Trebuie să știi că ele sunt predefinite și numele lor reprezintă și un cuvânt cheie în limbajul Java, ceea ce le fac destul de importante… Tipurile de date primitive se află printre pilonii de bază în sintaxa limbajului Java.

Tipurile de date primitive în Java:

  • byte: poate lua valori în intervalul [-128, 127], are o memorie de 8-biți (1 byte);
  • short: ia valori în intervalul [-32.768, 32.767], are o memorie de 16-biți (2 bytes);
  • int: poate lua valori în intervalul [-231, 231-1], are o memorie de 32-biți (4 bytes);
  • long: ia valori în intervalul [-263, 263-1], are o memorie de 64-biți (8 bytes);
  • float: are o precizie de 6 sau 7 zecimale, cu o memorie de 32-biți (4 bytes);
  • double: are o precizie până la 15 sau 16 zecimale, cu o memorie de 64-biți (8 bytes);
  • boolean: poate avea valorile true (1) sau false (0);
  • char: ia valori în intervalul [0, 65.535], are o memorie de 16-biți (2 bytes).

Pe majoritatea le-ai întâlnit în articolul Tipul unei variabile în Java.

Știai că nu este neapărat să inițializezi variabila cu o valoare la declarare? Îți recomand articolele Cum inițializezi o variabilă? și Cum declari o variabilă?.

Valorile tipurilor de date primitive, în cazul în care nu le inițializezi:

  • byte: 0
  • short: 0
  • int: 0
  • long: 0L (se poate pune „l” sau „L”)
  • float: 0.0F (se poate pune „f” sau „F”)
  • double: 0.0D (se poate pune „d” sau „D”, dar fiind un tip de date implicit, nu e nevoie să se pună litera la finalul numărului…)
  • boolean: false
  • char: ‘\u0000’ (caracterul zero în format Unicode)

Trebuie să fii atent pentru că aceste valori predefinite se dau „variabilelor de clasă” (globale), nu și variabilelor locale.

În Java (și în alte N limbaje de programare), valoarea unei variabile se numește „literal”. Acest „literal” e specific pentru tipul de date de la declararea variabilei. De exemplu, dacă declar variabila altNumar de tipul int (int altNumar) și îi atribui valoarea 10 (int altNumar = 10;), numărul 10 reprezintă „literalul” de tipul int pentru variabila altNumar. Practic, un „literal” reprezintă valoarea variabilei. Un alt exemplu este atribuirea literei ‘Z’ unei variabile de tipul char (char altaLitera = ‘Z’;).

Exemple de „literali” pentru variabilele cu tipuri de date primitive:

1| byte byteNumber = 8; // 8 este un „literal” de tipul byte 
2| short shortNumber = 99; // 99 este un „literal” de tipul short  
3| int integerNumber = 987; // 987 este un „literal” de tipul int 
4| long longNumber = 123456789L; // 123456789L este un „literal” de tipul long 
5| float floatNumber = 1.23F; // 1.23F este un „literal” de tipul float 
6| double doubleNumber = 1.23456789; // 1.23456789 este un „literal” de tipul double 
7| boolean booleanValue = false; // false este un „literal” de tipul boolean 
8| char charValue = 'A'; // A este un „literal” de tipul char   

„Literali” de tipul int (numere reale)

Un număr care are la final litera „l” sau „L” este un „literal” de tipul long. Este recomandat să se folosească „L”, deoarece „l” poate fi confundat foarte ușor cu cifra 1. Dacă un număr nu are zecimale, atunci este un „literal” de tipul int.

Valorile de tipul byte, short, int și long, pot fi create cu literalii de tipul int. Doar numerele care nu sunt în intervalul [-231, 231-1] intră în sfera „literalilor” de tipul long.

„Literalii” de tipul int pot fi numere în baza:

  • zecimală: folosind cifrele de la 0 la 9;
  • hexazecimală: folosind cifrele de la 0 la 9, dar și literele de la „A” la „F” (sau de la „a” la „f”) pentru reprezentarea numerelor de la 10 la 15;
  • binară: folosind cifrele 0 și 1.

Exemple:

1| int decimalNumber = 30; // număr normal 
2| int hexaNumber = 0x1E; // numărul 30 în format hexazecimal; se pune 0x sau 0X în fața numărului 
3| int binaryNumber = 0b10101010; // numărul 30 în format binar; se pune 0b sau 0B în fața numărului  

„Literali” de tipul float

Un număr cu zecimale este de tipul float dacă la final are litera „f” sau „F”. Dacă are la final litera „d” sau „D”, este de tipul double. Chiar dacă nu are vreo literă la final, tot se consideră a fi din oficiu de tipul double.

De asemenea, numerele cu zecimale se pot exprima folosind notația științifică, cu litera „e” sau „E”, care se pune înaintea cifrei ce reprezintă puterea lui 10.

Exemple:

1| double doubleNormal = 3.14; // numărul 3.14 în reprezentare normală 
2| double doublePoliticallyCorrect = 3.14D; // numărul 3.14 în reprezentare normală, cu litera „D” la final  
3| float floatNormal = 1.2345F; // numărul 1.2345 în reprezentare normală, cu litera „F” la final  
4| float scientificNumber = 123.45e2; // numărul 1.2345 în reprezentare științifică, adică e 123.45 * 102, e2 semnifică 102

„Literali” de tipul char

Tipul char poate ține un singur caracter între ghilimele simple. „Literalii” specifici pentru tipul char pot fi de 2 tipuri:

  1. format normal: ‘A’, ‘B’, ‘C’
  2. format Unicode: ‘\u0041’, ‘\u0042’, ‘\u0043’;

„Literali” de tipul boolean

Există doar două valori: true sau false. Atât.

Bonus

Mai sunt și alte 2 tipuri de „literali”, dar care n-au legătură cu tipurile de date primitive în Java. Ele sunt:

  • „literali” de tipul String: orice caractere introduse între ghilimelele duble;
  • „literalul” null: are valoarea null, dar n-are niciun efect… Se folosește la lucruri un pic mai complicate… la clase…

Concluzie

Cu ce trebuie să rămâi după ce ai citit acest articol? Cu tot… Glumesc… Nu glumesc… Trebuie să înveți să fii profesionist! Citește tot, testează-ți cunoștințele, recitește ce nu ți-e clar, lasă un comentariu dacă vrei să te ajut cu ceva și fă cumva să fii profesionist! Limbajul Java este cu-adevărat unul de senzație! (Nu e primitiv… din epoca de piatră…)

Învață să fii profesionist!


Sursă imagine: Martijn Vonk on Unsplash

By projava

#JAVA

Abonează-te
Primește notificări pentru
guest
0 Comentarii
Păreri...
Vezi toate comentariile