Download - LPO_C3_IE
![Page 1: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/1.jpg)
C3 – LPO: I/E, tablou, sirCUPRINS Citirea datelor in mod
text, grafic Afisarea datelor in mod
text, grafic Tablouri
definitie, declaratie, creare si utilizare
Siruri definitie, declaratie, creare si
utilizare metode
![Page 2: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/2.jpg)
Obiective
Dupa parcurgerea acestui curs ar trebuie sa puteti:
efectua operatii de intrare/iesire (citire/afisare) a unor valori corespunzatoare tipurilor primitive din Java, atat in mod linie comanda (text) cat si in mod grafic (predefinit sau definit de utilizator);
declarati, creati, utilizati, citi si afisa tablouri de tipuri primitive pentru prelucarea unor grupuri de valori numerice
declarati, creati, prelucrati, citi si afisa siruri alfanumerice necesare pentru alcatuirea unor interfete de aplicatii
![Page 3: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/3.jpg)
Operatii de intrare/iesire in mod text - 1
Afisarea datelor de I/E se face utilizand caractere alfanumerice (litere si cifre);
Viteza de afisare este mare, memoria consumata putina;
Este specific aplicatiilor ce utilizeaza interfete de tip linie comanda;
Mediul JDeveloper trebuie configurat pentru a permite operatiile de Intrare (vezi laboratorul 1).
![Page 4: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/4.jpg)
Operatii de intrare/iesire in mod text - 2
Cod Afisare-iEsire in mod text:System.out.print("Ce varsta ai: ");
sauSystem.out.print("Barbat: "+masa+"kg");
Cod Citire-Intrare in mod text: Import:
import java.util.Scanner;ds Declaratii:
Scanner intrare;intrare = new Scanner(System.in);
Citire real (float): intrare.nextFloat(); Citire intreg (int): intrare.nextInteger(); Citire intreg (byte): intrare.nextByte();
Text intre “ …“ = Sir de caractere
masa este o variabila de tip
primitiv
![Page 5: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/5.jpg)
I/E in mod grafic – predefinit - 1
Adaptorul video lucreaza in mod grafic generand pixeli si nu caractere;
Conversatia se face prin ferestre de dialog; Forma si organizarea acestor ferestre este
predefinita; Programatorul trebuie sa cunoasca numele
si structura fiecarui element de I/E predefinit (se gasesc definite in documentatia Java).
![Page 6: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/6.jpg)
I/E in mod grafic – predefinit - 2
Cod Intrare in mod grafic predefinit: iEsire cu citirea unei date de intrare:
in = JOptionPane.showInputDialog("Ce..");
varsta = Integer.parseInt(in);
sauinaltimea = Float.parseFloat(in);
Cod iEsire in mod grafic predefinit:JOptionPane.showMessageDialog(null,
masaideala,"Masa ideala",JOptionPane.INFORMATION_MESSAGE);
String
int
float
![Page 7: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/7.jpg)
I/E in mod grafic Se face cu ajutorul obiectelor JTextField si JLabel.
Obiectele se iau din fereastra Component Palette (dreapta-sus) a mediului.
Cod Intrare in mod grafic definit de utilizator (tempTextField este JTextField):
tempTextField.getText()
Cod iEsire in mod grafic definit de utilizator (fahreheitLabel este JLabel):
fahreheitLabel.setText(tempFahr + "Fah..")
Obiect Metoda Parametru sir
![Page 8: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/8.jpg)
Tabouri - 1
o colectie ordonata de elemente de acelaşi tip (primitiv, obiect sau alte tablouri) numit de baza;
un element poate stoca o singur valoare de tipul celui de baza ;
elementele se identifica unic printr-un intreg numit indice;
numarul de elemente de tablou se fixeaza în momentul crearii acestuia.
7
1
23
1
Indice Valoareelement
[0]
[1]
[2]
[3]
Punct
Punct
Punct
Punct
Punct
Indice Valoareelement
[0]
[1]
[2]
[3]
![Page 9: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/9.jpg)
Tablouri -2: declarare, constructie, initializare
declararea tabloului (numele tabloului si tipul de baza al elementelor): int []a;
crearea unui obiect tablou (alocarea spatiului pe heap, nr. de el trebuie sa fie cunoscut): a = new int[4];
initializarea tabloului: int[] a = {1, 7, 23, 1};
indicele [0, nr_elem-1] > altfel apareexceptia “array index out of bounds” accesul la un element: a[indice]
![Page 10: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/10.jpg)
Exceptii O executie anormala a programului Exceptiile se prind sau de declara Orice exceptie mosteneste superclasa
java.lang.Throwable Prinderea unei exceptii se face cu secventa de cod:try {//codul care genereaza exceptie
}catch (tipExceptie nume) {//codul de tratare a exceptiei vine aici
} Blocul try contine codul care genereaza exceptia blocul catch trateaza exceptia
![Page 11: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/11.jpg)
Exceptii întâlnite la tablouri
utilizarea unei indice în afara domeniului permis genereaza exceptia de tip ArrayIndexOutOfBoundsException:
int [] a = new int[7];
System.out.println(a[13]);
(în exemplul anterior indicele poate fi în domeniu [0, 6 = 7-1])
accesarea unor membri unui element obiect care înca nu a fost initializat genereaza exceptia de tip NullPointerException:
puncte = new PunctOK[3];
System.out.println(puncte[0].x());
(în exemplul anterior 0 apartine lui [0, 2], dar nu s-a folosit new punct[0] pentru crearea unui obiect PunctOK)
![Page 12: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/12.jpg)
Siruri - 1 Exista o clasa numita String si predefinita in
java.lang.String Java NU are implementat un tip primitiv şir de caractere O secventa de caractere Unicode stocate intr-un tablou
ce se pot accesa doar, indirect, prin metodele clasei Sirurile sunt imuabile, odata create nu se mai pot
modifica Desi exista operatii ce par a modifica sirul (numarul de
caractere, spatiile, …) in realitate se creeaza un sir nou Literalii sir se scriu intre ghilimele (vezi mai jos ”Salut”
este literal).
String s; //decl. unui obiect şirString sal = ”Salut”; //decl. cu iniţial
![Page 13: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/13.jpg)
Siruri - 2
Citire sir in mode text:String nume;Scanner in = new Scanner(System.in);// citire sir si atribuire nume = in.nextLine();in.close();
Operatori pentru manipularea sirurilor: atribuirea (=); concatenarea (+): nume=nume+" salut!"; atribuirea compusă (+=): nume+=" salut!";
![Page 14: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/14.jpg)
Siruri - 3
String s ="unSir cu spatii";
// 012345678901234 Metodele obiectelor sir:
s.length(): numarul de caractere; s.charAt(2): asigura accesul la elemetele individuale
(primul element are indicele 0); s.subSequence(1,5): intoarce o portiune din sir; s.indexOf("sp"): cauta prima aparitie a caracterului sau
subsirului si intoarce pozitia primului caracter sau –1 daca nu exista.
15S
nSir9
![Page 15: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/15.jpg)
Rezumat
Operatiile de Intrare/iEsire in Java se pot realiza in mod text sau grafic (predefinit sau definit de utilizator)
I/E in mod text si grafic predefinite se fac pe baza unor metode definite in pachete
I/E in mod grafic definit de utilizator se face prin definirea interfetei de catre programator
Tabloul este o structura de date formata dintr-o lista numerotata de articole de acelasi tip. Etapele lucrului cu tablourile sunt: declararea, crearea, initializarea si utilizarea.
Utilizarea tablourilor poate conduce la exceptii. Java implementeaza un mecanism de tratare a conditiilor exceptionale de executie
Manipularea sirurilor in Java se face cu o clasa predefinita String. Aceasta pune la dispozitia programatorului metode specifice pentru prelucare.
![Page 16: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/16.jpg)
Intrebari
1) Care este codul Java pentru afişarea unui sir in mod text pe ecran si intr-o fereastra de ieşire predefinita?
2) Care este codul Java pentru citirea unui sir in mod text pe ecran sau dintr-o fereastra de ieşire predefinita?
3) Când se utilizează tablourile in locul variabilelor de tip primitiv?
4) Ce excepţii pot apare la manipularea greşita a elementelor de tablou?
5) Ce metode cunoaşteţi pentru accesul la caracterele unui sir?
![Page 17: LPO_C3_IE](https://reader035.vdocumente.com/reader035/viewer/2022072009/55cf923b550346f57b94c9ca/html5/thumbnails/17.jpg)
Bibliografie
1. http://www.oracle.com/technetwork/java/javase/documentation/index.html
2. http://docs.oracle.com/javase/6/docs/
3. Ştefan Tanasă, Cristian Olaru, Ştefan Andrei, Java de la 0 la expert, Polirom, 2003, ISBN: 973-681-201-4.
4. Herber Schild, Java 2 - The Complete Reference, Fourth Edition, Osborne, 2001, ISBN: 0-07-213084-9.
5. Deitel H.M., Deitel P. J., Java - How to programm, Fith Edition, Prentice Hall, 2003, ISBN: 0-13-120236-7.
6. http://www.east.utcluj.ro/mb/mep/antal/downloads.html