Java programozási nyelv 6. rész Java a gyakorlatban



Hasonló dokumentumok
Java programozási nyelv 5. rész Osztályok III.

Programozás III CSOMAGOK. Az összetartozó osztályok és interfészek egy csomagba (package) kerülnek.

Java programozási nyelv 4. rész Osztályok II.

Objektum Orientált Programozás. 11. Kivételkezelés 44/1B IT MAN

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

C++ programozási nyelv

OOP: Java 8.Gy: Gyakorlás

OOP: Java 8.Gy: Abstract osztályok, interfészek

OBJEKTUM ORIENTÁLT PROGRAMOZÁS JAVA NYELVEN. vizsgatételek

Java VI. Egy kis kitérő: az UML. Osztály diagram. Általános Informatikai Tanszék Utolsó módosítás:

Kivételek kezelése (exception handling) Hibakezelés old style. Kivételkezelés

Java programozási nyelv 7. rész Java osztálykönyvtár 1.

OOP: Java 11.Gy: Enumok, beágyazott osztályok. 13/1 B ITv: MAN

A Java nyelv. Dialógus ablakok. Elek Tibor

Java Programozás 1. Gy: Java alapok. Ismétlés ++

Segédanyag: Java alkalmazások gyakorlat

Java II. I A Java programozási nyelv alapelemei

7. K: JAVA alapok Konzultáció

Programozási nyelvek Java

Objektumorientált programozás C# nyelven

Helyes-e az alábbi kódrészlet? int i = 1; i = i * 3 + 1; int j; j = i + 1; Nem. Igen. Hányféleképpen lehet Javaban megjegyzést írni?

Java Programozás 11. Ea: MVC modell

BME MOGI Gépészeti informatika 8.

Segédanyag: Java alkalmazások gyakorlat

Programozás I. 5. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Széchenyi István Egyetem. Programozás III. Varjasi Norbert

Az osztályok csomagokba vannak rendezve, minden csomag tetszőleges. Könyvtárhierarhiát fed: Pl.: java/util/scanner.java

és az instanceof operátor

Java Programozás 4. Gy: Java GUI. Tipper, MVC kalkulátor

Java IX. telkezelés a Java-ban

Java VIII. Az interfacei. és az instanceof operátor. Az interfészről általában. Interfészek JAVA-ban. Krizsán Zoltán

Java IX. telkezelés a Java-ban

List<String> l1 = new ArrayList<String>(); List<Object> l2 = l1; // error

Bevezetés a Java programozási nyelvbe

Bevezetés a Java programozási nyelvbe

Java Programozás 6. Gy: Java alapok. Adatkezelő 2.rész

Programozás I. Első ZH segédlet

C++ programozási nyelv

Programozási nyelvek JAVA EA+GY 1. gyakolat

Szoftvertechnológia alapjai Java előadások

Torna. A torna.csv UTF-8 kódolású állományban soronként egy versenyző eredményeit tároljuk. Az adatokat pontosvessző választja el egymástól.

Osztály és objektum fogalma

Java gyakorlat feladatai e s megolda sai ( )

JUnit. JUnit használata. IDE támogatás. Parancssori használat. Teszt készítése. Teszt készítése

Java programozási nyelv

hiányzott szeptemberben vagy A tanuló nem hiányzott szeptemberben szöveget

Java Programozás 3. Gy: Java GUI. Swing, AWT

JAVA PROGRAMOZÁS 3.ELŐADÁS

3. Határozza meg és írja ki a minta szerint, hogy a forrásállományban hány kémiai elem felfedezési adatai

Abstract osztályok és interface-ek. 7-dik gyakorlat

Programozás BMEKOKAA146. Dr. Bécsi Tamás 7. előadás

Objektum Orientált Programozás. 5. JAVA osztályok 21/1B IT MAN

Programozási nyelvek Java

GYAKORLATIAS JAVA MINTA

OOP: Java 6.Gy: Java osztályok. Definíció, static, túlterhelés

3. Gyakorlat Ismerkedés a Java nyelvvel

Java Programozás 8. Gy: Java alapok. Adatkezelő 4.rész

3. Osztályok II. Programozás II

Programozás I. 3. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

Java programozási nyelv

Java VI. Miskolci Egyetem Általános Informatikai Tanszék. Utolsó módosítás: Ficsor Lajos. Java VI.: Öröklődés JAVA6 / 1

Programozási nyelvek II.: JAVA

Java I. A Java programozási nyelv

Programozási technológia I.

Java és web programozás

Programozási nyelvek Java

Programozás I. 1. gyakorlat. Szegedi Tudományegyetem Természettudományi és Informatikai Kar

C++ programozási nyelv

Kalapácsvetés 2016 szöveges

Programozási nyelv Java

Programozási nyelvek Java

Java III. I I. Osztálydefiníció (Bevezetés)

Programozási nyelvek II. JAVA EA+GY 1. gyakolat

Programozási technológia

Java III. I I. Osztálydefiníció (Bevezetés)

Programozási nyelvek II.: JAVA

C++ programozási nyelv Konstruktorok-destruktorok

Segédanyag: Java alkalmazások gyakorlat

strings.xml res/values/strings.xml fájlban hozzuk létre a hiányzó string adatforrásainkat A jelenlegi helyett ez álljon: <resources> <string

Objektumorientált programozás C# nyelven

Osztálytervezés és implementációs ajánlások

Osztálytervezés és implementációs ajánlások

Programozási technológia I 1. gyakorlat. A Java nyelvi alapjai, a NetBeans környezet

Objektumorientált programozás C# nyelven

Szoftvertechnolo gia gyakorlat

Java bevezet o Kab odi L aszl o Kab odi L aszl o Java bevezet o

Grafikus felhasználói felületek. Dr. Szendrei Rudolf Informatikai Kar Eötvös Loránd Tudományegyetem. Programozási technológia I. Dr.

C# osztályok. Krizsán Zoltán

Java VII. Polimorfizmus a Java nyelvben

OOP: Java 4.Gy: Java osztályok

Java osztálykönyvtár és használata

VBA. Visual Basic for Applications

JAVA PROGRAMOZÁS 2.ELŐADÁS

Java Programozás 9. Gy: Java alapok. Adatkezelő 5.rész

Java II. I A Java programozási nyelv alapelemei

Programozási technikák Pál László. Sapientia EMTE, Csíkszereda, 2009/2010

A képernyőre írást igénylő részfeladatok eredményének megjelenítése előtt írja a képernyőre a feladat sorszámát (például: 3. feladat:)!

4. Gy: JAVA osztályok

Objektumorientált programozás C# nyelven

JNDI - alapok. Java Naming and Directory Interface

Átírás:

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 2004. október A Java programozási nyelv Soós Sándor 1/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 nyelv Soós Sándor 2/16

FreeJava fejlesztőkörnyezet Ingyenes, magyar nyelvű és magyar fejlesztésű Java fejlesztőkörnyezet A program weblapja: www.belovai.ini.hu 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 nyelv Soós Sándor 3/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 nyelv Soós Sándor 4/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 nyelv Soós Sándor 5/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 nyelv Soós Sándor 6/16

Csomagok, package 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 Java programozási nyelv Soós Sándor 7/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 nyelv Soós Sándor 8/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 osztályban 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 osztályunkban lenne. Ez történt az eddigi példaprogramok nagy részében. A Java programozási nyelv Soós Sándor 9/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 nyelv Soós Sándor 10/16

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 nyelv Soós Sándor 11/16

Adatbeolvasás példa public static void main(string[] args) { String s, t; s = JOptionPane.showInputDialog("Írj be valamit!"); //lekezeljü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 nyelv Soós Sándor 12/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 nyelv Soós Sándor 13/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 nyelv Soós Sándor 14/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 nyelv Soós Sándor 15/16

Gyakorló feladat Alakítsuk át az előző, 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! A Java programozási nyelv Soós Sándor 16/16