Sunteți pe pagina 1din 33

Curs 4.

Sintaxa Java –continuare


Modificatori
• Modificatorii sunt cuvinte cheie pe care le adăugați la definiții pentru a le
schimba semnificațiile. Limbajul Java are o mare varietate de modificatori

• Modificatori de acces Java

• Modificatori fără acces

• Pentru a utiliza un modificator, includeți cuvântul său cheie în definiția unei


clase, a unei metode sau a unei variabile. Modificatorul precede restul
enunțului, ca în exemplul următor.
Modificatori
public class className {
// ...
}

private boolean myFlag;


static final double weeks = 9.5;
protected static final int LATIMECUTIE = 42;

public static void main(String[] arguments) {


// corpul metodei
}
Modifcatori de control acces
Java oferă o serie de modificatori de acces pentru a stabili nivelurile de acces
pentru clase, variabile, metode și constructori. Cele patru niveluri de acces sunt -

•Vizibil pentru pachet, implicit. Nu este nevoie de modificatori.


•Vizibil doar pentru clasă (privat).
•Vizibil în afară (public).
•Vizibil în pachet și la toate subclasele (protejat).
Modificatori fără acces
Java oferă o serie de modificatori fără acces pentru a realiza alte funcționalități.

Modificatorul static pentru crearea metodelor și variabilelor clasei.

Modificatorul final pentru finalizarea implementărilor claselor, metodelor și


variabilelor.

Modificatorul abstract pentru crearea de clase și metode abstracte.

Modificatorii sincronized și volatile, care sunt folosiți pentru fire de execuție.


Operatori
Java oferă un set de operatori pentru manipularea variabilelor. Putem împărți toți
operatorii Java în următoarele grupuri:

•Operatori aritmetici
•Operatori relaționali
•Operatori pe bit
•Operatori logici
•Operatori de atribuire
Operatori aritmetici
Operatorii aritmetici sunt folosiți în expresii matematice în același mod în care sunt folosiți în
algebră. Următorul tabel listează operatorii aritmetici -
Presupunem că variabila întreagă A este 10 și variabila B este 20
Operator Descriere Exemplu
+ (Adaos) Adăugă valori de o parte și de alta a operatorului. A + B va
da 30
- (Scădere) Scade operandul din dreapta din operandul din stânga. A - B va
da -10
* (Înmulțire) Multiplică valorile de o parte și de alta a operatorului. A * B va
da 200
/ (Împărțire) Împarte operandul din stânga pe operandul din dreapta. B / A va da 2
% (Modul) Împarte operandul din stânga pe operandul din dreapta și restituie restul. B% A
va da 0
++ (Incrementare) Crește valoarea operandului cu 1. B ++ dă 21
- - (Decrementare) Scade valoarea operanzului cu 1. B -- dă 19
Operatori relaționali
Presupunem că variabila A are valoarea 10 și variabila B are valoarea 20

Operator Descriere Exemplu


== (egal cu) Verifică dacă valorile a doi operanzi sunt egale sau nu, dacă da, atunci
condiția devine adevărată. (A == B) nu este adevărat.
! = (nu este egal cu) Verifică dacă valorile a două operanțe sunt egale sau nu, dacă valorile nu
sunt egale atunci condiția devine adevărată. (A! = B) este adevărat.
> (mai mare decât) Verifică dacă valoarea operandului stâng este mai mare decât valoarea
operandului drept, dacă da, atunci condiția devine adevărată. (A> B) nu este adevărat.
<(mai puțin de) Verifică dacă valoarea operandului stâng este mai mică decât valoarea operandului
drept, dacă da, atunci condiția devine adevărată. (A <B) este adevărat.
> = (mai mare sau egal cu) Verifică dacă valoarea operandului stâng este mai mare sau egală cu
valoarea operandului drept, dacă da, atunci condiția devine adevărată. (A> = B) nu este adevărat.
<= (mai mic sau egal cu) Verifică dacă valoarea operandului stâng este mai mică sau egală cu
valoarea operandului drept, dacă da, atunci condiția devine adevărată. (A <= B) este adevărat.
Operatori pe bit
Java definește mai mulți operatori bit, care pot fi aplicați la tipurile întregi, long, int, short,
char și byte.
Operatorul de biți acționează pe biți și execută operații bit-by-bit. Presupunem dacă a = 60
și b = 13; acum în format binar, acestea vor fi după cum urmează -
a = 0011 1100
b = 0000 1101
----------------
a & b = 0000 1100
a | b = 0011 1101
a ^ b = 0011 0001
~ a = 1100 0011
Următorul tabel listează operatorii cu biți -

Presupunem că variabila întreagă A deține 60 și variabila B deține 13 apoi -


Operatori pe bit
Următorul tabel listează operatorii cu biți -
Presupunem că variabila întreagă A are valoarea 60 și variabila B are valoarea 13
Operator Descriere Exemplu
& (binar și) Binary AND Operator copiază un pic rezultatul dacă există în ambele operanțe. (A & B) va
da 12 care este 0000 1100
| (în mod bit sau) Binary OR Operator copiază un pic dacă există în oricare operand. (A | B) va da 61 care
este 0011 1101
^ (XOR de bit) Operatorul BOR XOR copiază bitul dacă este setat într-un operand, dar nu în ambele. (A
^ B) va da 49 care este 0011 0001
~ (compliment în formă de biți) Operatorul de completare a binelor Onary este unar și are efectul de
„flipping” biți. (~ A) va da -61, care este 1100 0011 în forma complementului 2 datorită unui număr binar
semnat.
<< (schimbare stânga) Operator binar stânga stânga. Valoarea operanzilor din stânga este deplasată la
stânga de numărul de biți specificat de operandul drept. Un << 2 va da 240, care este 1111 0000
>> (schimbare dreapta) Operator binar dreapta schimbare dreapta. Valoarea operanzilor din stânga este
deplasată spre dreapta de numărul de biți specificat de operandul drept. A >> 2 va da 15 care este 1111
>>> (deplasare zero umplere dreapta) Schimbați operatorul la zero. Valoarea operanzilor din stânga este
deplasată spre dreapta de numărul de biți specificat de operandul drept și valorile deplasate sunt
completate cu zerouri. Un >>> 2 va da 15 care este 0000 1111
Java- Structuri de control
Java - Loop Control
Poate exista o situație în care trebuie să executați de mai multe ori un bloc de cod.
În general, instrucțiunile sunt executate secvențial: prima instrucțiune dintr-o
funcție este executată mai întâi, urmată de a doua și așa mai departe.

Limbajele de programare oferă diverse structuri de control care permit căi de


execuție mai complicate.

O instrucțiune buclă (loop) ne permite să executăm o declarație sau un grup de


declarații de mai multe ori.
Java- Bucla de control
Limbajul de programare Java oferă următoarele tipuri de buclă pentru a
gestiona cerințele de buclă.
1 while
Repetă o declarație sau un grup de declarații în timp ce o anumită condiție
este adevărată. Testează starea înainte de a executa corpul buclei.
2 for
Execută o secvență de enunțuri de mai multe ori și prescurtează codul
care gestionează variabila buclă.
3 do ... while loop
Ca o declarație de while, cu excepția faptului că testează starea de la
capătul corpului buclei.
FOR
public class Test {
public static void main(String args[]) {
int [] numbers = {10, 20, 30, 40, 50};
for (int x : numbers ) {
System.out.print( x );
System.out.print(",");
}
System.out.print("\n");
String [] names = {"James", "Larry", "Tom", "Lacy"};

for ( String name : names ) {


System.out.print( name );
System.out.print(",");
}
}
}
Declarații de control al buclelor
Instrucțiunile de control buclă schimbă execuția din secvența sa normală.
Când execuția părăsește un domeniu de aplicare, toate obiectele automate
care au fost create în acel domeniu sunt distruse.
Java acceptă următoarele declarații de control
1 declarație break (pauză)
Încheie instrucțiunea de buclă sau comutare și transferă execuția în
instrucțiunea imediat după bucla sau comutator.

2 declarație continue (continuă)


Face ca bucla să sară restul corpului său și să-și retesteze imediat starea
înainte de a reitera.
WHILE
Sintaxa
while (Boolean_expression) {
    // Declarații
}
Aici, instrucțiunile pot fi o singură declarație sau un bloc de declarații.
Condiția poate fi orice expresie, iar adevărata este orice valoare nulă.
La executare, dacă rezultatul boolean_expression este adevărat, acțiunile
din interiorul buclei vor fi executate. Aceasta va continua atât timp cât
rezultatul expresiei este adevărat.
Când starea devine falsă, controlul programului trece pe linie imediat
după buclă.
WHILE
public class Test {

public static void main(String args[]) {


int x = 10;

while( x < 20 ) {
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}
}
}
DO WHILE
O buclă do ... while este similară cu o buclă while, cu excepția faptului că o buclă
do ... while se execută cel puțin o dată.

Sintaxă
do {
    // Declarații
} while (expresie boolean);
Observați că expresia Booleană apare la sfârșitul buclei, deci instrucțiunile din
buclă se execută o dată înainte de testarea booleanului.
Dacă expresia booleană este adevărată, controlul sare înapoi pentru a face
instrucțiunea, iar instrucțiunile din buclă se execută din nou. Acest proces se
repetă până când expresia booleană este falsă.
DO WHILE
public class Test {

public static void main(String args[]) {


int x = 10;

do {
System.out.print("value of x : " + x );
x++;
System.out.print("\n");
}while( x < 20 );
}
}
BREAK
Declarația break în limbajul de programare Java are următoarele două utilizări -

Când se întâlnește instrucțiunea de pauză în interiorul unei bucle, bucla este terminată
imediat, iar controlul programului se reia la următoarea declarație în urma buclei.

Poate fi folosit pentru a încheia un caz în instrucțiunea switch.

Sintaxă
Sintaxa unei pauze este o singură declarație în orice buclă -

break;
BREAK
public class Test {

public static void main(String args[]) {


int [] numbers = {10, 20, 30, 40, 50};

for(int x : numbers ) {
if( x == 30 ) {
break;
}
System.out.print( x );
System.out.print("\n");
}
}
}
CONTINUE
Cuvântul cheie continue poate fi utilizat în oricare dintre structurile de control de buclă.
Face ca bucla să sară imediat la următoarea iterație a buclei.

Într-o buclă pentru, cuvântul cheie continuă determină saltul imediat la instrucțiunea de
actualizare.

Într-o buclă de timp sau buclă do / while, controlul sare imediat la expresia booleană.

Sintaxă
Sintaxa unei continuare este o singură declarație în orice buclă -

continue;
CONTINUE
public class Test {

public static void main(String args[]) {


int [] numbers = {10, 20, 30, 40, 50};

for(int x : numbers ) {
if( x == 30 ) {
continue;
}
System.out.print( x );
System.out.print("\n");
}
}
}
JAVA- DECIZII
Structurile de luare a deciziilor au una sau mai multe condiții de evaluat
sau testat de program, împreună cu o declarație sau declarații care trebuie
executate dacă starea este adevărată și, opțional, alte declarații care
trebuie executate dacă condiția este determinată a fi fals.
JAVA- DECIZII
1 IF
O declarație if constă dintr-o expresie booleană urmată de una sau mai multe afirmații.

2 IF ... ELSE
O instrucțiune if poate fi urmată de o declarație opțională, care se execută atunci când
expresia booleană este falsă.

3 NESTED IF
Puteți utiliza una dacă sau altceva dacă instrucțiune în interiorul altuia dacă sau altceva dacă
declarație (e).

4 SWITCH
O declarație de comutare permite testarea unei variabile pentru egalitate față de o listă de
valori.
IF
Sintaxă
if (Boolean_expression) {
    // Instrucțiunile se vor executa dacă expresia booleană este adevărată
}
Dacă expresia booleană se evaluează la adevărat, atunci blocul de cod din
interiorul instrucțiunii if va fi executat. Dacă nu, va fi executat primul set de cod
după încheierea instrucțiunii if (după acolada de închidere).
IF
public class Test {

public static void main(String args[]) {


int x = 10;

if( x < 20 ) {
System.out.print(„Aceasta este o declaratie IF");
}
}
}
IF-ELSE
O instrucțiune if poate fi urmată de o instrucțiune opțională, care se execută atunci când
expresia booleană este falsă.

Sintaxă
if ... else -

if (Boolean_expression) {
    // Se execută când expresia booleană este adevărată
} else {
    // Se execută când expresia booleană este falsă
}
Dacă expresia booleană se evaluează la true, atunci blocul de cod if va fi executat, altfel
blocul de cod else va fi executat.
IF-ELSE
public class Test {

public static void main(String args[]) {


int x = 30;

if( x < 20 ) {
System.out.print(„Acesta este un IF");
}else {
System.out.print(„Acesta este un ELSE");
}
}
}
IF-ELSE, IF-ELSE
If (Boolean_expression 1) {
// Executes when the Boolean expression 1 is true
}else if (Boolean_expression 2) {
// Executes when the Boolean expression 2 is true
}else if (Boolean_expression 3) {
// Executes when the Boolean expression 3 is true
}else {
// Executes when the none of the above condition is true.
}
IF-ELSE, IF-ELSE
public class Test {
public static void main(String args[]) {
int x = 30;
if( x == 10 ) {
System.out.print("Value of X is 10");
}else if( x == 20 ) {
System.out.print("Value of X is 20");
}else if( x == 30 ) {
System.out.print("Value of X is 30");
}else {
System.out.print("This is else statement");
}
}
}
NESTED IF
public class Test {

public static void main(String args[]) {


int x = 30;
int y = 10;

if( x == 30 ) {
if( y == 10 ) {
System.out.print("X = 30 and Y = 10");
}
}
}
}
SWITCH
switch(expression) {
case value :
// Statements
break; // optional

case value :
// Statements
break; // optional

// You can have any number of case statements.


default : // Optional
// Statements
}
SWITCH
public class Test {
public static void main(String args[]) {
// char grade = args[0].charAt(0);
char grade = 'C';
switch(grade) {
case 'A' :
System.out.println("Excellent!");
break;
case 'B' :
case 'C' :
System.out.println("Well done");
break;
case 'D' :
System.out.println("You passed");
case 'F' :
System.out.println("Better try again");
break;
default :
System.out.println("Invalid grade");
}
System.out.println("Your grade is " + grade);
}
}

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