Se afișează postările cu eticheta comentarii. Afișați toate postările
Se afișează postările cu eticheta comentarii. Afișați toate postările

luni, 1 septembrie 2025

Structura lexicală a limbajului Java

Alfabetul limbajului de programare

Reprezintă totalitatea caracterelor din care se pot forma instrucțiunile unui limbaj. Include:
litere (A–Z, a–z),cifre (0–9),simboluri speciale (+, -, *, /, =, <, >, etc.),caractere de control (spațiu, tab, enter),semne de punctuație (;, ,, ., : etc.).

Vocabularul limbajului

Este mulțimea de cuvinte și simboluri pe care limbajul le recunoaște și le folosește pentru a forma programe.
Din vocabular fac parte unitățile lexicale: cuvintele cheie, identificatorii, numerele, șirurile de caractere, simbolurile speciale și separatorii.

Unități lexicale ale limbajului

Setul de caractere

Limbajului Java folosește setul de caractere Unicode. Acesta fiind un standard internațional care înlocuiește vechiul set de caractere ASCII, deoarece a apărut necesitatea de a reprezenta mai mult de 256 de caractere. Setul de caractere Unicode, fiind reprezentat pe 16 biți oferă posibilități mult mai mari. Ceea ce înseamnă că pot fi folosite caractere în limbile chineză, japoneză și alte limbi. La citirea fişierului sursa, compilatorul Java folosește secvențele escape Unicode. Acestea sunt secvențe de caractere ASCII care încep cu caracterul backslash (\), după care urmează al doilea caracter din secvență care trebuie să fie u sau U, urmate de o combinație de patru cifre hexazecimale care formează împreună doi octeți de memorie reprezentând un caracter Unicode. De exemplu, cifrele de la 0 la 9 sunt reprezentate prin secvențe escape Unicode de la \u0030 la \u0039 și sunt interpretate ca cifre ISO-LATIN-1.

Unele caractere speciale nu pot fi scrise direct în text și sunt reprezentate prin așa-numitele secvențe escape:
\n - linie noua
\b - backspace
\t - tab
\\ - backslash
\” - ghilimele
\’ - apostrof
Adăugător despre secvențele Escape:
 https://www.geeksforgeeks.org/java/escape-sequences-in-java/


Identificatori

Reprezintă șiruri de caractere care sunt de fapt denumirile date unei variabile, clase sau unei funcții. Condiții:

  • şirul începe cu o literă, caracterul underscore (_) sau semnul dolarului ($);
  • şirul este diferit de orice cuvânt cheie sau rezervat;
  • şirul este diferit de null, false, true.
  • șirul este case-sensitive, astfel identificatorii suma și Suma sunt considerați identificatori diferiți.

Deși nu există o regulă obligatorie pentru scrierea identificatorilor, există anumite convenții utilizate:
  • identificatorii numelor de clase încep cu majusculă, fiecare cuvânt distinct din identificator începe cu majuscula (ex. MijloaceDeTransport);
  • identificatorii de variabila și metode încep cu litera mică, fiecare cuvânt care urmează începe cu majusculă (ex. setezCuloare());
  • identificatorii de constante se scriu cu majuscule (ex. PI_VALOARE);
Menținerea unei convenții clare și respectarea regulilor de denumire a identificatorilor nu doar facilitează înțelegerea codului, dar și îmbunătățește claritatea și întreținerea acestuia.


Cuvinte cheie

Limbajul de programare Java conține 50 cuvinte rezervate ce au o semnificație specială pentru compilator și nu pot fi utilizate în calitate de identificatori pentru variabile. Acestea sunt prezentate în tabelul de mai jos în ordine alfabetică



În tabelul următor vom prezenta o listă a cuvintelor rezervate grupate după categorie:


După cum am menționat cuvintele rezervate au semnificație specială pentru compilatorul Java, de aceea la folosirea lor se va ține cont de următoarele reguli:

  • const și goto sunt cuvinte rezervate ce nu se mai folosesc;
  • true, false și null sunt literali nu cuvinte rezervate;
  • toate cuvintele rezervate sunt compuse din litere mici;
Literali

Reprezintă valori constante de diferite tipuri de date primitive (întreg, caracter etc).

Separatori

Sunt utilizați pentru a separa unitățile lexicale unele de altele. Aceștia sunt: ( ) { } [ ] ; , .

Numere

Reprezintă valori numerice, întregi sau reale.

Exemple: 10, -25, 3.14.

Șiruri de caractere

Secvențe de caractere delimitate între ghilimele.

Exemple:
"Bună ziua!", "Hello World".

Comentarii

Comentariile nu reprezintă rânduri de cod sursă. Acestea nu sunt executate de către compilator. Acestea oferă informații programatorului astfel încât programul să fie ușor de înțeles și menținut. Orice program Java începe cu un scurt comentariu ce oferă o informație relevantă despre clasa creată. De obicei acesta arată în felul următor:


/* Acesta este un comentariu de mai multe linii
Filename: Denumirea programului
Version:
Created by: Numele programatorului
Created on: Data creării
Updated on: Data modificării
Comment: Descrierea generală a destinației programului
*/

În Java pute m folosi modalitățile de mai jos pentru a adăuga comentarii în codul sursă:

/* comentariu de o linie */
//alt comentariu de o linie
/* comentariu de mai
/* multe linii */


Operatori

Operatorii sunt utilizați pentru a exprima diferite formule elementare de calcul sau prelucrare a informației și sunt folosiți alături de literali, variabile, apeluri de metode şi alte expresii. Operatorii se pot clasifica în următoarele categorii:

  • Operatori aritmetici (+, -, *, /, %, ++, --)
  • Operatori relaționali sau de comparație (<=, ==, >=, >, !=)
  • Operatori booleeni (&&, ||, !, &, !, ^, |, &)
  • Operatori la nivel de bit (&, |, ^, ~, <>, >>>)
  • Operatorul de concatenare a String-urilor (+)
  • Operatori de atribuire (=, +=, -=, *=, ...)
  • Operatorul de conversie explicită ( (tip_date) )
  • Operatori speciali (instanceof , ternar)

Operatorul ternar are următoarea formă generală: boolean_exp ? value0 : value1. Dacă boolean_exp are valoarea true atunci value0 este valoarea returnată de operație. Invers, dacă boolean_exp este false, value1 este cea returnată.

De exemplu:

int a;
boolean cond=true; a=cond ? 5 : 6; //a va primi valoarea 5
cond=false; a=cond ? 5 : 6; //a va primi valoarea 6

Operatorul instanceof este folosit pentru a testa dacă un obiect este de o anumită clasă sau nu. Forma generală este: object instanceof className
Returnează true dacă obiectul object este de clasă className sau de o clasă derivată din aceasta şi false dacă nu. De exemplu:

Random rand = new Random ( );
boolean cond;
cond = rand instanceof Random; //cond va primi valoarea true


Să aveți o zi deosebită!
💝