ex ~thereau~ ,new nick Rapk1d
Salut [b]Vizitator ! Ai postat pana acum 5mesaje.
Esti inscris din data de
Joi Ian 01, 1970.[color=green]
Ultima vizita a fost in Joi Ian 01, 1970.
Sa ii uram bun venit lui ionutpogonici , ultimul membru! Inregistreaza-te si intra in staff-ul nostru![/b]

Alăturați-vă forumului, este rapid și ușor

ex ~thereau~ ,new nick Rapk1d
Salut [b]Vizitator ! Ai postat pana acum 5mesaje.
Esti inscris din data de
Joi Ian 01, 1970.[color=green]
Ultima vizita a fost in Joi Ian 01, 1970.
Sa ii uram bun venit lui ionutpogonici , ultimul membru! Inregistreaza-te si intra in staff-ul nostru![/b]
ex ~thereau~ ,new nick Rapk1d
Doriți să reacționați la acest mesaj? Creați un cont în câteva clickuri sau conectați-vă pentru a continua.

Structura lexicala a limbajului!

In jos

Structura lexicala a limbajului! Empty Structura lexicala a limbajului!

Mesaj Scris de ~thereau~ Mar Iul 20, 2010 9:44 pm

Setul de caractere

Limbajului Java lucreaza în mod nativ folosind setul de caractere Unicode. Acesta este un standard international care înlocuieste vechiul set de caractere ASCII si care foloseste pentru reprezentarea caracterelor 2 octeti, ceea ce înseamna ca se pot reprezenta 65536 de semne, spre deosebire de ASCII, unde era posibila reprezentarea a 256 de caractere. Primele 256 caractere Unicode corespund celor din ASCII, referirea la celelate facându-se prin \uxxxx, unde xxxx reprezinta codul caracterului.

* Ex: \u0030 - \u0039 : cifre ISO-Latin 0 - 9
* \u0660 - \u0669 : cifre arabic-indic 0 - 9
* \u4e00 - \u9fff : litere din alfabetul Han (Chinez, Japonez, Coreean)

Cuvinte cheie

Cuvintele rezervate în Java sunt cele din C++, cu câteva exceptii
Identificatorii

Sunt secvente nelimitate de litere si cifre Unicode, începand cu o litera. Identificatorii nu au voie sa fie identici cu cuvintele rezervate.
Literalii (constantele)

* Literalii pot fi de urmatoarele tipuri literali întregi
Sunt acceptate 3 baze de numeratie : baza 10, baza 16 (încep cu caracterele 0x) si baza 8 (încep cu cifra 0) si pot fi de doua tipuri:
o normali, (se reprez pe 4 octeti - 32 biti)
o lungi (8 octeti - 64 biti) : se termina cu caracterul L (sau l).
* literali flotanti
Pentru ca un literal sa fie considerat flotant el trebuie sa aiba cel putin o zecimala dupa virgula, sa fie în notatie exponentiala sau sa aiba sufixul F sau f pentru valorile normale (reprez. pe 32 biti), respectiv D sau d pentru valorile duble (reprez. pe 64 biti)
* literali logici
true : valoarea booleana de adevar
false : valoarea booleana de fals
Atentie: spre deosebire de C++, literalii întregi 1 si 0 nu mai au rolul de adevarat si false
* literali caracter
Un literal de tip caracter este utilizat pentru a exprima caracterele codului Unicode. Reprezentarea se face fie folosind o litera, fie o secventa escape scrisa între apostrofuri. Secventele escape permit reprezentarea caracterelor care nu au reprezentare grafica si reprezentarea unor caractere speciale precum backslash, caracterul apostrof, etc. Secvente escape predefinite în Java:
Cod Secventa Escape Caracter
\u0008 '\b' Backspace(BS)
\u0009 '\t' Tab orizontal (HT)
\u000a '\n' Linie noua - linefeed (LF)
\u000c '\f' Pagina noua - formfeed (FF)
\u000d '\r' Inceput de rand (CR)
\u0022 '"' Ghilimele
\u0027 ''' Apostrof
\u005c '\' Backslash
* literali siruri de caractere
Un literal sir de caractere este format din zero sau mai multe caractere între ghilimele. Caracterele care formeaza sirul de caractere pot fi caractere grafice sau secvente escape ca cele definite la literalii caracter. Daca sirul este prea lung el poate fi scris ca o concatenare de subsiruri de dimensiune mai mica. Concatenarea sirurilor se face cu operatorul + ("Ana " + " are " + " mere "). Sirul vid este "". Dupa cum vom vedea, orice sir este de fapt o instanta a clasei String, definita în pachetul java.lang.

Separatori

Un separator este un caracter care indica sfârsitul unei unitati lexicale si începutul alteia. In Java separatorii sunt urmatorii: ( ) { } [ ] ; , . Instructiunile unui program se separa cu punct si virgula
Operatori

* atribuirea: =
* operatori matematici: +, -, *, /, %
Este permisa notatia prescurtata de forma lval op= rval (ex: n += 2)
Exista operatorii pentru autoincrementare si autodecrementare (post si pre)
ex: x++, ++x, n--, --n
Observatie: evaluarea expresiilor logice se face prin metoda scurtcircuitului (evaluarea se opreste în momentul în care valoarea de adevar a expresiei este sigur determinata)
* operatori logici: &&(and), ||(or), !(not)
* operatori relationali: <, <=, >, <=, ==, !=
* operatori pe biti: & (and), |(or), ^(xor), ~(not)
* operatori de translatie <<, >>, >>> (shift la dreapta fara semn)
* operatorul if-else: expresie_logica ? val_pt_true : val_pt_false ;
* operatorul , (virgula) folosit pentru evaluarea secventiala a operatiilor int x=0, y=1, z=2;
* operatorul + pentru concatenarea sirurilor:

String s="abcd"
int x=100;
System.out.println(s + " - " + x);

* operatori pentru conversii (cast) : (tip_de_data)

int i = 200;
long l = (long)i; //widening conversion - conversie prin extensie
long l2 = (long)200;
int i2 = (int)l2; //narrowing conversion - conversie prin contractie

Comentarii

In Java exista trei feluri de comentarii:

* Comentarii pe mai multe linii, închise între /* si */.
* Comentarii pe mai multe linii care tin de documentatie, închise între /** si */. Textul dintre cele douã secvente este automat mutat în documentatia aplicatiei de catre generatorul automat de documentatie javadoc.
* comentarii pe o singura linie care încep cu //.

Observatii:

1. nu putem sa scriem comentarii în interiorul altor comentarii.
2. nu putem introduce comentarii în interiorul literalilor caracter sau sir de caractere.
3. secventele /* si */ pot sa apara pe o linie dupa secventa // dar îsi pierd semnificatia; la fel se întâmplã cu secventa // în comentarii care încep cu /* sau /**.
~thereau~
~thereau~
*FondatoR*
*FondatoR*

Varsta: : 10/07/2010
Localizare : Pascani/Iasi
Mesaje : 563
Credite : 1337
Varsta : 32

https://stargame.catsboard.com/forum.htm

Sus In jos

Sus


 
Permisiunile acestui forum:
Nu puteti raspunde la subiectele acestui forum