c3 – lpo: i/e, tablou, sir

17
C3 – LPO: I/E, tablou, sir CUPRINS Citirea datelor in mod text, grafic Afisarea datelor in mod text, grafic Tablouri definitie, declaratie, creare si utilizare Siruri definitie, declaratie, creare si utilizare

Upload: zalman

Post on 14-Jan-2016

29 views

Category:

Documents


0 download

DESCRIPTION

C3 – LPO: I/E, tablou, sir. CUPRINS 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. Obiective. Dupa parcurgerea acestui curs ar trebuie sa puteti: - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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: C3 – LPO: I/E, tablou, sir

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