Programozás I. 1. gyakorlat Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 1
Követelmények Gyakorlatok látogatása kötelező! (maximum 2 igazolatlan hiányzás) 2 db kisdolgozat lesz a gyakorlaton (10-10 pontért, minimum: 50%) 5. héten (március 6-i hét) 12. héten (április 24-i hét) 2 zárthelyi dolgozat előadáson (25-25 pontért, minimum: 50%) 8. héten (március 27.) 14. héten (május 08.) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 2
Követelmények Javító ZH: Előadás helye, ideje, 15. héten 35 pontért Kötelező program: 30 pont (min. 15 pont) Kihirdetése: 2017.03.10, Bíró Beküldési határidő: 2017.04.24. 08:00, Bíró Védés a 13. héten (hétfői gyak: 14 hét) http://www.inf.uszeged.hu/~antal/?p=prog1_kotprog Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 3
BÍRÓ Mindenki regisztráljon BÍRÓ-ra, aki még nem tette meg! Regisztráció fontos, az EHA és a h-s azonosító összekapcsolása miatt https://biro.inf.u-szeged.hu/regiszt Ellenőrizze mindenki, hogy be tud-e lépni: https://biro.inf.u-szeged.hu/ h-s azonosító, hozzátartozó jelszó! Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 4
Java Platformfüggetlen programozási nyelv JVM: Java Virtual Machine - Java virtuális gép Minden architektúrán különbözik Ez hajtja végre az adott hardveren a kódot Java HotSpot (JRockit, IBM J9, stb ) Bájtkód: Egy olyan bájtsorozat, amely a JVM által végrehajtható utasításokat tartalmaz JIT: Just In Time - Futásidőben fordul le Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 5
Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 6
JRE/JDK JRE Java Runtime Environment Futtatásra használható, fordításra NEM! JDK Java Development Kit Futtatásra és fordításra is használható Oracle oldaláról lehet letölteni Telepítés Környezeti változókban a PATH átállítása (Fontos!) Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 7
Első Java programunk HelloWorld.java public class HelloWorld { public static void main(string[] args) { System.out.println( Hello World! ); } } Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 8
Első Java programunk Az osztály- és a fájlnévnek egyeznie kell! Csak egy darab public láthatóságú osztály lehet egy fájlon belül A main függvényünknek void a visszatérési értéke (c-ben: int main(..) ) Az argumentumok listájában a program neve nincs benne Argumentumlista mérete: args.length Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 9
Fordítás, futtatás Fordítás: javac HelloWorld.java Ebből egy.class fájl készül, amit a JVM futtat Futtatás: java HelloWorld Parancssori paraméterekkel: java HelloWorld arg1 arg2 arg3 Nem tartalmazza a program nevét Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 10
Kommentek Hagyományos kommentek: Egysoros: // komment Többsoros: /*... */ JavaDoc javadoc HelloWorld.java Mindig /**.. */ között Különböző hivatkozások: @author - szerző @version - verzió @param - paraméter @throws - kivételek, amiket dobhat az adott fgv/osztály @return - visszatérési érték @see - hivatkozás más osztályokra Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 11
Feladatok Írj egy programot, ami 100-szor kiír egy tetszőleges szöveget, valamint hogy hányadiknál jár éppen! Írj egy programot, ami kiírja a parancssori argumentumokat, és azok számát! Írj egy programot, ami egy K számot, valamint egy szöveget vár paraméterként! Ezt a szöveget K-szor írja ki! Írj egy programot, ami tetszőleges darabszámú számot kap paraméterként. Írja ki a legkisebb és a legnagyobb számot, valamint a számok átlagát! Az argumentumos feladatoknál (ahol szükséges), figyelj az argumentumok számára! Írj ki egy üzenetet, ha ez nem megfelelő, és lépj ki hibakóddal! Szegedi Tudományegyetem Természettudományi és Informatikai Kar Antal Gábor 12