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

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

Hasonló előadás


Az előadások a következő témára: "A Java programozási nyelvSoós Sándor 1/23 Java programozási nyelv 2. rész – Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai."— Előadás másolata:

1 A Java programozási nyelvSoós Sándor 1/23 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 szeptember

2 A Java programozási nyelvSoós Sándor 2/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)

3 A Java programozási nyelvSoós Sándor 3/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

4 A Java programozási nyelvSoós Sándor 4/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.

5 A Java programozási nyelvSoós Sándor 5/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

6 A Java programozási nyelvSoós Sándor 6/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: ProgTerv/STUKI.HTM

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

8 A Java programozási nyelvSoós Sándor 8/23 Struktogram alapelemek 2 ● Előltesztelő ciklus (while) ● Kidolgozott példak: – ProgTerv/PELDAK.HTM ● Egy struktogram tervező program: –

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

10 A Java programozási nyelvSoós Sándor 10/23 Vezérlőszerkezetek Java-ban ● A strukturált programozás megvalósítása JAVA- ban ● 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!

11 A Java programozási nyelvSoós Sándor 11/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.

12 A Java programozási nyelvSoós Sándor 12/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; }

13 A Java programozási nyelvSoós Sándor 13/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; if (a == 1) if (b == 2) c = 1; else c = 2; if (a == 1) { if (b == 2) { c = 1; } else { c = 2; } } if (a == 1) { if (b == 2) { c = 1; } else { c = 2; } }

14 A Java programozási nyelvSoós Sándor 14/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; }

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

16 A Java programozási nyelvSoós Sándor 16/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!

17 A Java programozási nyelvSoós Sándor 17/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; }

18 A Java programozási nyelvSoós Sándor 18/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?

19 A Java programozási nyelvSoós Sándor 19/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.

20 A Java programozási nyelvSoós Sándor 20/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.

21 A Java programozási nyelvSoós Sándor 21/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 ); }

22 A Java programozási nyelvSoós Sándor 22/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.

23 A Java programozási nyelvSoós Sándor 23/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ó.


Letölteni ppt "A Java programozási nyelvSoós Sándor 1/23 Java programozási nyelv 2. rész – Vezérlő szerkezetek Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai."

Hasonló előadás


Google Hirdetések