Documente Academic
Documente Profesional
Documente Cultură
Curs POO 01
Curs POO 01
2019
Limbajul de programare Java
Limbajul Java a fost dezvoltat de firma Sun Microsystems din USA, dupa un
proiect inceput in anul 1991, condus de James Gosling. Proiectul s-a finalizat
intr-un limbaj orientat-obiect, de tip C++, pe care compania Sun l-a numit Java.
Un prim scop al lui Java este de a scrie programe ce pot fi executate pe o mare
varietate de calculatoare si echipamente ce contin calculatoare. Aceasta calitate
este denumita portabilitatea software-ului. Scrii programul odata si il poti
executa oriunde ("write once, run anywhere"). Totusi diferentele intre
compilatoare, masini virtuale Java si calculatoare, fac portabilitatea greu de
obtinut. Simpla utilizare a lui Java nu garanteaza portabilitatea.
Putem crea in programele noastre fiecare clasa de care avem nevoie. Totusi,
majoritatea dezvoltatorilor folosesc colectii de clase Javain asa numitele biblioteci
de clase Java, cunoscute ca API-uri Java (Application Programming Interfaces).
Limbajul de programare Java
(continuare)
Fiecare program consta din cel putin o clasa ce trebuie definita. Cuvantul cheie
class incepe declaratia clasei si este imediat urmat de numele clasei (P01).
Cuvintele cheie sunt rezervate limbajului Java si trebuiesc scrise doar cu litere
mici.
Limbajul de programare Java
(continuare)
Prin conventie, numele claselor incep cu litera mare si utilizeaza litera mare
pentru fiecare cuvant ce compune numele clasei (ex. ComplexNumber).
In mod normal, o declaratie de clasa contine una sau mai multe metode. Intr-
o aplicatie Java, una din metode trebuie sa aiba numele main si trebuie
definita ca in exemplul anterior.
Apelul metodei specifica trei argumente. Cand o metoda necesita mai multe
argumente, ele trebuiesc separate printr-o virgula.
Limbajul de programare Java
(continuare)
Executia programului este:
Specificatorii de format incep prin semnul procent (%) urmat de un
caracter ce reprezinta tipul de date.
Crearea unei noi aplicatii Java:
Obs. parametrul args, fiind vector, elementele sale sunt selectate printr-un index ce ia valori de
la 0 la n-1, unde n este numarul de valori din lista.
Parametrul metodei main: String[] args (continuare)
Parametrul metodei main: String[] args (continuare)
Parametrul metodei main: String[] args (continuare)
Conversia de la tipul String la tipul numeric
Conversia de la tipul String la tipul numeric
(continuare)
Sa consideram un program care afiseaza lista datelor de intrare, calculeaza suma lor si
afiseaza aceasta suma.
Conversia de la tipul String la tipul numeric
(continuare)
Conversia de la tipul String la tipul int se face prin metoda parseInt, avand ca parametru, string-ul ce reprezinta un numar intreg.
Conversia de la String la float se face prin metoda Float.parseFloat(s)
iar conversia la double prin metoda Double.parseDouble(s), unde s este string-ul ce reprezinta un numar real.
suma este o variabila de tip intreg, locala metodei main. Variabilele locale trebuiesc initializate inainte de a fi folosite.
Obs. Putem utiliza variabilele locale pentru a specifica datele de intrare.
Conversia de la tipul String la tipul numeric
(continuare)
Conversia de la tipul String la tipul numeric
(continuare)
Conversia de la tipul String la tipul numeric
(continuare)
Obs. Metoda statica Math.sqrt calculeaza radacina patrata a argmentului real specificat.
Rezolvarea temelor din laboratorul 1
1. Adaugati aplicatiei o metoda ce calculeaza factorialul unui numar dat ca parametru. Testati functionarea
metodei in cadrul metodei main.
Solutie:
static long factorial(int n){
long f=1;
for (int i=2; i<=n; i++ ) f *=i;
return f;
}
Testare in main:
int n=5;
System.out.printf("%d!=%d\n",n,factorial(n));
Rezolvarea temelor din laboratorul 1
2. Adaugati aplicatiei o metoda ce calculeaza suma primelor n numere naturale incepand de la 1, n fiind dat ca
parametru. Testati functionarea metodei in cadrul metodei main.
Solutie:
static int suma(int n){
int s=0;
for (int i=1; i<=n; i++ ) s +=i;
return s;
}
Testare in main:
int n=5;
System.out.printf("Suma primelor %d numere naturale nenule este %d\n",n,suma(n));
Rezolvarea temelor din laboratorul 1
3. Adaugati aplicatiei o metoda ce calculeaza numarul divizorilor proprii pt. un numar natural dat ca
parametru. Testati functionarea metodei in cadrul metodei main.
Solutie:
static int numarDivizoriProprii(int a){
int contor=0;
for (int d=2; d<=a/2; d++)
if (a % d ==0)
contor++;
return contor;
}
Testare in main:
Rezolvarea temelor din laboratorul 1
4. Adaugati aplicatiei o metoda ce calculeaza numarul cifrelor pt. un numar natural dat ca parametru. Testati
functionarea metodei in cadrul metodei main.
Solutie:
static int numarCifre(int n) {
int contor = 0;
while (n !=0) {
contor++;
n = n / 10;
}
return contor;
}
Testare in main: