A Java programozási nyelvSoós Sándor 1/16 Java programozási nyelv 6. rész – Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.

Slides:



Advertisements
Hasonló előadás
© Kozsik Tamás Különböző nyelvekhez igazítás Internationalization - i18n.
Advertisements

Osztály leszármaztatás
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 8. rész – Grafikus felhasználói felület Nyugat-Magyarországi Egyetem Faipari Mérnöki.
II. Grafikus felhasználói interfész
AZ OOP ALAPJAI.
C++ programozási nyelv Gyakorlat hét
Programozás III KOLLEKCIÓK 2..
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Adatbányászati technikák (VISZM185)
Öröklődés 2..
Programozási Nyelvek (C++) Gyakorlat Gyak 03.
JavaScript.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
Bevezetés a Java programozásba
Öröklődés Polimorfizmus Csomagok Absztrakt osztályok, interfészek
Fájlkezelés, IO Kivételkezelés Belső osztályok
Osztályok Garbage collection.  általában minden osztálynak vannak adattagjai és/vagy metódusai ◦ adattagok megadása:  [láthatóság] [static] [final]
Abstract osztályok és interface-ek Beolvasás és kiíratás 7. gyakorlat.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Tömbök ismétlés Osztályok Java-ban Garbage collection
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/17 C++ programozási nyelv Gyakorlat - 7. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/14 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 3. rész – Osztályok I.
A Java programozási nyelvSoós Sándor 1/4 Java programozási nyelv 12. rész – Képek kezelése Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A C++ programozási nyelvSoós Sándor 1/10 C++ programozási nyelv Gyakorlat - 5. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/15 C++ programozási nyelv Gyakorlat hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 5. rész – Osztályok III.
C# tagfüggvények.
Készítette: Keszthelyi Zsolt
Csomagok.
Annotációk a Java 5 nyelvben Kozsik Tamás. Annotációk Módosítószavak bővítése A programszöveg elemeihez rendelhetők –Csomagokhoz, típusokhoz, metódusokhoz,
© Kozsik Tamás Csomagok. © Kozsik Tamás A program tagolása Típusdefiníciók (osztályok, interfészek) Metódusok Blokk utasítások Csomagok.
Kivételkezelés.
P ROGRAMOZÁS C# - BAN Kivételkezelés. P ÉLDA I. Nullával való osztás miatt kapjuk a hibaüzenetet.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Szintaktikai, szemantikai szabályok
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
Komoróczy Tamás 1 Java programozási nyelv Stringek.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
Java programozási nyelv Adatbekérés konzolról
Programozás III KIVÉTEL – CSOMAG. CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban.
HTML ÉS PHP (Nagyon) rövid áttekintés. ADATBÁZISRENDSZEREK MŰKÖDÉSI SÉMÁJA Felh. interakció DB Connector MySQL ? A gyakorlaton:
Programozás III CSOMAG. CSOMAGOK Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek. A Java is csomagok halmaza: csomagokban van.
Típuskonverzió a C++ nyelvben
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 6. gyakorlat.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
B M Java Programozás 1. Gy: Java alapok IT A N Ismétlés ++
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Előadás másolata:

A Java programozási nyelvSoós Sándor 1/16 Java programozási nyelv 6. rész – Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor szeptember

A Java programozási nyelvSoós Sándor 2/16 Tartalomjegyzék ● FreeJava fejlesztőkörnyezet ● A FreeJava különleges funkciói ● Kódolási konvenciók a Java-ban ● Csomagok, package ● Csomagdeklaráció ● Osztályok elérése ● Adatbeolvasás billentyűzetről ● Adatkonverzió ● Gyakorló feladat

A Java programozási nyelvSoós Sándor 3/16 FreeJava fejlesztőkörnyezet, emlékeztetőül ● Ingyenes, magyar nyelvű és magyar fejlesztésű Java fejlesztőkörnyezet ● A program weblapja: ● A feltelepített Java SDK-t használja. Be kell állítani az SDK könyvtárát. ● Menü: Beállítások / JDK beállítások... ● Magyar nyelvű felülettel bemutatja a teljes Java osztálykönyvtárat.

A Java programozási nyelvSoós Sándor 4/16 A FreeJava különleges funkciói ● Teljes egészében Javaban íródott, így teljesen platformfüggetlen ● Szintaxis kiemelés ● Zárójelpárok kiemelése, blokkok jelzése a bal margón. Ki-bekapcsolható a Beállítások / Beállítások... / Java menüpontban ● Java osztály böngésző és osztály elemző – Beállítások / JDK Beállítások....: Java src.jar (zip) – Keresés menü

A Java programozási nyelvSoós Sándor 5/16 Kódolási konvenciók a Java-ban ● Emlékeztetőül: a Java megkülönbözteti a kis és nagybetűket! ● Ami nem rajtunk múlik: – A nyelv kulcsszavai: csupa kisbetű (class, for, this) – standard típusok: csupa kisbetű (int, long, boolean) – A Java osztálykönyvtár azonosítói: ● packagek, csomagok: csupa kisbetű (java.lang) ● osztályok: nagy kezdőbetű ● metódusok és tagváltozók: csupa kisbetű, több szó esetén egybeírva és a második szótól nagy kezdőbetűvel ● konstansok (final tagváltozók): csupa nagybetű

A Java programozási nyelvSoós Sándor 6/16 Kódolási konvenciók, folytatás ● Megállapodás: – Saját programjainkban követjük a fenti konvenciókat – Minden osztályt külön file-ba teszünk – A fájl neve megegyezik az osztály nevével beleértve a kis-, nagybetűs írásmódot is. ● Mostantól az órán is be kell tartani ezeket a konvenciókat.

A Java programozási nyelvSoós Sándor 7/16 Csomagok, package, ismétlés ● Megállapodtunk abban, hogy minden osztályt önálló fájlba teszünk. ● Egy komolyabb program több tucat osztályból épül fel, ami több tucat file-t jelent. ● Az osztályok, illetve forrásfile-ok kategóriákba sorolását teszik lehetővé a csomagok. ● Az osztályok hierarchikus struktúrát alkotnak, ahogyan láttuk a java.lang esetében. ● A FreeJava korábbi verziói nem kezelik megfelelően a csomagokat!!! ● Használd a v1.01_T verziót!

A Java programozási nyelvSoós Sándor 8/16 Csomagdeklaráció ● A forrásfájl elején adhatjuk meg, hogy az adott fájl melyik csomaghoz tartozzon: – package csomagnév; – A csomagnév egy tetszőleges azonosító önmagában, vagy több azonosító ponttal elválasztva. Például: package geometria; package geometria.sikidom; package geometria.test; – Ha két fájlban azonos csomagnevet deklarálunk, akkor a két fájl azonos csomagba fog tartozni. – Ha egy fájlban nem adunk meg csomagdeklarációt, ahogyan eddig tettük, akkor ez a fájl egy közös, névtelen csomagba fog tartozni.

A Java programozási nyelvSoós Sándor 9/16 Osztályok elérése 1 ● Hogyan érünk el egy osztályt egy több csomagból álló programban? – Szinte minden program ilyen, mert a nyelvi elemek egy része is különböző csomagokban van definiálva. ● Például Double, Integer, stb. – Egy saját csomagban definiált osztályt közvetlenül elérhetünk a nevével. – A java.lang csomagot automatikusan importálja a rendszer, azaz a benne lévő osztályokat ugyanúgy elérhetjük, mintha a saját csomagunkban lenne. Ez történt az eddigi példaprogramok nagy részében.

A Java programozási nyelvSoós Sándor 10/16 Osztályok elérése 2 ● Egy idegen csomagbeli osztály elérése. – Bármely osztályt elérhetünk a teljes nevével: ● csomag.osztálynév; – Importdeklarációval közvetlenül elérhetjük az importált osztályokat: ● import csomag.osztálynév; ● import csomag.*; ● az utóbbi esetben a csomag minden publikus osztályát importáltuk ● az import java.lang.*; importdeklaráció minden fordítási egységben automatikusan megtörténik

A Java programozási nyelvSoós Sándor 11/16 Például: Adatbeolvasás billentyűzetről ● javax.swing.JOptionPane osztály ● Az osztály különböző metódusaival különböző típusú, modális párbeszéd ablakokat hozhatunk létre ● Modális párbeszéd ablak: – az ablak bezárásáig megáll az adott szál futása ● A számunkra fontos metódusok: – public static String showInputDialog(Object message) ● Egy ablakban kiírja a message szöveget és egy szövegbeviteli mezőt. Visszaadja a mezőbe írt szöveget String típusként. – public static void showMessageDialog (Component parentComponent, Object message) ● Egy ablakban kiírja a message szöveget. parentComponent lesz az ablak szülőkomponense, null esetén a képernyő.

A Java programozási nyelvSoós Sándor 12/16 Adatbeolvasás példa import javax.swing.JOptionPane; public static void main(String[] args) { String s, t; s = JOptionPane.showInputDialog("Írj be valamit!"); //lekezelhetjük azt is, ha a felhasználó nem írt be semmit if (s!=null) t="Ezt írtad be: " + s; else t="Nem írtál be semmit"; JOptionPane.showMessageDialog(null, t); }

A Java programozási nyelvSoós Sándor 13/16 Adatkonverzió ● A showInputDialog metódus String típusban adja vissza a begépelt adatot. Így a metódus általánosabb, viszont át kell konvertálni a kapott numerikus adatokat. ● Ehhez felhasználhatjuk a standard típusokat beágyazó osztályokat, amelyek az absztrakt java.lang.Number leszármazottai, például: – int→java.lang.Integer – double→java.lang.Double –...

A Java programozási nyelvSoós Sándor 14/16 Adatkonverzió, folytatás 1. lépés: String → Number leszármazott – konstruktor által, vagy a – valueOf() static metódus által – ebben a lépésben történik meg a tényleges konverzió 2. lépés: Number →standard típus ( int, double, …) – xyValue() metódus által ● xy helyén a standard típus áll: intValue(), doubleValue() ● A fenti két lépést egyetlen kifejezéssel is megvalósíthatjuk.

A Java programozási nyelvSoós Sándor 15/16 Adatkonverzió példa String s1 = "3.14", s2 = "2.71"; double d1, d2; Double D1; // konverzió lépésekben D1 = new Double( s1 );// vagy D1 = Double.valueOf(s1); d1 = D1.doubleValue(); System.out.println( "s1: " + s1 + " = " + d1 ); // konverzió egy lépésben d2 = new Double(s2).doubleValue(); // vagy d2 = Double.valueOf(s2).doubleValue(); System.out.println( "s2: " + s2 + " = " + d2 );

A Java programozási nyelvSoós Sándor 16/16 Gyakorló feladat ● Alakítsuk át az előző órai, síkidomos feladatot a következőképpen: – A Sikidom, Teglalap és Kor osztályok legyenek egy geometria.sikidom nevű csomagban! – A további definiált osztályok legyenek szintén ebben a csomagban! – A főprogram legyen egy geometria.foprogram nevű csomagban! – A főprogramot alakítsuk át úgy, hogy a szükséges adatokat interaktívan olvassuk be!