Documente Academic
Documente Profesional
Documente Cultură
Expresie
Operatie
Valoarea expresiei
Efect lateral
++
++a
preincrementare
a+1
++
a++
postincrementare
este o instruciune prin care se invoc metoda println a cmpului out din clasa System,
transmindu-i-se parametrul "ir de caractere". Aciunea care se realizeaz astfel const din
afiarea pe ecran a irului primit ca parametru
8. Care este schema logic a structurii de control secveniale i cum trebuie interpretat?
<instruciunea_1>
<instruciunea_2>
....
<instruciunea_n>
Exist, deci, un numr oarecare (n) de instruciuni, care se execut una dupa alta, n ordinea
n care sunt scrise n program.
9. Care este schema logic a structurii de control alternative i cum trebuie interpretat?
Structura alternativ (condiional, de decizie).
n aceast schem logic, Condiie este o expresie boolean. Executarea acestui fragment de program
decurge astfel: se verific mai nti dac este satisfcut condiia. Dac ea este satisfcut, deci
expresiaCondiie are valoarea true, se execut Instruciunea 1, iar n caz contrar se
execut Instruciunea 2.
In pseudocod, acest fragment de program se scrie astfel:
Dac <condiie>
atunci <instruciunea_1>
altfel <instruciunea_2>
Sfarit_dac
n unele convenii de pseudocod, n loc de Instruciunea_1 i Instructiunea_2 pot fi puse secvene de
instruciuni.
10. Care este schema logic a ciclului cu test iniial i cum trebuie interpretat?
11. Care este schema logic a ciclului cu test final i cum trebuie interpretat?
In ciclul cu test
final evaluarea condiiei se face dup ce instruciunea a fost deja executat
n pseudocod, ciclul cu test final reprezentat prin schema logic din figura 4 se scrie sub
forma general:
execut
<instruciune>
ct_timp <condiie>
12. Unde sunt plasate variabilele locale n memoria mainii virtuale Java?
n memoria mainii virtuale Java, variabilele locale sunt plasate pe stiva procesului curent. La
executarea unei instruciuni-declaraie, variabilele coninute n aceasta sunt puse pe stiv, n
ordinea n care ele apar n declaraia respectiv.
13. Cnd sunt eliminate din memorie variabilele locale?
Cnd se ajunge la sfritul blocului n care au fost declarate, variabilele sunt scoase de pe
stiv
14. Cum se stabilete crui if i aparine clauza else n cazul instructiunilor if imbricate?
Pentru a nu se produce confuzii, cel mai bine este s se grupeze instruciunile n blocuri.
Exemplu
Fie instruciunea
if(a<b)
if(b<c) System.out.println("A");
else System.out.println("B");
else System.out.println("C");
if(a<b) {
if(b<c) System.out.println("A");
else System.out.println("B");
} else System.out.println("C");
15. Care este forma sintactic a instruciunii switch i cum este ea interpretat?
n limbajul Java, structura de comutare se realizeaz prin instruciunea switch, care are urmtoarea
form general:
switch (expresie) {
case valoare_1: secven_1
[break;]
case valoare_2: secven_2
[break;]
..........................
case valoare_N: secven_N
[default: secven ]
}
n care:
- switch, case si default sunt cuvinte cheie ale limbajului Java;
- expresie este o expresie de tip byte, short, int sau char;
- valoare este fie un literal de tip byte, short, int sau char, fie o expresie constant de
tip int, adic o expresie care conine numai literali sau variabile finale din tipurile menionate;
- secvena este o secven de instruciuni simple sau structurate;
- parantezele drepte roii []nu apar n program, ci indic faptul c coninutul lor este opional
(poate sa lipseasc).
16. Ce rol are instruciunea break n cadrul unui bloc switch?
Instructiunea break se poate folosi n corpul unei instruciuni switch, while,
do..while sau for i are ca efect ieirea forat (abrupt) din structura de control n care
se gsete instruciunea respectiv.
* Testarea instructiunii switch */
class TestSwitch {
public static void main(String args[]) {
int a=7;
char c='@';
double u=15.3782;
System.out.println("Switch fara break si cu cazuri vide");
switch(a) {
u+=a;
System.out.println("B "+u);
case 7:
u--;
System.out.println("C "+u);
case '@':
case 148:
case 15:
case -87: u-=a;
System.out.println("D "+u);
case -12: u*=a;
System.out.println("E "+u);
case 'F': u%=a;
System.out.println("F "+u);
default:
u=15.3782;
System.out.println("G "+u);
}
System.out.println("Switch cu break dupa fiecare caz
nevid");
switch(c) {
case 143: u++;
System.out.println("A "+u);
break;
case 2:
u+=a;
System.out.println("B "+u);
break;
case 7:
u--;
System.out.println("C "+u);
break;
case '@':
case 148:
case 15:
case 87:
u-=a;
System.out.println("D "+u);
break;
case 12:
u*=a;
System.out.println("E "+u);
break;
u=15.3782;
System.out.println("G "+u);
}
}
Se observ cu uurin c, n primul caz (fr instruciuni break), s-a nceput executarea secvenei de
instruciuni n punctul "case 7" i s-a continuat pn la sfritul blocului instruciunii switch (inclusiv
cazul default). Cnd s-a folosit instruciunea break, ieirea s-a fcut la ntalnirea acestei instruciuni.
Instruciunea break se gsete, n acest exemplu, n corpul ciclului interior. Dac nu ar fi coninut
eticheta ciclu1,aceast instruciune ar fi provocat numai ieirea dim ciclul interior (for), dar s-
ar fi reluat execuia ciclului exterior (while), implicand, desigur, i reluarea ciclului interior
continut de acesta.
Instruciunea break se gsete, n acest exemplu, n corpul ciclului interior. Dac nu ar fi coninut
eticheta ciclu1,aceast instruciune ar fi provocat numai ieirea dim ciclul interior (for), dar s-ar fi
reluat execuia ciclului exterior (while), implicand, desigur, i reluarea ciclului interior continut de
acesta. Dac ns este prezenta eticheta din break, se va iei forat din instruciunea de control care
poart aceast etichet, n cazul de fa din ciclul exterior.
22. n ce situaie se folosete o instruciune continue cu etichet?
Tratarea prin program a excepiilor se face, n limbajul Java, folosind instruciunea try
urmat de una sau mai multe clauze catch i, opional, de o clauz finally sub forma
urmatoare:
try {
secventa
}
catch (ClasaExceptie1variabila1) {
secventa1
}
catch (ClasaExceptie2 variabila2) {
secventa2
}
...............
catch (ClasaExceptieN variabilaN) {
secventaN
}
[finally {
secventa_finalizatoare
}]
n corpul instruciunii try se pune secvena de instruciuni n care este posibil ca, la executarea
programului, s apar excepii. Dac excepia a aprut ntr-un punct situat n corpul unei
instruciuni try, aceasta instruciune se termin n mod abrupt, astfel c restul instruciunilor nu se
mai execut, trecndu-se direct la acolada de nchidere a blocului. Se parcurg apoi, una dup alta,
clauzele catch, pn se ajunge la cea care are ntre paranteze numele clasei excepiei care s-a produs
i se execut secvena din corpul acestei clauze.