Java programozási nyelv Vezérlési szerkezetek
Jogi rendelkezések A következőket teheted a művel: szabadon másolhatod, terjesztheted, bemutathatod és előadhatod a művet származékos műveket (feldolgozásokat) hozhatsz létre Az alábbi feltételekkel: Jelöld meg!. A szerző vagy a jogosult által meghatározott módon kell megjelölni a művet: Szerző és eredeti elérhetőség Ne add el!. Ezt a művet nem használhatod fel kereskedelmi célokra. Nevezd meg! - Ne add el! 2.5 Magyarország További információ a képre kattinva
Változók növelése, csökkentése Változó értékének növelése eggyel: Szamlalo++ vagy ++Szamlalo Változó értékének csökkentése eggyel: Szamlalo–- --Szamlalo
Változók növelése, csökkentése Különbség a két lehetőség között: Szamlalo értéke kezdetben 5 Újadat = Szamlalo++ * 10; Újadat értéke 50 lesz, a műveleti jel utótag (utólag növel) Újadat = ++Szamlalo *10; Újadat értéke 60 lesz, a műveleti jel előteg (előbb növel) A Szamlalo értéke a művelet után mindkét esetben 6 lesz.
Változók növelése, csökkentése Változó értékének növelése megadott értékkel: Szamlalo += érték; Változó értékének csökkentése megadott értékkel: Szamlalo –= érték;
Minta program (kattints rá a megjelenítéshez) Változók növelése, csökkentése Minta program (kattints rá a megjelenítéshez)
Feltételes utasítások Használatos műveleti jelek: == -egyenlő != -nem egyenlő < -kisebb > -nagyobb <= -kisebb, vagy egyenlő >= -nagyobb, vagy egyenlő
Feltételes utasítások (if) Szintaxis if (logikai kifejezés) utasitas; Több ágú elágazás if – else szintaxisa else
Feltételes utasítások (switch) Szintaxis Switch (kapcsoló) { case minta1: utasitas1; break; . case mintan: utasitasn; default: utasitas; }
Utasítás blokk Az if utasításnál láthattuk, hogy az egyes ágakban egyetlen utasítás szerepelhet. Használhatunk az utasítások összefogására zárójelezést, az így kapott utasítás blokk egyetlen utasításnak felel meg A használandó zárójel: { }
Feltételes utasítások (if) Minta program (kattints rá a megjelenítéshez)
Feltételes utasítások (switch) Osztályzat átszámoló minta program (kattints rá a megjelenítéshez)
Feladat Készítsünk Java programot amely a 21 nevű játékban elért pontjaidat értékeli! A 22 már sok, 15 alatt még kérni kell lapot! Készítsünk Java programot amelyik kiírja egy hónap nevét sorszáma alapján! Megoldás Megoldás
Ciklusok for ciklus while ciklus do – while ciklus Ha tudjuk, hogy a ciklus magja hányszor fog lefutni while ciklus Előltesztelő ciklus do – while ciklus Hátultesztelő ciklus
For ciklus Szintaxis for (előkészítő szakasz; feltételes szakasz; növekményes szakasz) { ciklus mag }
for mintapélda } for (int i=1 ; i<=10; i++) { Feltételes szakasz: Itt vizsgáljuk, hogy a ciklusváltozó elérte-e a kívánt értéket Előkészítő rész: itt adjuk meg a ciklusváltozó kezdeti értékét for (int i=1 ; i<=10; i++) { System.out.println("Az " + i + " szám négyzete: " + i*i); } Növekményes szakasz: itt változtatjuk a ciklusváltozó értékét
Nézzük a for ciklust a gyakorlatban public class Peldafor { public static void main(String[] args) { //egyszerű ciklus amely 1-től 10-ig kiírja a számok négyzetét System.out.println("Példa a for ciklusra"); for (int szam=1; szam <=10; szam++) System.out.println("A " + szam + " négyzete:" + szam*szam); } //kicsit érdekesebb ciklus System.out.println(); System.out.println("Másik példa a for ciklusra"); for (int szam=1; szam <=10; szam += 2 ) //Lehet ezt fokozni? System.out.println("Vannak itt még érdekes dolgok?"); int szam=1; //Eddig a szamot nem is ismertük csak a ciklusban!!! for ( ; szam <=10; ) szam +=2; //Adjuk meg a kegyelemdöfést a for ciklusnak System.out.println("Ez már tényleg érdekes"); szam=1; //Mostmár használhatjuk. for ( ; ; ) if (szam > 10) break; public class Peldafor { public static void main(String[] args) { //egyszerű ciklus amely 1-től 10-ig kiírja a számok négyzetét System.out.println("Példa a for ciklusra"); for (int szam=1; szam <=10; szam++) System.out.println("A " + szam + " négyzete:" + szam*szam); } //kicsit érdekesebb ciklus System.out.println(); System.out.println("Másik példa a for ciklusra"); for (int szam=1; szam <=10; szam += 2 ) //Lehet ezt fokozni? System.out.println("Vannak itt még érdekes dolgok?"); int szam=1; //Eddig a szamot nem is ismertük csak a ciklusban!!! for ( ; szam <=10; ) szam +=2; public class Peldafor { public static void main(String[] args) { //egyszerű ciklus amely 1-től 10-ig kiírja a számok négyzetét System.out.println("Példa a for ciklusra"); for (int szam=1; szam <=10; szam++) System.out.println("A " + szam + " négyzete:" + szam*szam); } //kicsit érdekesebb ciklus System.out.println(); System.out.println("Másik példa a for ciklusra"); for (int szam=1; szam <=10; szam += 2 ) Nézzük a for ciklust a gyakorlatban public class Peldafor { public static void main(String[] args) { //egyszerű ciklus amely 1-től 10-ig kiírja a számok négyzetét System.out.println("Példa a for ciklusra"); for (int szam=1; szam <=10; szam++) System.out.println("A " + szam + " négyzete:" + szam*szam); }
Logikai operátorok És operátor :: jele: && Vagy operátor :: jele: || (x>5) && ((x % 2)=0) A kifejezés akkor és csakis akkor igaz, ha az x változó értéke nagyobb mint 5 és páros Vagy operátor :: jele: || (X>5) || ((x % 2)=0) A kifejezés akkor és csakis akkor igaz, ha az x változó értéke nagyobb mint 5 vagy páros Nem operátor :: jele: ! !(x>5) A kifejezés akkor és csakis akkor igaz, ha az x változó értékére nem teljesül, hogy nagyobb mint 5
Feladat Készítsünk Java programot amelyben kiíratjuk az angol abc kisbetűit ! Mit csinál a mellékelt program? Begépelés nélkül próbáld megállapítani! Megoldás Mit csinál?
while ciklus Szintaxis while (logikai kifejezés) { ciklus mag } Addig fut amíg a logikai kifejezés igaz értékű
do - while ciklus Szintaxis do { ciklus mag } while (logikai kifejezés); Addig fut amíg a logikai kifejezés igaz értékű
Kilépés a ciklusból break Hatására a ciklus befejeződik. A következő utasítással folytatja a program a futást. continue Hatására az aktuális ciklus mag végrehajtása befejeződik. A ciklus elejére kerül a vezérlés.
Feladat ciklusokra I Készíts függvénytáblázatot Írasd ki 0-tól 90 fokig a szögek szinuszát Írasd ki -180-tól 180 fokig a szögek tangensét Készíts programot amely kiíratja két pozitív egész szám legnagyobb közös osztóját! (Euklideszi algoritmus) Megoldás Megoldás
Feladat ciklusokra II Írassuk ki 2 hatványait ameddig tudjuk! A feladatot mindhárom ciklusszervezéssel oldjuk meg! A 2-4 is 2 hatvány double = pow(double,double) Készíts programot amely kiíratja a [-1;1] intervallumban 0,1-es lépésközzel az f(x)=x3 függvény értékeit!
Feladat ciklusokra III Írassuk ki a Viegnere táblázatot! ABCDEFGHIJKLMNOPQRSTUVWXYZ BCDEFGHIJKLMNOPQRSTUVWXYZA CDEFGHIJKLMNOPQRSTUVWXYZAB DEFGHIJKLMNOPQRSTUVWXYZABC EFGHIJKLMNOPQRSTUVWXYZABCD FGHIJKLMNOPQRSTUVWXYZABCDE GHIJKLMNOPQRSTUVWXYZABCDEF HIJKLMNOPQRSTUVWXYZABCDEFG IJKLMNOPQRSTUVWXYZAVCDEFGH JKLMNOPQRSTUVWXYZABCDEFGHI KLMNOPQRSTUVWXYZABCDEFGHIJ LMNOPQRSTUVWXYZABCDEFGHIJK MNOPQRSTUVWXYZABCDEFGHIJKL NOPQRSTUVWXYZABCDEFGHIJKLM OPQRSTUVWXYZABCDEFGHIJKLMN PQRSTUVWXYZABCDEFGHIJKLMNO QRSTUVWXYZABCDEFGHIJKLMNOP RSTUVWXYZABCDEFGHIJKLMNOPQ STUVWXYZABCDEFGHIJKLMNOPQR TUVWXYZABCDEFGHIJKLMNOPQRS UVWXYZABCDEFGHIJKLMNOPQRST VWXYZABCDEFGHIJKLMNOPQRSTU WXYZABCDEFGHIJKLMNOPQRSTUV XYZABCDEFGHIJKLMNOPQRSTUVW YZABCDEFGHIJKLMNOPQRSTUVWX ZABCDEFGHIJKLMNOPQRSTUVWXY Megoldás