Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Bevezetés a Java programozásba

Hasonló előadás


Az előadások a következő témára: "Bevezetés a Java programozásba"— Előadás másolata:

1 Bevezetés a Java programozásba
Multimédiafejlesztő tanfolyam 3. foglalkozás Készítette: Csekéné Molnár Erika, 2009

2 1. Input/output kezelés Kivételkezelés Adatbeolvasása parancssorból
Stream (csatorna) Adatbeolvasás konzolról Feladatok

3 1.1 Kivételkezelés Lényege: A programban fellépő futásidejű hibák, vagy a program normál logikájához képest különleges, attól eltérő helyzetek kezelése. Eszköze: A try blokkban kiváltott kivételeket az utána következő catch blokk, vagy blokkok kezelik le: try { utasítások; } catch(Típus változó) { utasítások; } (A catch ágban a "paraméterként" megadott típus határozza meg, hogy mely kivételeket képes lekezelni.)

4 1.2 Adatbeolvasás parancssorból
Egész szám beolvasása (Negyzet.java) try{ szam = Integer.parseInt(args[0]); }catch (NumberFormatException e){ System.out.println("Egész számot adj meg!"); } String args[ ]: a parancssorban megadott paraméterek, String típusú tömbben tárolva Integer.parseInt(p): a paraméterként megadott String típusú adatot int típusúvá alakítja NumberFormatExeption: nem megfelelő típusú (int) paraméter megadása esetén fellépő hiba Futtatáskor: java Negyzet 4 Feladat: Írj programot, amely két parancssorból megadott egész számot ad össze! (Osszead.java )

5 1.3 Stream (csatorna) Definíció: A csatorna adatok sorozata, egyik végén befelé, a másik végén kifelé "folynak" az adatok. Megvalósítás: csatornákat is osztályokkal valósítjuk meg, azaz minden csatorna-típusnak egy-egy osztály felel meg, amelyek a java.io csomagban találhatók. Típusai: Csatornán folyó adatok iránya szerint: bemeneti (pl.: billentyűzet, fájl… stb.) és kimeneti (pl.: képernyő, fájl… stb.) csatornák. Csatornán folyó adatok típusa szerint: bájt- és karaktercsatorna Alapcsatorna osztályok: Típus\Irány Bemeneti Kimeneti Bájt InputStream OutputStream Karakter Reader Writer

6 1.4 Adatbeolvasás konzolról
Importálás: A program első sorába importálni kell a java.io csomagot. import java.io.*; Csatorna létrehozása és megnyitása: egy reader nevű objektum létrehozása, amely hozzá van rendelve a standard inputhoz, ahol pufferelt adatbeolvasást hajtunk végre. BufferedReader reader = new BufferedReader(new InputStreamReader (System.in)); Adatbeolvasás kivételkezeléssel: a reader objektum readLine() eljárása olvas be egy String típusú értéket, amit egész számmá kell alakítani. try { sor = reader.readLine(); szam = Integer.parseInt(sor); }catch(IOException e){ } Feladat.: A beolvasatott számnak írjuk ki a négyzetét! (Negyzetszam.java)

7 1.5 Feladatok Írj programot, amely parancssorból megadott 3 szám közül eldönti, melyik a legkisebb ill. legnagyobb! Használd a Math osztály min és max függvényét és használj saját statikus függvényeket! (MinMax.java) Írj programot, amely bekér a felhasználótól öt egész számot és növekvő sorrendbe kiírja! Használj tömböt a számok tárolásához és készíts statikus metódusokat! (Rendez.java)

8 2. Állománykezelés Fájlokról általában Bináris fájlok
Karakteres fájlok Szöveges fájlok Szöveges fájl feldolgozása StringTokenizer osztály

9 2.1 Fájlokról általában Az állomány is stream (csatorna): bemeneti és kimeneti adatforrás is lehet fájl. Kell a java.io csomag, importálni kell a program elején Állomány típusok: Bináris file: 8 bites egységenként történik a feldolgozás, szám típusú adatokat tartalmaz Karakteres file: 16 bites egységenként, azaz karakterenként történik a feldolgozás Szöveges file: részenként (pl. soronként, szavanként) történik a feldolgozás Műveletek: File megnyitása: csatorna létrehozása és megnyitása egy lépésben a new utasítás segítségével Műveletek: olvasás: read(), readLine(), írás: write(), print(), println() File lezárása: close()

10 2.2 Bináris fájlok Bemenethez használjuk a FileInputStream osztályt.
FileInputStream bemenet =new FileInputStrem(„feldolgozando.txt”); int szam = bemenet.read(); bemenet.close(); Olvasás vége, ha file vége -1. Kimenethez használjuk a FileOutputStream osztályt. FileOutputStream kimenet=new FileOutputStream(„irasra.txt”); kimenet.write(i); kimenet.close(); Feladat: Írj programot, amely megnyitja olvasásra a szamok.txt állományt, kiírja tartalmának kódjait az outputra, majd feltölti az üres cel.txt fájt 1-től 150-ig kódolt karakterekkel! (Binaris.java)

11 2.3 Karakteres fájlok Bemenethez használjuk a FileReader osztályt.
FileReader bemenet =new FileReader(„feldolgozando.txt”); int c = bemenet.read(); bemenet.close(); Olvasás vége, ha file vége -1. Kimenethez használjuk a FileWriter osztályt. FileWriter kimenet=new FileWriter(„irasra.txt”); kimenet.write(c); kimenet.close(); Feladat: Írj programot, amely a forras.txt fájl tartalmát átmásolja a cel.txt fájlba! (Karakteres.java)

12 2.4 Szöveges fájlok Osztályok:
Részenkénti feldolgozás: praktikus, ha egy file tartalmát nem csak karakterenként vagy byte-onként érhetjük el, hanem egy nagyobb szakaszt egyben is. Pufferelt olvasás lényege, hogy a stream egy szakaszát egy pufferbe olvassa. A puffer tartalma egy művelettel elérhető. Beolvasás soronként a "\n" jelig. Fájl vége: null. Osztályok: bemenethez: BufferedReader, ami képes egy sort egy művelettel beolvasni, pufferbe olvas, tartalma egy művelettel elérhető. kimenethez: PrintWriter, ami a kiírandó adatot karakterenként írja a kimeneti streambe.

13 2.5 Szöveges fájl feldolgozása
Beolvasás: BufferedReader bemenet =        new BufferedReader(new FileReader(„bemenet.txt”));  … String sor = bemenet.readLine();  … bemenet.close(); Kiírás: PrintWriter kimenet =        new PrintWriter( new FileWriter(„kimenet.txt”));  … kimenet.println(„Serteperte, felseperte”);  … kimenet.close();  Feladat: Írj programot, amely a torp.txt fájl sorait megsorszámozva átírja a cel.txt fájlba! (Szoveges.java)

14 2.6 StringTokenizer osztály
String részekre bontását teszi lehetővé Importálni kell a java.util csomagot Feldarabolt szöveg létrehozása, ahol megadható az elválasztó karakter: StringTokenizer st = new StringTokenizer(String szöveg, String elválasztókarakter); Alapértelmezés a szóköz és a fehérszóközök (például: \t\n\r\f ) Metódusai: st.hasMoreTokens() Igazat ad vissza ha van még rész st.nextToken() A következő tokent adja vissza értékül st.countTokens() Visszadja a hátralévő részek számát 

15 2.7 Feladat Írj programot, amely beolvassa a torp.txt fájlt, amelyben soronként egy törp neve és számértékek vannak, szóközzel elválasztva. Hozzunk létre egy torpok.txt állományt, amelyben kiírjuk a törp nevét és a hozzá tartozó számok összegét! (Torpok.java)


Letölteni ppt "Bevezetés a Java programozásba"

Hasonló előadás


Google Hirdetések