Instrucțiuni simple

În limbajul Java, procesul de calcul este controlat de instrucțiuni (enunțuri). Fiecare instrucțiune indică una sau mai multe acțiuni pe care trebuie să le execute calculatorul. Corpul oricărei metode este constituit dintr-o succesiune de instrucțiuni. Executarea metodei constă în executarea acestor instrucțiuni într-o ordine determinată. Instrucțiunile pot fi grupate în blocuri.

După structura lor, instrucțiunile pot fi simple sau structurate.

Instrucțiunile simple nu conțin în interiorul lor alte instrucțiuni. Există trei categorii principale de instrucțiuni (enunțuri) simple: declarațiile de variabile locale, instrucțiunile-expresie și instrucțiunea vidă. La scrierea lor se respectă următoarele reguli:

Notă pentru programatorii în alte limbaje

În limbajul Java, declarațiile de variabile locale sunt considerate instrucțiuni executabile, deci ele au efect la executarea programului
În majoritatea limbajelor compilate, declarațiile de variabile locale sunt luate în considerație numai la compilare, deci sunt considerate instrucțiuni neexecutabile. În limbajul Java declarațiile sunt, de asemenea, luate în considerație de compilator, care verifică dacă declarația este corectă sintactic și, de asemenea, verifică la fiecare apariție a unei variabile locale în programul sursă dacă:
   - variabila respectivă a fost declarată;
   - tipul variabilei corespunde contextului în care este folosită variabila respectivă;
   - variabila are deja o valoare.

Efectul declarațiilor de variabile locale din programele Java constă în faptul că în momentul execuției se alocă în memorie (pe stivă) spațiu pentru variabilele respective și se introduc valorile inițiale. În consecință:
    - declarațiile de variabile pot fi plasate oriunde în interiorul unui bloc (pot fi puse la începutul acestuia sau pot fi intercalate cu alte instrucțiuni);
    - "executarea" declarației are loc de la stânga la dreapta și de sus în jos, astfel că la evaluarea expresiilor prin care se calculează valoarea inițială a unei variabile, se consideră cunoscute valorile inițiale ale variabilelor declarate anterior.

Instrucțiunile-expresie pot fi  instrucțiuni de atribuire, de incrementare/decrementare sau de invocare de metodă.


Instrucțiunile de atribuire
sunt instrucțiuni prin care unei variabile i se atribuie o nouă valoare, modificându-se astfel valoarea avută anterior. Instrucțiunea de atribuire este o expresie de atribuire sau de atribuire compusă urmată de caracterul ';' (punct și virgulă) deci are următoarea formă sintactică:
    expresie_de_atribuire;

Valoarea acestei expresii se ignoră, astfel că acțiunea care se efectueaza la executarea instrucțiunii de atribuire constă numai în efectul lateral al acesteia, adică în modificarea valorii variabilei din partea stânga. De exemplu, dacă a și b sunt variabile numerice, atunci a=b+7 este o expresie de atribuire, în timp ce
   a=b+7;
în care la sfârșitul expresiei de atribuire s-a pus terminatorul punct și virgulă, este o instrucțiune de atribuire.
Se pot face atribuiri în lanț, ca în exemplul următor:
     a=b=c=d=3;

Instrucțiunile de incrementare/decrementare
sunt instrucțiuni formate dintr-o expresie de incrementare sau decrementare, urmată de caracterul ';' (punct și virgulă). De exemplu, a++ este o expresie de postincrementare, în timp ce
    a++;
este o instrucțiune de postincrementare.
Instrucțiunile de invocare de metodă
sunt instrucțiuni prin care se cere executarea unei metode, transmițându-i-se acesteia valorile parametrilor. Instrucțiunea constă din numele metodei, urmat de o pereche de paranteze care conține valorile parametrilor și se termină prin caracterul ';' (punct și virgulă). Acțiunea cerută de instrucțiune constă în executarea metodei respective. Daca metoda este o funcție, valoarea funcției se ignoră, menținându-se numai efectele laterale ale metodei respective. De exemplu:
    System.out.println("șir de caractere");
este o instrucțiune prin care se invocă metoda println a câmpului out din clasa System, transmițându-i-se parametrul "șir de caractere". Acțiunea care se realizează astfel constă din afișarea pe ecran a șirului primit ca parametru.
Exemplu
În fișierul Instructiuni.java se dă un exemplu simplu de program care conține o secvența de instrucțiuni simple: o declarație de variabile, două instrucțiuni de atribuire, o instrucțiune de incrementare și o invocare de metodă.
 
/* Exemple de instructiuni simple */

class Instructiuni {
  public static void main(String args[]) {
    double a=3.76, b=-15, c=2*a-b, d, e; // declaratie de variabile
    d=3*a-7;  // instructiune de atribuire
    b++;  // instructiune de incrementare
    e=b-17; // instructiune de atribuire
     /* invocare de metoda */
    System.out.println("a="+a+" b="+b+" c="+c+" d="+d+" e="+e);
   }
}

Pentru mai multa claritate, fiecare instrucțiune a fost scrisa pe o linie de program separată și a fost însoțită de un comentariu. Se permite, însă, scrierea mai multor instrucțiuni pe o singură linie sau, invers, o instrucțiune se poate extinde pe mai multe linii. Singura restricție este ca trecerea de la o linie la alta să se facă la nivelul unui operator sau separator (să nu se rupă in doua un simbol format din mai multe caractere, un identificator sau un literal). Remarcăm că la declararea variabilei c s-a luat în consideratie faptul că variabilele a și b au deja valori inițializate anterior.



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