Академический Документы
Профессиональный Документы
Культура Документы
C
C
C
C
ob
ob
ob
ob
=
=
=
=
new
new
new
new
C(1);
C(1,1.0);
C();
C(1,1.0,true);
3;
2;
1;
nicio valoare, deoarece programul este incorect sintactic i nu va putea fi executat.
0;
2;
1;
nicio valoare, deoarece programul este incorect sintactic i nu va putea fi executat.
javac Test
java Test.java
javac Test.class
javac Test.java
5. Un program Test scris n limbajul Java i compilat, poate fi rulat folosind comanda:
a)
b)
c)
d)
javac Test.java
java Test
java Test.class
java Test.java
o clas
oricte clase
o interfa
oricte interfee
}
class C extends B
{
public C() { System.out.println("C"); }
}
public class test
{
public static void main(String[] args)
{
C ob=new C();
}
}
ABC
A
CBA
C
3
3
2
3
4
2
2
3
0
5
5
0
5
1
7
1
curs=c;
nota=n;
}
public void afisare()
{
..................................
System.out.println(curs+" "+nota);
}
}
public class test
{
public static void main(String[] args)
{
Student_2 s=new Student_2("Popescu",314,"Java",10);
s.afisare();
}
}
Dup executarea programului, pentru a se afisa Popescu 314 Java 10, spaiile punctate
din metoda afisare a clasei Student_2 trebuie nlocuite cu:
a)
b)
c)
d)
afisare();
Student_1.afisare();
super.afisare();
System.out.println(curs+" "+nota);
}
}
public class test
{
public static void main(String[] args)
{
Student_2 s=new Student_2("Popescu",314,"Java",10);
s.afisare();
}
}
Dup executarea programului, pentru a se afia Popescu 314 Java 10, spaiile punctate
din constructorul Student_2 al clasei Student_2 trebuie:
a) s fie nlocuite cu instruciunea super(ns,g);
b) s fie nlocuite cu instruciunile nume=ns; grupa=g;
c) nu trebuie nlocuite cu nimic, deoarece se apeleaz automat constructorul Student_1 al
clasei Student_1;
d) nu pot fi nlocuite cu nimic, deoarece programul fiimd incorect pentru ca metoda
afisare a interfeei Student este implementat n dou clase diferite, Student_1 i
Student_2.
}
class Patrulater_2 implements Patrat, Dreptunghi
{
float L,l;
public Patrulater_2(float x, float y) { L=x; l=y; }
public float A() { return L*l; }
public float P() { return 2*(L+l); }
}
public class teste_grila
{
public static void main(String[] args)
{
Dreptunghi d = new Patrulater_1(10);
Patrat p = new Patrulater_2(10,20);
System.out.println(d.A()+" "+d.P()+" "+p.A()+" "+p.P());
}
}
}
public class test
{
public static void main(String[] args)
{
C ob = new C(5,100);
}
}
20 -22
22 22
35 10
5 100
5
6
2
7
7
6
10
5
1
1
1
0
1
2
2
0
1
3
6
0
0
1
1
2
0 0
4 25
-1 1
4 16
25. Indicai pe care dintre sistemele de operare urmtoare pot fi rulate aplicaiile Java:
a)
b)
c)
d)
Windows
UNIX
Mac OS X
Linux
Introducere in Java
Tipuri de aplicatii
Java
19 February 2011
Introducere in Java
Introducere in Java
Tipuri de aplicatii
Java
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
Caracteristici principale:
limbaj compilat si interpretat
Programele Java sunt mai intai compilate in fisiere intermediare (byte
code) dupa care sunt interpretate in mediul de executie Java.
limbaj independent de platforma
Masina virtuala Java (JVM) este mediul de executie al limbajului
Java.
JVM este inglobata in platforma JDK (Java Develoment Kit)
Simplitate
Elimina suprancarcarea operatorilor, mostenirea multipla, renunta la
utilizarea variabilelor pointer;
Complet orientat obiect
Este modelat dupa C si C++.
19 February 2011
Introducere in Java
1. Masina virtuala, denumita JVM (Java Virtual Machine) care
interpreteaza fisierele cu extensia .class ce contine bytecode.
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
3. Compilarea aplicatiei
- pentru compilare se utilizeaza compilatorul javac din distributia JDK.
Apelul compilatorului se face pentru fisierul ce contine clasa principala
a aplicatiei sau pentru orice fisier cu extensia java prin comanda:
javac nume.java
In cazul in care compilarea a reusit va fi generat fisierul nume.class.
4. Rularea aplicatiei
- se realizeaza cu interpretorul java, apelat pentru unitatea de compilare
corespunzatoare clasei principale cu comanda java nume
Rularea unei aplicatii care nu foloseste interfata grafica, se va face intr-o
fereastra sistem.
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Literari Intregi
Sunt acceptate 3 baze de numeratie : baza 10, 16, 8 si pot fi de doua
tipuri:
normali - se reprezinta pe 4 octeti (32 biti)
lungi - se reprezinta pe 8 octeti (64 biti)
Controlul executiei
19 February 2011
atribuirea =
Tipuri de aplicatii
Java
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
Introducere in Java
Variabile
Variabilele pot fi de tip primitiv sau referinte la obiecte (tip
referinta).
Tipuri de aplicatii
Java
numeVariabila;
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Controlul executiei
Instructiuni de decizie;
Instructiuni de salt;
Instructiuni pentru tratarea exceptiilor: try-catch-finally,
throw
Alte instructiuni: break, continue, return, label.
1.
Instructiuni de decizie
a). if-else
Structura lexicala a
limbajului Java.
Tipuri de date
Controlul executiei
19 February 2011
Introducere in Java
Tipuri de aplicatii
Java
Structura unui fisier
sursa
Structura lexicala a
limbajului Java.
Tipuri de date
b). switch-case
switch (variabila) {
case valoare1:break;
case valoare2:...break;
default:...
}
Variabilele care pot fi testate folosind instructiunea
switch nu pot fi decat de tipuri primitive.
2. Instructiuni de salt
- for , while, do- while
Controlul executiei
19 February 2011
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Definirea claselor
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
Tipuri de constructori:
- fara argumente;
- cu argumente;
4 March 2011
Declararea metodelor
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
2. Folosirea obiectelor
Obiectul creat poate fi folosit in urmatoarele sensuri: aflarea
unor informatii despre obiect, schimbarea starii sale sau
executarea unor actiuni.
obiect.NumeVariabila sau obiect.NumeMetoda
Observatie : programare orientata pe obiecte descurajeaza
folosirea directa a variabilelor unui obiect , in schimb, pentru
fiecare variabila se pot definii metode care sa permita
schimbarea/aflarea valorilor (set_variabila si get_variabila).
obiect. x=3; // setare inconstienta
obiect.set_x =3; //metode setter
4 March 2011
Definirea claselor
Ciclul de viata al
unui obiect
3. Distrugerea obiectelor
- in limajul Java programele nu mai au responsabilitatea
distrugerii obiectelor.
- in momentul rularii unui program , simultan cu interpretatorul
Java , ruleaza un proces care se ocupa cu distrugerea obiectelor
numit garbage collector (dispus pe platforma de lucru Java ).
- un obiect este eliminat din memorie atunci cand nu mai exista
nici o referinta la acesta.
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Definirea claselor
Ciclul de viata al
unui obiect
Domeniul de
vizibilitate al
membrilor unei clase
4 March 2011
Extinderea claselor
Polimorfism
Modificatori de acees
Variabile si metode
de instanta si de
clasa
4 March 2011
Extinderea claselor
- Java permite doar mostenirea simpla, ceea ce ineamna ca o
clasa poate avea un singur parinte (superclasa).
Extinderea claselor
- o clasa poate avea un numar nelimitat de subclase;
Polimorfism
Modificatori de acees
Variabile si metode
de instanta si de
clasa
4 March 2011
Modificatori de acees
Variabile si metode
de instanta si de
clasa
4 March 2011
Extinderea claselor
Clasa Object
- in limbajul Java, clasa Object este superclasa pentru toate
clasele.
Clasa Object defineste si implementeaza comportamentul
comun al tuturor celorlalte clase Java prin metode specifice:
Polimorfism
Modificatori de acees
Variabile si metode
de instanta si de
clasa
4 March 2011
Extinderea claselor
Polimorfism
Modificatori de acees
Constructorii subclaselor
Variabile si metode
de instanta si de
clasa
4 March 2011
Polimorfism
Extinderea claselor
Polimorfism
Modificatori de acees
Variabile si metode
de instanta si de
clasa
4 March 2011
Extinderea claselor
Mofificatorii de acees
Polimorfism
Modificatori de acees
Variabile si metode
de instanta si de
clasa
4 March 2011
Extinderea claselor
Polimorfism
class Exemplu {
Modificatori de acees
Variabile si metode
de instanta si de
clasa
Extinderea claselor
Polimorfism
Modificatori de acees
Variabile si metode
de instanta si de
clasa
4 March 2011
Extinderea claselor
Polimorfism
Modificatori de acees
Variabile si metode
de instanta si de
clasa
4 March 2011
Clase abstracte
Metode abstracte
Interfete Java
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
- daca o clasa nu implementeaza metodele neimplementate este
deasemenea abstracta si nu poate fi instantiata.
11 March 2011
Metode abstracte
Metodele fara nici o implementare se numesc metode abstracte
si pot fi incluse doar in clase abstracte.
Clase abstracte
In fata unei metode abstracte trebuie sa apara obligatoriu
cuvantul cheie abstract, altfel va fi furnizata o eroare de
compilare.
Metode abstracte
Interfete Java
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
OBSERVATII
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
Interfete
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
11 March 2011
Utilitatea interfetelor
Interfetele sunt utile pentru:
Clase abstracte
Metode abstracte
Interfete Java
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
Tablouri
- tabloul este un obiect creat dinamic care poate fi assignat
variabilelor de tip Object;
- toate elementele unui tablou au aceelasi tip;
Declararea vectorului:
Tip[] numeVector;
Tip numeVector[];
Exemple int[] intregi;
String adrese[];
11 March 2011
Clase abstracte
Metode abstracte
Interfete Java
11 March 2011
Tablouri
Siruri de caractere
15 June 2011
Tablouri
Siruri de caractere
Tablouri
15 June 2011
Tablouri
Siruri de caractere
15 June 2011
Tablouri
Siruri de caractere
Intializarea (optional)
- dupa declararea unui vector, acesta poate fi initializat cu valori
intiale, caz in care nu mai este instantiat (alocarea memoriei se
realizeaza automat).
String culori[] = {"Rosu", "Galben", "Verde"};
int []factorial = {1, 1, 2, 6, 24, 120};
Tabluri mutidimensionali
- tablourile multidimensionale sunt vectori de vectori;
Tip matrice[][] = new Tip[nrLinii][nrColoane];
- matrice[i] este linia i din matrice si reprezinta un vector cu
nrColoane elemente.
15 June 2011
Tablouri
Siruri de caractere
15 June 2011
Tablouri
Siruri de caractere
15 June 2011
Tablouri
Siruri de caractere
Siruri de caractere
15 June 2011
Tablouri
Siruri de caractere
Observatii
15 June 2011
Tablouri
Siruri de caractere
15 June 2011
Tablouri
Clasa StringBuffer
- prelucreaza siruri de caractere de lungime variabila;
- o instanta a clasei StringBuffer reprezinta un String care
poate fi modificat dinamic;
- un obiect de tip StringBuffer contine un bloc de memorie
numit buffer care poate sa contina un sir, dar nu este obligatoriu
sa fie ocupat in totalitate;
- crearea unui obiect de tip StringBuffer se realizeaza apleland
unul din costructorii:
Siruri de caractere
StringBuffer( ); //un sir cu capacitatea de 16 caractere
StringBuffer(int capacitate);
StringBuffer(String sir)
Exemplu : StringBuffer a = new StringBuffer(Un sir de tip
buffer);
15 June 2011
Tablouri
Siruri de caractere
String substring(int start);
15 June 2011
Tablouri
Conversie de date
- conversia unui tip de date byte, short, int, float, double, char,
boolean la un sir de caractere se realizeaza cu metoda statica
toString() .
- conversia unui sir de caractere String la un tip de data primitiva
se realizeaza cu metoda:
Siruri de caractere
tip.parseTip(String sir);
Exemplu: int.parseInt(sir);
double.parseDouble(sir).
15 June 2011
Exceptii si erori
Tratarea exceptiilor
Ierarhia claselor ce
descriu exceptii
15 June 2011
Exceptii si erori
Tratarea exceptiilor
Cand se produce o eroare in timpul executiei se creaza un obiect
de tip exceptie ce va contine:
Ierarhia claselor ce
descriu exceptii
15 June 2011
Tratarea exceptiilor
Ierarhia claselor ce
descriu exceptii
15 June 2011
Exceptii si erori
Tratarea exceptiilor
Ierarhia claselor ce
descriu exceptii
finally {
// Cod care se executa indiferent daca apar sau nu
exceptii }
15 June 2011
Exceptii si erori
Tratarea exceptiilor
Ierarhia claselor ce
descriu exceptii
Aruncarea exceptiilor
15 June 2011
Exceptii si erori
Tratarea exceptiilor
Ierarhia claselor ce
descriu exceptii
15 June 2011
Exceptii si erori
Tratarea exceptiilor
Ierarhia claselor ce
descriu exceptii
15 June 2011
Ierarhia claselor ce
descriu exceptii
15 June 2011
Exceptii si erori
Tratarea exceptiilor
Ierarhia claselor ce
descriu exceptii
15 June 2011
Exceptii la executie
Exceptiile care provin strict din vina programatorului si nu
generate de o anumita situatie externa, cum ar fi lipsa unui fisier.
Exceptii si erori
Tratarea exceptiilor
Ierarhia claselor ce
descriu exceptii
15 June 2011
Exceptii si erori
Tratarea exceptiilor
Ierarhia claselor ce
descriu exceptii
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Intrari si iesiri
Fluxuri de procesare
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Fluxuri de procesare
Conversie octeti-caractere
InputStreamReader, OutputStreamWriter
Conversie tipuri de date
DataInputStream, DataOutputStream
Folosite la scrierea/citirea datelor de tip primitiv intr-un format
binar.
Concatenare
SequenceInputStream
Concateneaza mai multe fluxuri de intrare intr-unul singur .
Un flux de procesare nu poate fi folosit decat impreuna cu un
flux primitiv.
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Intrari si Iesiri
Observatii:
- orice crearea a unui flux se realizeaza intr-un bloc try
catch sau metoda in care este creat fluxul trebuie sa arunce
exceptiile : FileNotFoundException, IOException.
- un fisier se inchide cu ajutorul metodei close.
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Fluxuri de procesare
15 June 2011
Intrari si Iesiri
Fluxuri primitive
Clasa Scanner
- disponibila in pachetul java.util i permite regsirea ntr-un
Fluxuri de procesare
15 June 2011
Colectii de date
Interferte de descriu
colectii de date
Implementare colectii
de date
Algoritm
15 June 2011
Colectii de date
Interferte de descriu
colectii de date
Implementare colectii
de date
Colectii de date
O colectie este un obiect care grupeaza mai multe elemente intro singura unitate.
Tipul de date al elementelor dintr-o colectie este Object
(include obiecte de orice tip).
In Java colectiile de date sunt organizate in ierarhii astefel:
Interfete: tipuri abstracte de date ce descriu colectiile si permit
utilizarea lor independent de detaliile implementarilor.
Implementari: implementari concrete ale interfetelor ce descriu
colectii.
Algoritmi: metode care efectueaza diverse operatii utile
(cautarea , sortarea).
Algoritm
15 June 2011
Colectii de date
Interferte de descriu
colectii de date
Implementare colectii
de date
Algoritm
15 June 2011
Colectii de date
Interferte de descriu
colectii de date
Implementare colectii
de date
Algoritm
15 June 2011
Colectii de date
Interferte de descriu
colectii de date
Implementare colectii
de date
Algoritm
Colectii de date
Interferte de descriu
colectii de date
Implementare colectii
de date
Algoritm
15 June 2011
Colectii de date
Interferte de descriu
colectii de date
Implementare colectii
de date
Algoritm
Interfata
Clasa
Set
HashSet
SortedSet
TreeSet
List
ArrayList, LinkedList
Vector
Map
HashMap
Hashtable
SortedMap
TreeMap
15 June 2011
Algoritmi polimorfici
Colectii de date
Interferte de descriu
colectii de date
Implementare colectii
de date
Algoritm
15 June 2011
Iteratori
Iteratorii sunt obiecte care permit parcurgerea secventiala a
unei colectii de date.
Colectii de date
Interferte de descriu
colectii de date
Implementare colectii
de date
Algoritm
15 June 2011
Serializarea datelor
primitive
Serializarea
obiectelor
15 June 2011
Serializarea datelor
primitive
Serializarea
obiectelor
Serializarea obiectelor
15 June 2011
Serializarea
obiectelor
15 June 2011
Serializarea
obiectelor
15 June 2011
Serializarea
obiectelor
15 June 2011
Applet-uri
Ciclul de viata al
unui applet
Grafica Java
15 June 2011
Applet-uri
Applet-uri
Ciclul de viata al
unui applet
Grafica Java
15 June 2011
ORGANIZARE
Grafica Java
15 June 2011
Applet-uri
Ciclul de viata al
unui applet
Grafica Java
15 June 2011
Applet-uri
Ciclul de viata al
unui applet
Grafica Java
import java.applet.Applet;
import java.awt.*;
import java.awt.event.*;
public class StructuraApplet extends Applet {
public void init() { }
public void start() { }
public void stop() {}
public void destroy() {}
}
15 June 2011
Applet-uri
Ciclul de viata al
unui applet
Grafica Java
Grafica Java
15 June 2011
Applet-uri
Ciclul de viata al
unui applet
Grafica Java
15 June 2011
Applet-uri
Ciclul de viata al
unui applet
Grafica Java
15 June 2011