Java programozási nyelv



Hasonló dokumentumok
Internet programozása. 3. előadás

A C# programozási nyelv alapjai

Óbudai Egyetem. C programozási nyelv

Java II. I A Java programozási nyelv alapelemei

Programozás alapjai C nyelv 4. gyakorlat. Mit tudunk már? Feltételes operátor (?:) Típus fogalma char, int, float, double

Java II. I A Java programozási nyelv alapelemei

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

Mit tudunk már? Programozás alapjai C nyelv 4. gyakorlat. Legnagyobb elem keresése. Feltételes operátor (?:) Legnagyobb elem keresése (3)

Vezérlési szerkezetek

1. Egyszerű (primitív) típusok. 2. Referencia típusok

Algoritmusok. Dr. Iványi Péter

Változók. Mennyiség, érték (v. objektum) szimbolikus jelölése, jelentése Tulajdonságai (attribútumai):

A C programozási nyelv II. Utasítások. A függvény.

Webprogramozás szakkör

Készítette: Nagy Tibor István Felhasznált irodalom: Kotsis Domokos: OOP diasor Zsakó L., Szlávi P.: Mikrológia 19.

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

Programozás. (GKxB_INTM021) Dr. Hatwágner F. Miklós február 18. Széchenyi István Egyetem, Gy r

Informatika terméktervezőknek

C programozás. 1 óra Bevezetés

Programozási nyelvek JAVA EA+GY 1. gyakolat

Pénzügyi algoritmusok

Járműfedélzeti rendszerek II. 1. előadás Dr. Bécsi Tamás

AZ ALGORITMUS. az eredményt szolgáltatja

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

Adminisztrációs feladatok Strukturált programok A C programnyelv elemei

6. fejezet: Ciklusok

Szoftvertechnológia alapjai Java előadások

Operációs rendszerek. 11. gyakorlat. AWK - szintaxis, vezérlési szerkezetek UNIVERSITAS SCIENTIARUM SZEGEDIENSIS UNIVERSITY OF SZEGED

Szelekció. Döntéshozatal

A programozás alapjai

Objektumorientált Programozás III.

Szoftvertervezés és -fejlesztés I.

Számítástechnika I. BMEKOKAA152 BMEKOKAA119 Infokommunikáció I. BMEKOKAA606. Dr. Bécsi Tamás 3. előadás

1. Jelölje meg az összes igaz állítást a következők közül!

OOP #1 (Bevezetés) v :39:00. Eszterházy Károly Főiskola Információtechnológia tsz. Hernyák Zoltán adj.

Algoritmizálás + kódolás C++ nyelven és Pascalban

Járműfedélzeti rendszerek II. 2. előadás Dr. Bécsi Tamás

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

Kezdő programozók hibái

Apple Swift kurzus 3. gyakorlat

Vezérlési szerkezetek. Szelekció Ciklusok

Programozási nyelvek (ADA)

S z á m í t ó g é p e s a l a p i s m e r e t e k

BASH script programozás II. Vezérlési szerkezetek

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

Algoritmizálás és adatmodellezés tanítása 1. előadás

ALGORITMIKUS SZERKEZETEK ELÁGAZÁSOK, CIKLUSOK, FÜGGVÉNYEK

Komputeralgebra Rendszerek

Imperatív és procedurális programozás a Javában

AWK programozás, minták, vezérlési szerkezetek

Nézzük tovább a lexikai egységeket!

Kifejezések. Kozsik Tamás. December 11, 2016

Információtartalom vázlata

Programozás C nyelven (3. ELŐADÁS) Sapientia EMTE

Algoritmusok tervezése

Függvények. Programozás alapjai C nyelv 7. gyakorlat. LNKO függvény. Függvények(2) LNKO függvény (2) LNKO függvény (3)

Programozás alapjai C nyelv 7. gyakorlat. Függvények. Függvények(2)

Java programozási nyelv 9. rész Kivételkezelés

Programozás I. 1. előadás: Algoritmusok alapjai. Sergyán Szabolcs

SZÁMÍTÓGÉPES PROBLÉMAMEGOLDÁS

GYAKORLATIAS JAVA MINTA

és az instanceof operátor

Bánsághi Anna 2014 Bánsághi Anna 1 of 68

Imperatív programozás

Globális operátor overloading

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

Programozás I. Matematikai lehetőségek Műveletek tömbökkel Egyszerű programozási tételek & gyakorlás V 1.0 OE-NIK,

A JavaScript főbb tulajdonságai

Informatika tanítási módszerek

Bánsághi Anna 2014 Bánsághi Anna 1 of 33

Mintavételes szabályozás mikrovezérlő segítségével

Mechatronika és mikroszámítógépek 2017/2018 I. félév. Bevezetés a C nyelvbe

3 A C programozási nyelv szintaktikai egységei

A C# PROGRAMOZÁSI NYELV

Bevezetés a C++ programozási nyelvbe

Erdélyi Magyar TudományEgyetem (EMTE

Kezdő programozók hibái Azok a buktatók, amikről ha nem tudsz, napokat töprenghetsz hiába programozás-tanulás közben

Algoritmus fogalma. Mi az algoritmus? HF: Al Khwarizmi. Egy adott probléma megoldásának leírása elemi lépések sorozatával

B I T M A N B I v: T M A N

PHP gyorstalpaló, avagy a Hello World-től az űrlapellenőrzésig

C++ programozási nyelv

C++ programozási nyelv Konstruktorok-destruktorok

A kódgenerálás helye a fordítási folyamatban. Kódgenerálás I. (kifejezések és vezérlési szerkezetek) A kódgenerálás feladata. Ebben az előadásban...

Vezérlési szerkezetek

Programozás alapjai. (GKxB_INTM023) Dr. Hatwágner F. Miklós augusztus 29. Széchenyi István Egyetem, Gy r

Szkriptnyelvek II. Perl programok

Programozás III A JAVA TECHNOLÓGIA LÉNYEGE. Többlépcsős fordítás JAVA PLATFORM. Platformfüggetlenség

A programozási nyelvek elemei

Oktatási segédlet 2014

AWK programozás, minták, vezérlési szerkezetek

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

PHP. Telepítése: Indítás/újraindítás/leállítás: Beállítások: A PHP nyelv

Programozás alapjai C nyelv 5. gyakorlat. Írjunk ki fordítva! Írjunk ki fordítva! (3)

2.3. A C nyelv utasításai

Algoritmusok, adatszerkezetek, objektumok

Az algoritmusok alapelemei

Memóriagazdálkodás. Kódgenerálás. Kódoptimalizálás

Adattípusok, vezérlési szerkezetek. Informatika Szabó Adrienn szeptember 14.

Programozás alapjai (ANSI C)

Occam 1. Készítette: Szabó Éva

Átírás:

Java programozási nyelv 2. rész Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor 2005. szeptember A Java programozási nyelv Soós Sándor 1/23

Tartalomjegyzék Programozási módszertanok Strukturált programozás, struktogram Vezérlő szerkezetek JAVA-ban Az utasítás fogalma A blokk fogalma Egyszerű elágazás (if) Összetett elágazás (switch) Elöltesztelő ciklus (while) Hátultesztelő ciklus (do-while) For ciklus (for) For ciklus folyt. Címkék Break utasítás Continue utasítás Visszatérés egy metódusból (return) A Java programozási nyelv Soós Sándor 2/23

Programozási módszertanok Egykoron: A programozás művészet volt Monolitikus programozás, egy ember ír egy programot A programnak nincs belső struktúrája Programozó zseni, nem tudja elmondani, hogyan csinálja! Szoftverkrízis Több programozóra van szükség Szükség van a programozók képzésére Egy program soha nincs készen, fel kell készülni a javításokra, továbbfejlesztésre, esetleg a programozó nélkül! Művészetből tudománnyá kellett alakítani a szakmát Ezért van szükség módszertanokra A Java programozási nyelv Soós Sándor 3/23

Moduláris programozás Alapelv: Oszd meg és uralkodj! Top-down dekompozíció - Bottom-up kompozíció Előnyök: Tiszta szerkezet, tiszta kapcsolatok Egy-két helyen kell módosítani, ha valamilyen javításra, változtatásra van szükség Párhuzamos fejlesztést, tesztelést tesz lehetővé Egyszerre több ember dolgozhat egy feladaton Újrafelhasználhatóság, bizonyos modulok szabványosíthatók, újra felhasználhatók Hátrányok: Nem ad módszert arra, hogy tökéletesen jól működő modulokból hogyan lehet jó programot összeállítani. A Java programozási nyelv Soós Sándor 4/23

Strukturált programozás DIJKSTRA: Hierarchikus programozás Top-down elven fokozatosan finomítjuk a programot. Nincsen bottom-up fázis. Minden szinten tudományosan bizonyítható a program helyessége. BOEHM ÉS JACOPINI: Minden algoritmus felépíthető a következő elemekből: szekvencia szelekció, elágazás iteráció, ciklus JACKSON-ELV: az adatszerkezetek is leírhatók a fenti három szerkezettel A Java programozási nyelv Soós Sándor 5/23

Struktogram A strukturált programozás alapszerkezeteit egymásba ágyazott grafikus elemekkel ábrázoljuk. Amit le tudunk rajzolni, azt könnyedén átírhatjuk strukturált programmá, és viszont. Bármely strukturált programot le tudunk rajzolni struktogrammal. Alapfogalmak: http://www.ngkszki.hu/~fidoo/download/pmmf/ ProgTerv/STUKI.HTM A Java programozási nyelv Soós Sándor 6/23

Struktogram alapelemek 1 Szekvencia Elágazás (if) utasítás 1 utasítás 2 Elágazás (switch) A Java programozási nyelv Soós Sándor 7/23

Struktogram alapelemek 2 Előltesztelő ciklus (while) Kidolgozott példak: http://www.ngkszki.hu/~fidoo/download/pmmf/ ProgTerv/PELDAK.HTM Egy struktogram tervező program: http://www.myfriend.de/index.htm?/download.html A Java programozási nyelv Soós Sándor 8/23

Példa struktogram A Java programozási nyelv Soós Sándor 9/23

Vezérlőszerkezetek Java-ban A strukturált programozás megvalósítása JAVAban A C++ szintaktikájára épül kisebb eltérésekkel Ennek elemeit vesszük sorra a következő oldalakon Csak az eltéréseket emelem ki! A Java programozási nyelv Soós Sándor 10/23

Az utasítás fogalma Utasítás: kifejezés utasítás értékadás postfix, vagy prefix ++, ill. -- -szal képezett kifejezés metódushívás példányosítás (a new operátor használatával) deklaráció utasítás egy lokális változó létrehozása és opcionális inicializálása a lokális változó a deklarációtól az őt magában foglaló blokk végéig létezik A kétfajta utasítás tetszőleges sorrendben követheti egymást. Minden utasítást pontosvessző (;) zár le. A Java programozási nyelv Soós Sándor 11/23

A blokk fogalma Blokk (utasítások szekvenciája): Utasítások { és } jelek közé írt sorozata Mindenhol, ahol utasítás írható, ott blokk is írható. Például: { int i; i = 123; int j = i*i; } A Java programozási nyelv Soós Sándor 12/23

Egyszerű elágazás (if) if (logikai kifejezés) utasítás1 else utasítás2 Sajnos mindkét ágban állhat egyetlen utasítás is, ezért fennáll az if-then-else probléma: if (a == 1) if (b == 2) c = 1; else c = 2; E kettő ugyanazt jelenti: Inkább írjuk így! if (a == 1) { if (b == 2) { c = 1; } else { c = 2; } } A Java programozási nyelv Soós Sándor 13/23

Összetett elágazás (switch) switch (egész kifejezés) { case cimke1: utasítások; break; case cimke2: case cimke3: utasítások; break;... default: utasítások; } A Java programozási nyelv Soós Sándor 14/23

Elöltesztelő ciklus (while) while (logikai kifejezés) utasítás A Java programozási nyelv Soós Sándor 15/23

Hátultesztelő ciklus (do-while) do utasítás while (logikai kifejezés) Ha a logikai kifejezés hamis, egyszer akkor is lefut a ciklusmag! A Java programozási nyelv Soós Sándor 16/23

For ciklus (for) for (kezdet; logikai kifejezés; továbblépés) utasítás Ez nagyjából ekvivalens a következővel: { kezdet; while (logikai kifejezés) { utasítás; továbblépés; } } A Java programozási nyelv Soós Sándor 17/23

For ciklus folyt. Miért csak nagyjából ekvivalens a kétféle ciklus? continue utasítás Miért fontos a külső zárójel a while ciklus körül? A Java programozási nyelv Soós Sándor 18/23

Címkék Címke bármely utasítás elé tehetünk címkét, például: cimke: utasítás A most következő utasítások használhatók címkével és anélkül is. Ha megadunk címkét, akkor a címkével jelölt blokkra vonatkozik. Ha nem adunk meg címkét, akkor a legbelsőre. A Java programozási nyelv Soós Sándor 19/23

Break utasítás Egy blokkból való kilépésre szolgál. Például: int i = 1; ciklus: while (i < 1000) { for (int j = 1; j <= i; j++) { if (KilepesTeszt(i, j)) break ciklus; } } Break utasítással nem lehet kilépni egy metódusból. A Java programozási nyelv Soós Sándor 20/23

Continue utasítás A ciklusmag hátralévő részét átugorva, a ciklus feltételére kerül a vezérlés. For ciklus esetén a továbblépés is lefut! Például: while (! bemenet.eof()) { sor = bemenet.readln(); if (ures(sor)) continue; Feldolgoz( sor ); } A Java programozási nyelv Soós Sándor 21/23

Visszatérés egy metódusból (return) Egy metódusból a return utasítással tudunk visszatérni. A return után írt kifejezés lesz a metódus visszatérési értéke. A Java fordító ellenőrzi, hogy a metódus minden lehetséges lefutása esetén végrehajtásra kerüljön egy return utasítás. Ha úgy találja, hogy ez nem teljesül, akkor fordítási hibát kapunk. A Java programozási nyelv Soós Sándor 22/23

Nem létezik goto utasítás A Java nyelvben nincsen goto utasítás! Ennek ellenére a goto foglalt kulcsszó! Az eddig megismert szerkezetekkel - kiegészítve a később tárgyalandó finally-val - minden felmerülő programozási feladat megoldható. A Java programozási nyelv Soós Sándor 23/23