Sunteți pe pagina 1din 6

Tine minte, programele se executa de sus in jos, linie dupa linie, pe fiecare linie fiind o

instructiune scrisa de tine care face ceva. Executia e secventiala (adica se intampla eveniment
dupa eveniment).
Cu ce se poate compara executia liniara, secventiala:
- timpul
- ordinea in care se intampla unele fenomene, intai cade paharul si dup-aia se sparge, nu
invers; intai fulgera si dup-aia tuna.
Asa si in programare, trebuie avut in vedere ce faci prima data si ce faci dupa.
O variabila este un mod de a pastra informatii, si informatiile din variabila se pot schimba
oricand in program.
O variabila poate fi comparata prin analogie cu o cutie in care se pastreaza lucruri (exemple din
lumea reala: cutii pentru sticle, cutii pentru haine etc.), lucruri de un anumit tip (sticle, haine,
etc), asa si in programare variabilele sunt niste “cutii” care tin “lucruri” (informatii) de anumite
tipuri (numere, caractere, etc);
Scopul unei variabile este valabilitatea sa in cadrul programului, si incepe de la prima linie de
unde a fost declarata si tine pana la finalul blocului de cod din care face parte. Un bloc de cod
este delimitat de catre acolade { si }. Intre acolade se pastreaza de asemenea: corpul unei clase,
corpul unei metode, corpul programului principal (metoda main), corpul buclelor de iteratie
(for, while, do-while) si a instructiunilor conditionate (if, switch).
Exemplu scop variabila in programul principal si exemplificarea ordinii instructiunilor:
Exemplu CORECT:
public class Main{
public static void main(String args[]){
int x; //declaratia variabilei de tip intreg x; aici incepe scopul lui x
//si e valabil pana la sfarsitul lui main adica prima } .
x=10; //aici este accesibil, deoarece este in scop, x fiind accesat DUPA declaratie.
}
}
Exemplu INCORECT:
public class Main{
public static void main(String args[]){
x=10; //aici este inaccesibil, deoarece este in afara scopului
int x; //aici incepe scopul lui x si e valabil pana la sfarsitul lui main adica prima } .
}
}
Exemplificare executie instructiuni, linie dupa linie;
public class Main{
public static void main(String args[]){
int x=10; //linia 1
x = x + 1;
x += 1;
x = x – 2;
}
}
Interpretarea programului de mai sus (liniile din programul principal):
- prima linie: data se declara x si se intializeaza cu 10;
- a doua linie: lui x i se atrbuie valoarea x+1 care este 10+1 adica 11;
- a treia linie: se repeta aceeasi idee de la a doua linie doar ca folosind alt operator (x+=1 e
echivalent cu x=x+1) iar x devine 12;
-a patra linie: lui x i se atribuie valoarea x-2 care este 12-2 adica 10;

O expresie logica este o expresie ce implica operatori logici ( &, |, &&, ||) care dupa evaluare
reprezinta de asemenea o valoare logica.
Exemple de expresii logice:
true && false care este ADEVARAT SI FALS care se evalueaza la FALS
true && true care este ADEVARAT SI ADEVARAT, se evalueaza ADEVARAT
true || false care este ADEVARAT SAU FALS, se evalueaza ADEVARAT
O expresie relationala este o expresie ce implica operatori relationali (==, <=, <, >, >=)
(echivalent, mai mic sau egal, mai mic, mai mare respectiv mai mare sau egal).
Exemple de expresii relationale:
10 == 10 care da true
5 <= 5 care da true
16 <= 15 care da false
3 > 4 care da false

Mai multe informati la linkul:


http://www.tutorialspoint.com/java/java_basic_operators.htm
Structura functiei IF:
if( conditie ){
//instructiuni Corpul lui IF
}
Instructiunile dintre acoladele IF-ului se executa doar daca conditia (care poate fi orice fel de
expresie logica sau relationala) este adevarata.
Exemple:
Ex1:
int x=0;
if(true){ //if-ul se va executa mereu, deoarece conditia este adevarata mereu
x=10;
}

Ex2:
int x=0;
boolean verif = false;
if( verif ){ //if-ul nu va merge deoarece verif este fals
int x=10;
}

Ex3:
int a = 10;
int b = 20;
if( a > b){
//asta NU se executa deoarece a nu este mai mare decat b
}
if( a < b){
//asta se executa fiindca a este mai mic decat b
}
Structura functiei WHILE:

while( conditie ){

//instructiunile de aici se executa repetat pana cand conditia devine falsa

Exemplu:

int x = 0; //linia 1

while( x < 10 ){

x++; Corpul lui WHILE

//alte instructiuni

Interpretarea programului de mai sus:

- prima linie: x este intializat cu 0

- a doua linie: while incepe si se verifica conditia x<10, deoarece este adevarata se intra in
corpul sau pentru executia instructiunilor sale (din corpul while).

- a treia linie: se incrementeaza x cu 1 (x devine 1)

- a patra linie: se trece la linia 2 si se reverifica conditia (x tot e mai mic ca 10 deci se merge in
corpul functiei while din nou) (se repeta pana cand x >= 10, moment in care se trece direct sub
linia patru, deci se executa alte instructiuni de sub corpul lui while.

Structura functiei DO-WHILE:

do{

//intai se ruleaza instructiunile, dupa aceea se verifica conditia Corpul lui DO-WHILE

}while( conditie )
Structura functiei FOR:

for( A ; B ; C ){

//instructiuni care se repetata atata timp cat B este adevarat Corpul lui FOR

Modul in care functioneaza functia FOR este urmatoare:

- cand se ajunge la for se trece prin blocul A de cod (unde de regula se initializeaza niste
variabile)

- dupa blocul A se evalueaza blocul B care se ia ca o conditie pentru executia instructiunilor din
corpul functiei FOR.

- dupa verificarea conditiei, daca aceasta s-a stabilit a fi adevarata atunci se executa
instructiunile din corpul functiei FOR.

- dupa executia instructiunilor din FOR se trece la blocul C (unde de regula se incrementeaza
variabilele initializate in A).

- dupa B se trece din nou la C si se repeta procesul pana cand C se evalueaza ca fiind FALSA.

Realizati urmatoarele programe:

1. Un program care concateneaza 5 stringuri aleatorii si le afiseaza.


2. Acelasi program ca la 1 dar ca de data asta concatenarea o faci direct in SYSO fara sa folosesti
vreo variabila de tip String intermediara.
3. Un program care concateneaza 1 string si 2 numere.
4. Un program cu un array de capacitate 5 in care sa atribui numere oarecare de tip float.
5. Acelasi program ca la 4 dar atribui Stringuri.
6. Acelasi program ca la 4 dar atribui intregi.
7. Un program cu un array de 1000 de elemente care sa tina in fiecare celula stringul “casa”.
8. La fel ca la 7 dar tine numarul “14”.
9. Citeste de la tastatura intr-o variabila un numar intreg, un numar float si un string (toate
astea folosind clasa Scanner). Afiseaza-le la sfarsit.
10. Un program in care sa ai un array de 5 elemente si sa citesti in el numere intregi de la
tastatura dupa care sa le afisezi (folosesti un for pentru citire si un for pentru scriere).
11. Un program care sa-mi afiseze primele 20 de numere ( de la 0 la 20) folosind bucla while, si
inca unul cu bucla do-while.
12. Un program cu doua variabile intregi x si y initializate cu valoarile 10 si 20. Afisati rezultatele
la toate operatiile aritmetice ce se pot face pe x si y (adunare, scadere, inmultire, impartire).
13. Acelasi program ca la 12 doar ca citesti de la tastatura numerle x si y.
14. Un program care ia doua stringuri de la tastatura si le afiseaza concatenate.
15. Un program ce ia 2 numere si 1 string de la tastatura, aduna numerele si afiseaza
concatenarea dintre rezultatul adunarii si stringul primit de la tastatura.
16. Realizeaza un program ce citeste un numar de la tastatura si afiseaza adunarea cu el insusi.
17. Un program care citeste un numar de la tastatura si afiseaza patratul numarului.
18. Un program care citeste un numar de la tastatura si afiseaza impartirea cu el insusi.
19. Un program care citeste un numar de la tastatura si afiseaza numarul incrementat prin doua
metode (cu operatoru ++ si cu adunarea cu 1).
20. Scrie programul:
int x = 1;
System.out.println( x );
System.out.println( x++ );
System.out.println( x );
System.out.println( ++x );
System.out.println( x );
Observa diferentele la executare si interpreteaza-le.

S-ar putea să vă placă și