Sari la conținut

(EV) Tutorial Java 6 – #3 Definire variabile de tip primitiv


IczuLetZ.

Postări Recomandate

In acest tutorial Java 6 vom vedea care sunt tipurile primitive de date, cum se definesc variabile, care sunt valorile implicite si ce nume putem da acestor variabile.

In Java exista 2 tipuri de variabile:

primitive

obiecte sau referinte

In acest tutorial ne concentram asupra variabilelor de tip primitiv, iar obiectele (variabilele de tip referinta) vor fi descrise dupa tutorialul despre clase. Alte elemente prezentate in acest tutorial pot fi gasite in Tutorial Java 6 – Continut.

Tipurile primitive sunt tipuri de date fundamentale ce nu mai pot fi descompuse in alte subtipuri. In Java 6 exista 8 tipuri de date primitive:

Tip data

Dimensiune

Valori cu semn

Tip

byte1 byte-128 –> 127intreg

short2 bytes-32768 –> 32767intreg

int4 bytes-2147483648 –> 2147483647intreg

long8 bytes-9,223,372,036,854,775,808 –> 9,223,372,036,854,775,807intreg

float4 bytes7 cifre semnificativereal simpla precizie

double8 bytes15 cifre semnificativereal dubla precizie

char2 bytes‘\u0000’ –> ‘\uffff’ 
0 –> 65535caracter Unicode pe 16 biti

boolean1 bittrue sau falselogic

 

Pentru a defini o variabila se foloseste sintaxa:

tip_variabila nume_variabila;

unde:

tip_variabila – unul din cele 8 tipuri primitive sau un tip definit de programator prin clase;

nume_variabial – numele variabilei definit de programator;

 

Regulile de care se tine cont la definirea variabilelor:

numele variabilei trebuie sa inceapa cu o litera, linie de subliniere (_) sau cu simbolul dolar ($);

numele de variabila NU poate incepe cu o cifra;

dupa primul caracter se pot folosi cifre

numele de variabila NU poate fi un cuvant Java rezervat (Java keywords);

pot fi definite mai multe variabile in acelasi timp;

public class Variables { public static void main() { //variabile definite corect int vb1,vb2; float fvb2; double _temp; boolean $flag;   //variabile definite gresit - eroare compilare byte 3vb; // incepe cu o cifra long for; //foloseste un cuvant cheie } }

 

numele de variabile sunt alese de catre programator, insa pentru eficienta exista o serie de conventii cu privire la numele variabilelor: notatia Ungara, CamelCase; desi nu este obligatorie, in Java exista o recomandare cu privire la numele variabilelor; aceasta este derivata din CamelCasesi presupune ca numele de variabile sa fie cat mai sugestive, iar daca sunt formate din mai multe cuvinte, doar primul cuvant se scrie cu litera mica;

int iNumarCarti; //notatie Ungara int NumarCarti; //CamelCase int numarCarti; //Java mixed case

 

Reguli pentru initializarea variabilelor

La initializarea unei variabile trebuie sa se tina seama de tipul acesteia, deoarece in Java NU este posibil atribuirea de valori de tip diferit decat cel al variabilei. De exemplu, instructiunea urmatoare genereaza eroare de compilare de tipul possible loss of precision:

float vb2 = 23.5; //eroare compilare - possible loss of precision int vb3 = 45.6; //eroare compilare - possible loss of precision boolean test = 23; //eroare compilare - incompatible types

 

In cazul variabilei de tip float, vb2, eroare este generata deoarece valorile reale constante sunt considerate de tip double. Corect este sa pui  f la sfarsitul valorii, adica 23.5f.

tipul valorii trebuie sa fie identic cu tipul variabilei;

pot fi initializate mai multe variabile in acelasi timp;

in Java singurele valori posibile pentru variabile boolene sunt true sau false (in C sau C++, orice valoare numerica diferita de 0 este considerata true);

valorile constante de tip float se definesc cu simbolul f la final deoarece, implicit, constantele reale sunt considerate de tip double;

simbolurile de tip caracter se definesc intre ‘ ’ (apostrof) si nu intre “ “ (ghilimele);

valorile reale pot fi definite si in format stiintific; de exemplu, 123.4 este echivalent cu 1.234e2;

valorile intregi in baza 8 sunt prefixate cu 0; de exemplu 021 este 17 in baza 10;

valorile intregi in baza 16 sunt prefixate cu 0x; de exemplu 0×11 este 17 in baza 10;

variabilele de tip char pot avea ca valori o serie de caractere speciale:

Caracter special

Valoare

\bbackspace

\ttab

\nline feed

\fform feed

\rcarriage return

\”ghilimele

\’apostrof

\\backslash

Exemple de initializari corecte de variabile cu tipuri de date primitive:

int value1; int value2; value1 = value2 = 17; int valueB8 = 021; int valueB16 = 0x11; float value3 = 123.4f; double value4 = 123.4; char c = 'a'; char enter = '\r'; boolean isNumber = true; long value5 = 17L;

 

Valori implicite pentru variabile in Java

Daca variabilele nu sunt initializate, atunci acestea iau valori implicite (NU in toate situatiile !):

Tip de data primitiv

Valoare default

Valori cu semn

Tip

byte0-128 –> 127intreg

short0-32768 –> 32767intreg

int0-2147483648 –> 2147483647intreg

long0L-9,223,372,036,854,775,808 –> 9,223,372,036,854,775,807intreg

float0.0f7 cifre semnificativereal simpla precizie

double0.0d15 cifre semnificativereal dubla precizie

char‘\u0000’‘\u0000’ –> ‘\uffff’

0 –> 65535

caracter Unicode pe 16 biti

booleanfalsetrue sau falselogic

Important ! Variabilele locale (definite in interiorul unei metode) NU sunt initializate cu valori implicite de catre compilator. Valorile implicite din tabelul anterior sunt folosite pentru atributele obiectelor (valori definite la nivelul clasei). Utilizarea unei variabile locale neinitializata va genera eroare de compilare:

public static void main(){ int sum; //variabila locala definita in metoda main sum = sum + 10; //eroare compilare //variable sum might not have been initialized }

Link spre comentariu
Distribuie pe alte site-uri

Vizitator
Acest topic este acum închis pentru alte răspunsuri.
×
×
  • Creează nouă...

Informații Importante

Am plasat cookie-uri pe dispozitivul tău pentru a îmbunătății navigarea pe acest site. Poți modifica setările cookie, altfel considerăm că ești de acord să continui. Also by continuing using this website you agree with the Terms of Use and Privacy Policy.