Tipuri de variabile in Java

In Java exista doua categorii majore de tipuri de variabile: primitive si referinte.

Tipuri primitive

Tabelul de mai jos listeaza tipurile pimitive ale Java.

Tip Marime/Format Descriere
(intregi)
byte 8-biti in complement fata de 2 intreg pe un octet
short 16-biti in complement fata de 2 intreg scurt
int 32-biti in complement fata de 2 intreg
long 64-biti in complement fata de 2 intreg lung
(numere reale)
float 32-biti in standardul IEEE 754 simpla precizie in virgula mobila
double 64-biti in standardul IEEE 754 dubla precizie in virgula mobila
(alte tipuri)
char 16-biti caracter Unicode un singur caracter
boolean true sau false o valoare booleana (adevata sau falsa)

Nota. Dimensiunea variabilelor nu depinde de implementare ca in alte limbaje

Tipuri referinta

Arrayurile, clasele, interfetele apartin tipului referinta. Diferenta intre tipurile primitive si tipurile referinta sunt aceleasi ca intre prietenul tau si adresa prietenului tau. Tipurile referinta specifica adresa (de memorie) la care se afla tipul referit. Tipurile referite sunt, din punct de vedere conceptual, analoge pointerilor in C. Tipurile referite nu sunt arrayuri sau clase ci mai curand modalitati de a ajunge (a face referire) la ele.

Numele variabilelor

Numele variabilelor trebuie sa satisfaca urmatoarele:

  1. Sa fie un identificator legal Java (o serie de caractere Unicode). Caracterele Unicode sunt prouectate pentru a suporta texte scrise in diferite limbaje umane (japoneza, chineza, greaca, araba, ebraica, romana, rusa, etc). Acest fapt este important deoarece programatorul isi poate defini numele in propria limba. Pana in prezent sunt alocate peste 34000 de caractere Unicode din cele 65536 caractere adresabile direct cu numere intregi pe 16 biti.
  2. Sa nu fie cuvant cheie Java (precum true, while, if etc.).
  3. Nu trebuie sa fie identic cu numele altei variabile din domeniul ei de vizibilatate.

CONVENTIE. Prin conventie numele variabilelor incep cu litera mica.

Domeniul de vizibilitate al unei variabile este blocul de cod in care variabila este accesibila. Locul in care este declarata o variabila determina domeniul ei de vizibilitate. O variabila poate fi:

  1. o variabila membru a unui obiect
  2. un parametru al unei metode
  3. o variabila locala (declarata in corpul unui bloc de instructiuni)
  4. un parametru al unui handler de exceptii.

Variabile membru ale unui obiect

O variabila membru este membru al unei clase sau al unui obiect. O variabila membru poate fi declarata oriunde  intr-o clasa dar nu in interiorul unei metode.

Variabile locale

In metoda countChars count este variabila locala. In general o variabila locala este accesibila de la locul de declarare pana la sfarsitul blocului in care a fost declarata. O varibila locala poate fi definita oriunde intr-un bloc de cod sau intr-o metoda.

Parametrii metodelor

Parametrii metodelor sunt argumentele formale ale metodelor si constructorilor. Ele sunt folosite pentru transmiterea de valori metodelor.

Parametrii handlerelor de exceptii

Parametrii handlerelor de exceptii sunt analogi parametrilor metodelor. Deosebirea consta in aceea ca sunt argumente ale unui handler de exceptie si nu argumente de metoda sau constructor.

Variabile final

Variabilele final pot fi definite in orice domeniu de vizibilitate. Valoarea unei variabile final nu mai poate fi schimbata dupa ce a fost initializata. Variabilele final sunt declarate folosind cuvantul cheie final plasat inaintea tipului variabilei. Spre exemplu instructiunea

final int trei=3;

declara o variabila final si o initializeaza. Orice incercare ulterioara de a o modifica va conduce la o eroare de compilare. Declararea si initializarea unei variabile final se pot face in instructiuni separate, precum in exemplul urmator

final int trei;
...
trei=(6+12)/3;

O variabila final declarata si neinitializata se numeste blank final.

Cornel Mironel Niculae, 2003-2007

26-Jun-2007