Previzualizare referat:

Extras din referat:

Sintaxa Java se aseamana foarte mult cu cea a limbajelor C si C++. Referatul de fata isi propune sa prezinte o paralela intre Java si C/C++. Voi descrie o suma de deosebiri si cateva asemanari dintre ele si voi prezenta elemente care sunt in Java si nu sunt in C++ si elemente care au ramas in C++, dar au fost eliminate din Java.

Observati ca Java adauga doua tipuri de date: byte si boolean. (unele compilatoare de C++ mai noi au adaugat si ele tipul boolean). O diferenta importanta privind celelalte tipuri de date, care sunt comune celor doua limbaje, este faptul ca tipurile Java au o dimensiune fixa si cunoscuta. Acest lucru este foarte important pentru Java datorita scopului sau de a fi portabil. De exemplu daca un tip de data int ocupa 16 biti pe o platforma si 32 de biti pe alta platforma, programul va avea probleme daca va trebui sa ruleze pe ambele platforme. C++ garanteaza o anumita relatie intre tipurile primare de date, de exemplu garanteaza ca un tip de data long este cel putin la fel de mare cu un tip de data int. El nu garanteaza insa dimensiunea fiecarui tip. Java realizeaza acest lucru, fiecare tip avand o dimensiune fixa.

Deoarece cele mai multe masini ruleaza pe 32 de biti, dimensiunile pentru tipurile primitive de date au fost gandite sa fie optimizate pentru 32 de biti.

Astfel, o data Java de tip int ocupa 32 de biti (fata de16 sau 32 de biti, in C/C++), iar o data de tip long va ocupa 64 de biti (fata de 32 sau 64 de biti, in C/C++). O alta diferenta este ca toate tipurile primare Java sunt cu semn. Astfel, declaratiile unsigned din C nu sunt permise in Java.

Si in Java si in C++ se poate face conversie intre un tip de data si un altul. Dar in Java nu exista conversii implicite. Sa luam urmatoarea secventa de program scrisa in C: long LongNb = 32768; int IntNb; IntNb = LongNb; Compilatorul C/C++ va face o conversie implicita (cast) din long in int. Pe o platforma de 16 biti (unde long are o lungime de 32 de biti si int are o lungime de 16 biti), in urma conversiei, variabila IntNb va avea valoarea 0. Deci va avea loc o pierdere de precizie, fara ca programatorul sa fie avizat.

Java inlatura riscul unor potentiale erori in programare relative la conversii prin faptul ca nu realizeaza conversii automate. Astfel programatorul este nevoit sa faca o conversie explicita (de exemplu IntNb = (int) LongNb; ). Setul de operatori din Java este aproape identic cu cel din C/C++. Acestia sunt: ! (negatie), && (si conditional), || (sau conditional), : (conditie). O diferenta este ca in Java acestia opereaza cu valori booleene. Astfel secventa C: int x = 4; int y = 5; if (x && y) { secventa de cod } va fi ilegala in Java, pentru ca, asa cum spuneam mai sus, nu se face conversie automata. Conditia va trebui deci scrisa explicit: if (x! =0 && y! =0). O alta diferenta privind operatorii, si care are o importanta deosebita, este ca in Java operatorii nu pot fi supraincarcati, asa cum pot fi in C++. Folosirea acestei ...

Descarcă referat

Pentru a descărca acest document,
trebuie să te autentifici in contul tău.

Structură de fișiere:
  • Java vs C.doc
Alte informații:
Tipuri fișiere:
doc
Diacritice:
Nu
Nota:
9/10 (2 voturi)
Nr fișiere:
1 fisier
Pagini (total):
7 pagini
Imagini extrase:
7 imagini
Nr cuvinte:
2 845 cuvinte
Nr caractere:
15 603 caractere
Marime:
16.75KB (arhivat)
Publicat de:
Anonymous A.
Nivel studiu:
Liceu
Tip document:
Referat
Materie:
Informatică
Tag-uri:
limbaj de programare, java
Predat:
la liceu
Sus!