Variabile

In matematică, variabila este un simbol dat unei valori, care aparține unei mulțimi de valori ce constituie domeniul de definiție al variabilei respective.

În programare, variabila este un nume căruia i se asociază o valoare. Numele variabilei este un identificator, iar valoarea variabilei trebuie să aparțină unui anumit tip de date. Asupra valorilor variabilelor pot fi efectuate prin program anumite operații.
 
Exemplul 1
In expresia x=a+2, x și a sunt variabile. Operațiile efectuate sunt următoarele: se adună valoarea variabilei a cu valoarea 2 (dată aici sub formă de literal), iar rezultatul se atribuie ca valoare variabilei x; în consecință, valoarea variabilei a ramâne nemodificată, în schimb variabila x primește o nouă valoare. Operatorul = nu exprima aici relația de egalitate, ci operația de atribuire a unei valori unei variabile.

Exemplul 2
Expresia System.out.println(a) are ca efect afișarea pe ecran a valorii variabilei a.


 
Valoarea variabilei trebuie să  fie reprezentată în memoria calculatorului la o anumită adresă și să ocupe acolo un anumit spațiu (un anumit număr de biți).  În consecințș, numim variabilă o zonă de memorie care poarta un nume și care conține o anumită valoare, apartinând unui tip de date.

Programatorul care folosește un limbaj de nivel înalt, cum este și limbajul Java, nu trebuie să cunoască adresa de memorie, la care este plasată valoarea variabilei, și nici reprezentarea internă a acesteia, fiind suficient să-i cunoasca numele și tipul. Alocarea de spațiu în memorie pentru fiecare variabilă se face, după caz, de către compilator sau interpretor. În schimb, numele și tipul variabilei trebuie declarate de către programator.

Remarcăm că în matematică operațiile cu variabile se fac, de cele mai multe ori, la nivel abstract, asupra simbolurilor variabilelor și nu asupra valorilor acestora. De exemplu, în identitatea a+a=2.a nu are importanța ce valoare are variabila a, egalitatea fiind întotdeauna adevarată.

În programare se are în vedere faptul că, atât timp cât ea exista în memorie, variabila are întotdeauna o valoare (deoarece zona de memorie aferentă nu poate fi vidă), iar operațiile se fac asupra valorilor variabilelor și nu asupra numelor acestora.

Declararea și inițializarea variabilelor

În limbajul Java, orice variabilă trebuie declarată înainte de a fi utilizată. Prin declararea variabilei se înțelege precizarea, pentru compilator, a tipului și numelui acesteia.  Inițializarea variabilei se face atunci, când acesteia i se dă pentru prima dată o valoare și deci  i se alocă spațiu în memorie. Dacă, la declararea variabilei, aceasta nu este și inițializată în mod explicit, atunci ea este inițializata cu o valoare implicită, care va fi specificată la descrierea fiecărui tip.
 
Iată un exemplu de declarație de variabilă:

   int alpha, beta=3702, k;

Aceasta este o instrucțiune din program, prin care se specifică următoarele:

  • alpha, beta și k sunt numele unor variabile de tipul int;
  • variabilei beta i se dă valoarea inițiala 3702;
  • variabilelor alpha si k li se dau valori inițiale implicite corespunzătoare tipului int (în cazul de față valoarea 0).

Din exemplul de mai sus, se observă că declarația de tip are urmatoarea formă:

    tip variabila_1, ..., variabila_n;

în care:
    tip - numele tipului de date căruia îi aparțin variabilele declarate;
    variabila_i - specificarea numelui unei variabile, urmat opțional  de valoarea variabilei respective precedată de simbolul =.
 
Remarcam că:
  • declarația de tip este o instructiune care se termină obligatoriu prin simbolul ; (punct și virgulă);
  • este posibil ca, într-o singură declarație, să apară  mai multe variabile; în acest caz, specificațiile variabilelor respective sunt separate prin virgule;
  • indicarea valorii variabilei este opțională.
În declarația de tip, valoarea inițială a variabilei poate fi dată sub forma unui literal sau a unei expresii. În ultimul caz, este necesar ca expresia să fie calculabilă, deci toate variabilele pe care le conține să aiba deja valori date anterior.

Prin convenție, în limbajul Java numele de variabile încep întotdeauna cu literă mică. Este permis însă ca, în interiorul numelui, sa existe și litere mari. Aceasta se întamplă atunci când numele variabilei este format din mai multe cuvinte ale limbii naturale, de exemplu vitezaMedie.

Ulterior, la descrierea fiecărui tip de date, vom da și exemple de declarare a variabilelor de tipul respectiv.

Variabile finale

În limbajul Java, se numesc variabile finale acele "variabile", ale căror valori nu pot fi modificate prin program. Acestea sunt deci, de fapt, niște constante cu nume. Ele se aseamănă cu variabilele propriu-zise prin faptul că sunt tot perechi nume - valoare, numai că valoarea lor se dă o singură dată, sub forma de inițializare în declarația de tip sau sub forma de atribuire, după care nu mai poate fi modificată. Se obișnuiește ca numele de variabile finale să fie scrise în întregime cu majuscule.

Declarația de tip este la fel cu cea pentru variabile obișnuite, dar are in față modificatorul final, care este un cuvânt cheie.
 
De exemplu, declarația
    final int ALPHA=17, BETA=-1453;
servește pentru a specifică faptul că ALPHA și BETA suntvariabile finale de tip int, ale caror valori sunt, respectiv, 17 si -1453 și nu mai pot fi ulterior modificate (deci ALPHA și BETA sunt, de fapt, niște constante).



© Copyright 2000 - Severin BUMBARU, Universitatea "Dunărea de Jos" din Galați