boolean
Tipul de date boolean are doar doua valori posibile: true (adevarat) si false (fals). Utilizeaza acest tip de date pentru indicatorii ce urmaresc conditii true/false. Acest tip de date reprezinta un bit de informatie, dar "dimensiunea" sa nu este ceva definit exact.
char
Tipul de date char reprezinta un caracter Unicode. Are o valoare minima de '\u0000' (sau 0) si o valoare maxima '\uffff' (sau 65,535 inclusiv).
Pe langa cele 8 tipuri de date primitive prezentate mai sus, limbajul de programare Java mai ofera si suport special pentru siruri de caractere prin intermediul clasei java.lang.String. Delimitarea unui sir de caractere cu ajutorul ghilimelelor va crea automat un nou obiect String, de exemplu: String s = "acesta este un sir"; Obiectele String sunt imutabile, ceea ce inseamna ca o data create, valorile lor nu pot fi schimbate. Clasa String nu este din punct de vedere tehnic un tip de date primitiv, dar tinand cont de suportul special oferit acesteia de catre limbaj, probabil ca o vei considera astfel.
Valori implicite
Nu este intotdeauna necesar sa desemnezi o valoare la declararea unui camp. Campurile care sunt declarate, dar nu sunt initializate, vor fi setate la o valoare standard de catre compilator. Vorbind la modul general, acest standard va fi zero sau null, depinzand de tipul de date. Insa, in general nu e recomandat sa lucrezi cu variabile neinitializate.
Urmatorul tabel rezuma valorile standard pentru tipurile de date prezentate mai sus.
|
Tipul de date
|
Valoare implicita (pentru campuri)
|
|
byte
|
0
|
|
short
|
0
|
|
int
|
0
|
|
long
|
0L
|
|
float
|
0.0f
|
|
double
|
0.0d
|
|
char
|
'\u0000'
|
|
String (sau orice obiect)
|
null
|
|
boolean
|
false
|
Variabilele locale sunt usor diferite; compilatorul nu desemneaza niciodata o valoare standard unei variabile locale neinitializate. Daca nu poti initializa variabila locala cand este declarata, asigura-te ca ii desemnezi o valoare inainte de a incerca sa o utilizezi. Accesarea unei variabile locale neinitializate va conduce la o eroare la compilare.
Initializarea variabilelor
Pentru exemplele de mai sus, cuvantul cheie new nu este utilizat la initializarea unei variabile. Valorile primitive sunt tipuri speciale de date incorporate in limbaj; nu sunt obiecte create dintr-o clasa.
boolean result = true;
char capitalC = 'C';
byte b = 100;
short s = 10000;
int i = 100000;
Tipurile de date intregi (byte, short, int si long) pot fi exprimate utilizand numere zecimale, octale (in baza 8) sau hexazecimale (in baza 16). De cele mai multe ori, vei utiliza numere in baza 10. Oricum, daca ai nevoie de numere octale sau hexazecimale, urmatorul exemplu prezinta sintaxa corecta pentru initializarea lor. Prefixul 0 indica octal, in timp ce 0x indica hexazecimal.
int decVal = 26;
int octVal = 032;
int hexVal = 0x1a;
Tipurile de date rationale (float si double) pot fi exprimate utilizand E sau e (notatie stiintifica sau exponentiala), F sau f (pentru float) si D sau d (pentru double). Notatia d este cea implicita si poate fi omisa:
double d1 = 123.4;
double d2 = 1.234e2;
float f1 = 123.4f;
Tipurile de date char si String pot contine orice caractere Unicode (UTF-16). Daca editorul tau si sistemul de fisiere iti permit, poti utiliza astfel de caractere direct in cod. Daca nu, poti utiliza caractere escape, cum ar fi '\u0108' (C cu accent circumflex), sau "S\u00ED se\u00F1or" (Sí Señor in spaniola). Intotdeauna utilizeaza apostrof pentru char si ghilimelele duble pentru literalii String.
Limbajul de programare Java mai suporta cateva secvente speciale escape pentru tipurile char si String: \b (backspace), \t (tab), \n (linie noua), \f (form feed), \r (carriage return), \" (ghilimele), \' (apostrof) si \ (backslash).
Mai exista o valoare null speciala, care poate fi utilizata pentru orice referinta (obiect). Valoarea null poate fi atribuita oricarei variabile, cu exceptia celor de tip primitiv. Nu poti face prea multe cu o valoare null in afara de a-i testa prezenta, asadar, null este utilizata deseori in programe pentru a indica daca un obiect a fost initializat sau nu.
Rezumat
Limbajul de programare Java utilizeaza atat campuri cat si variabile in terminologia sa. Variabilele de instanta (campuri non-statice) sunt unice pentru fiecare instanta a unei clase. Variabilele de clasa (campuri statice) sunt campuri declarate cu ajutorul modificatorului static. Indiferent de cate ori a fost instantiata o clasa, va exista o singura copie a variabilelor de clasa. Variabilele locale exista doar in cadrul unei metode. Parametrii sunt variabile care furnizeaza informatii suplimentare unei metode; atat variabilele locale cat si parametrii sunt clasificati intotdeauna ca variabile (nu campuri). Cand denumesti campurile sau variabilele, exista reguli si conventii pe care ai putea (sau trebuie) sa le urmezi.
Cele opt tipuri de date primitive sunt: byte, short, int, long, float, double, boolean si char. Clasa java.lang.String reprezinta siruri de caractere. Compilatorul va atribui o valoare implicita (default) campurilor de tipul celor mentionate mai sus; variabilele locale nu vor fi niciodata initializate cu valori default.
|