Java programozsi nyelv A nyelv alapjai NyugatMagyarorszgi Egyetem






















![Példa többdimenziós tömbre public class tomb { public static void main(String[] args) { int[][] Példa többdimenziós tömbre public class tomb { public static void main(String[] args) { int[][]](https://slidetodoc.com/presentation_image_h/214211693ca99cab69169d1d703b3660/image-23.jpg)











- Slides: 34

Java programozási nyelv A nyelv alapjai 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/34

Java információ források ● ● ● 03/03/2021 ttp: //java. lap. hu/ 03/03/2021 ttp: //java. sun. com/j 2 se/1. 5. 0/docs/api – – ● 03/03/2021 ttp: //java. sun. com/j 2 se/1. 5. 0/download. jsp – ● Download Java 2 Platform Standard Edition 5. 0 03/03/2021 ttp: //java. sun. com/docs/books/tutorial/index. html – ● Java 2 Platform, Standard Edition, v 1. 5. 0 API Specification angol nyelvű referencia a Java osztályairól (online) angol nyelvű Java oktató (on-line) 03/03/2021 ttp: //java. sun. com/docs/books/tutorial/download/t utorial. zip – angol nyelvű Java tutorial (letölthető) A Java programozási nyelv Soós Sándor 2/34

A Java rendszer telepítése Mire van szükség a Java-ban történő programozáshoz? – Java 2 Platform, Standard Edition ● Ingyenesen letölthető a 03/03/2021 ttp: //java. sun. com/j 2 se/1. 5. 0/download. jsp címről. ● Az JDK-t kell letölteni, nem a JRE (runtime) változatot! – Tetszőleges editor (szövegszerkesztő), ami képes formázás nélküli tiszta szövegfile-okat kezelni. ● Alternatív lehetőség: integrált fejlesztő környezetek – Net. Beans, letölthető a fenti címről – Eclipse, letölthető a 03/03/2021 ww. eclipse. org címről. – Free. Java, letölthető a 03/03/2021 ttp: //belovai. uw. hu/ címről. ● CLASSPATH környezeti változó beállítása – Az itt felsorolt könyvtárakban keresi a fordító az osztályokat. – Érdemes beletenni az aktuális A Java programozási nyelv Soós Sándorkönyvtárat (. ) 3/34 ●

A Java jellemzői ● Hordozható, platformfüggetlen – ● Tisztán objektumorientált – ● ● forráskód és bájtkód szinten csak osztályok, illetve objektumok léteznek Szabványos osztálykönyvtár Szintaktikája a C++ -on alapszik. A Java programozási nyelv Soós Sándor 4/34

A Java család ● Java. Script – – – ● Java Applet – – ● HTML-be ágyazott forrásszöveg korlátozott eszközkészlet ezzel nem foglalkozunk ebben a tárgyban Böngészőben futó bináris program, felhasználhatja a böngésző program által nyújtott szolgáltatásokat HTML file-ból indított bájtkód Java Alkalmazás – önállóan fut a Java Virtuális Gép alatt A Java programozási nyelv Soós Sándor 5/34

A Java programozási modell Java alkalmazás Forrásszöveg *. java file javac. exe fordító (compiler) Bájtkód, bytecode *. class file Java Virtuális Gép – Java Virtual Machine (JVM) Windows, Linux, Unix, mobiltelefon, stb. bármilyen eszköz, amire létezik Java Virtuális Gép A Java programozási nyelv Soós Sándor 6/34

A Java programozási modell Java kisalkalmazás (Applet) Forrásszöveg *. java file javac. exe fordító (compiler) Bájtkód, bytecode *. class file Java kompatibilis böngésző program bármilyen eszköz, amire létezik megfelelő böngésző A Java programozási nyelv Soós Sándor 7/34

A Java programozási modell Java. Script Forrásszöveg *. html fileba ágyazva Java. Script kompatibilis böngésző program bármilyen eszköz, amire létezik megfelelő böngésző A Java programozási nyelv Soós Sándor 8/34

Az első alkalmazás ● Forrásszöveg (Hello. Vilag. java): public class Hello. Vilag { public static void main(String[] args) { System. out. println("Hello Világ"); } } ● Fordítás: javac Hello. Vilag. java ● Futtatás: java Hello. Vilag A Java programozási nyelv Soós Sándor 9/34

Az első kisalkalmazás, applet ● Forrásszöveg (Hello. Vilag. Applet. java): import java. awt. *; import java. applet. Applet; public class Hello. Vilag. Applet extends Applet { public void paint(Graphics g){ g. draw. Rect(25, 2, 90, 25); g. draw. String("Hello Világ", 50, 20); } } ● Fordítás: javac Hello. Vilag. Applet. java A Java programozási nyelv Soós Sándor 10/34

Az első kisalkalmazás HTML ● Forrásszöveg (Hello. Vilag. Applet. html): <HTML> <HEAD><TITLE>Hello Világ Applet</TITLE></HEAD> <BODY> <APPLET CODE=”Hello. Vilag. Applet. class” WIDTH=200 HEIGHT=50> Ha a böngésző nem támogatja a Java Appleteket, akkor ez a szöveg fog megjelenni! </APPLET> </BODY></HTML> ● Megtekintés: appletviewer Hello. Vilag. Applet. html A Java programozási nyelv Soós Sándor 11/34

Az első grafikus alkalmazás ● Forrásszöveg (Hello. Vilag 2. java): import javax. swing. JOption. Pane; public class Hello. Vilag 2 { public static void main( String args[] ) { JOption. Pane. show. Message. Dialog( null, "Hello Világ!" ); } } System. exit( 0 ); A Java programozási nyelv Soós Sándor 12/34

A 2. grafikus alkalmazás, adatbevitel ● Forrásszöveg (Addition. java): Nézzük meg az Addition. java fájlt! A Java programozási nyelv Soós Sándor 13/34

A Java nyelv alapjai 1. ● Megjegyzés (comment) – egysoros megjegyzés: // – jeltől a sor végéig hosszabb megjegyzés: /*. . . */ – dokumentációs megjegyzés (a javadoc program használja): /**. . . */ A Java programozási nyelv Soós Sándor 14/34

A Java nyelv alapjai 2. ● Karakterkészlet – – ASCII helyett Unicode karakterkészlet 8 bit helyett 16 bit minden Unicode karakter használható a teljes forrásszövegben, akár az azonosítókban is, ha a környezet támogatja óvatosan használni!!! A Java programozási nyelv Soós Sándor 15/34

A Java nyelv alapjai 3. ● Azonosítók – – – Betűvel kezdődik – betűvel vagy számmal folytatódik Betűnek számít a $ és az _ jel valamint az ékezetes magánhangzók is. Case-sensitive, azaz különböznek a kis- és nagybetűk Az azonosítók hossza nincs korlátozva A nyelv kulcsszavai nem lehetnek azonosítók Példák: ● egészszám, _változó, $dollár, Ciklus. Változó, stb. A Java programozási nyelv Soós Sándor 16/34

A Java nyelv alapjai 4. Egyszerű típusok egyszerű típus boolean char byte short int long float double ● ● osztály leírás Boolean logikai típus (true, false) Character 16 bites Unicode karakter Integer 8 bites egész szám (-128 - +127) Integer 16 bit, (-32 768 - +32 767) Integer 32 bit (-2 147 483 648 - +2 147 483 647) Long 64 bit (-9 223 372 036 854 775 808 - +. . . ) Float 32 bit (-3, 40292347 E+38 - +3, 40292347 E+38) Double 64 bit (-1, 79769313486231570 E+308 - +. . . ) a szabvány rögzíti az ábrázolási módot és a méretet, nem az implementáció hagyományos típusként és osztályként is használhatók osztályként a MIN_VALUE és a MAX_VALUE konstansok definiálják a határokat a Float és Double esetén van egy POSITIVE_INFINITY, NEGATIVE_INFINITY és egy Na. N (Not a Number) konstans is. A Java programozási nyelv Soós Sándor 17/34

A Java nyelv alapjai 5. Literálok ● ● ● Objektumok: null. Bármely objektumreferenciának értékül adható Logikai értékek: true, false Egész számok: – 0 kezdetű számok oktális (8 -as számrendszer), pl. 0377 – 0 x kezdetű számok hexadecimális (16 -os számrendszer), pl. 0 xff – minden más szám decimális számrendszerben lesz értelmezve, pl. 255 – egy egész szám után írt l vagy L betű long típust deklarál Lebegőpontos számok: – decimális számként adhatók meg tizedesponttal és e vagy E exponenssel – ez önmagában double típust jelent, f vagy F végződéssel lehet float típust deklarálni, pl. 3. 14, -123. 45, 12. 3 e 4 Karakterek: aposztrófok között kell megadni, pl. 'a', 'Z' – escape szekvenciák, mint a C nyelvben, lásd a következő oldalon! Szövegek (String): idézőjelek között kell megadni, pl. “Helló Világ” A Java programozási nyelv Soós Sándor 18/34

Escape szekvenciák ● ● ● Kód Leírás n újsor t tabulátor b egy karakter vissza, törlés r “kocsi” vissza, soremelés nélkül f lapdobás \ karakter ' ' karakter, aposztróf ” “ karakter, idézőjel ooo karakter oktális számrendszerben 0 -377 uhhhh Unicode karakter hexadecimálisan (0 -0 xffff) A Java programozási nyelv Soós Sándor 19/34

Változódeklaráció, kezdőértékadás ● ● Mint a C/C++ nyelvben, pl. int x, y; Kezdőérték adható az = operátorral, pl. int x=1; A lokális változók nem kapnak automatikusan kezdőértéket! Az osztályok adatmezői a következő kezdőértéket kapják: Típus Kezdőérték boolean false char 'u 0000' byte, short, int, long 0 float, double 0. 0 objektum null A Java programozási nyelv Soós Sándor 20/34

Tömbök ● ● ● A C/C++ nyelvvel ellentétben ez igazi típus, nem pointer A tömbök indexelése 0 -val kezdődik Tömb deklarációja a [] jellel történik a típus vagy a változó neve után: int[] Egesz. Tomb, tomb; // mindkettő tömb int egeszszam, tomb[]; // skalár és tömb – ez egy tetszőleges méretű tömböt deklarál, amit a new operátorral fogunk létrehozni: tomb = new int[20]; A tömb ismeri a saját méretét, amit a length mezővel le is lehet kérdezni. System. out. println(tomb. length); Indexeléskor a tömb ellenőrzi az indexet, hiba esetén Index. Out. Of. Bounds. Exception kivétel váltódik ki. A Java programozási nyelv Soós Sándor 21/34

Többdimenziós tömbök ● Nincsen többdimenziós tömb, de egy tömbnek lehetnek tömb elemei, akár különböző méretűek is. Például: int[][] tomb = new int[3][]; // 3 tömbből álló tömb for (int i = 0; i < tomb. length; i++) { tomb[i] = new int[i+1]; for (int j=0; j < tomb[i]. length; j++) tomb[i][j] = 0; } A Java programozási nyelv Soós Sándor 22/34
![Példa többdimenziós tömbre public class tomb public static void mainString args int Példa többdimenziós tömbre public class tomb { public static void main(String[] args) { int[][]](https://slidetodoc.com/presentation_image_h/214211693ca99cab69169d1d703b3660/image-23.jpg)
Példa többdimenziós tömbre public class tomb { public static void main(String[] args) { int[][] tomb = new int[10][]; // 10 tömbből álló tömb int szamlalo = 9; for (int i = 0; i < tomb. length; i++) { tomb[i] = new int[i+1]; for (int j = 0; j < tomb[i]. length; j++) tomb[i][j] = ++szamlalo; } for (int i = 0; i < tomb. length; i++) { for (int j = 0; j < tomb[i]. length; j++) System. out. print( tomb[i][j] + " " ); } } System. out. println( ); } A Java programozási nyelv Soós Sándor 23/34

Az előző program kimenete 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 31 32 33 34 35 38 39 40 41 42 46 47 48 49 50 55 56 57 58 59 A folytatáshoz A Java programozási nyelv 30 36 37 43 44 45 51 52 53 54 60 61 62 63 64 nyomjon meg egy billentyűt. . . Soós Sándor 24/34

Operátorok ● ● ● +, -, *, /, % +, -, *, /, maradék ++, -- prefix és postfix formában +, előjel >, >=, <, <=, ==, != relációs operátorok &&, || logikai ÉS, VAGY, a második operandust csak szükség esetén értékeli ki &, |logikai ÉS, VAGY, mindkét operandust mindig kiértékeli ! logikai NEM ^ logikai kizáró VAGY, (XOR) <<, >> bitenkénti léptetés balra, jobbra (előjelbittel) >>> bitenkénti léptetés jobbra (0 lép be) &, |, ^, ! bitenkénti ÉS, VAGY, Kizáró VAGY, NEM =, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>>= A Java programozási nyelv Soós Sándor 25/34

Egyéb operátorok Oper. Példa Leírás ? : felt ? kif 1 : kif 2 ha felt igaz, akkor kif 1, egyébként kif 2 [] típus[], vált[] deklarál egy tömbváltozót [] típus[op 1] létrehoz egy op 1 elemű tömböt a new-val együtt [] op 1[op 2] indexelés, az op 1 tömb op 2 -1 -dik eleme. op 1. op 2 mezőhivatkozás, op 1 objektum, vagy osztály op 2 eleme () op 1(params) metódus deklaráció, vagy hívás (type) op 1 típuskonverzió, op 1 -et type típusúra konvertálja new op 1 új objektum, vagy tömb létrehozása op 1 instanceof op 2 igaz, ha op 1 az op 2 egy példánya A Java programozási nyelv Soós Sándor 26/34

Sztringek kezelése ● C nyelv – – – ● nincsen igazi sztring típus char*-gal valósítjuk meg Veszélyes! Java nyelv – – – nyelvi szinten valósítja meg a sztringek kezelését konstans sztringek kezelése: String osztály változó sztringek kezelése: String. Buffer osztály A Java programozási nyelv Soós Sándor 27/34

String osztály ● ● Konstans sztringek kezelésére szolgál. Egyszeri értékadás után nem lehet módosítani. String objektum létrehozása, különböző konstruktorokkal: – Explicit konstruktor hívással: String s 1 = new String(); String s 2 = new String("Ez " + 1 + " sztring!"); – Implicit konstruktor hívással: String s 1 = "NYME FMK"; String s 2 = s 1 + " INF. INT. " + 2004; – Karaktertömbből: char[] karaktertomb = {'S', 'o', 'p', 'r', 'o', 'n'}; String s 3 = new String(karaktertomb); // "Sopron" String s 4 = new String(karaktertomb, 2, 3); // "pro" A Java programozási nyelv Soós Sándor 28/34

String osztály - Konverziók ● String. value. Of metódus: – boolean, char, double, float, int, long típusoknál értelemszerűen – char[] esetén uaz. mint az előző dián a konstruktoroknál. (DE! A value. Of nem csinál másolatot, a copy. Value. Of igen!) – Object esetén: ● ha az objektum null, akkor "null" ● egyébként meghívja az osztály to. String metódusát, minden osztály maga definiálhatja ezt a metódust – Például: boolean log = false; char ch = 'X'; double pi = 3. 14; String s 5 = String. value. Of(log) + String. value. Of(ch) + String. value. Of(pi); // s 5 = "false. X 3. 14" ● Implicit konverzió: az egyszerű osztályok to. String metódusával. Lásd az előző dia piros számait! A Java programozási nyelv Soós Sándor 29/34

String osztály A tartalom elérése ● Egy karakter elérése: char. At metódus char ch = s 3. char. At(2); // ch = 'p' (s 3="Sopron") char ch 2 = "Sopron". char. At(0); // ch 2 = 'S' ● Két sztring összehasonlítása: equals, equals. Ignore. Case metódus boolean b 1 = "alma". equals("ALMA"); boolean b 2 = "alma". equals. Ignore. Case("ALMA"); // false // true Az == a referenciákat hasonlítja össze, nem a tartalmat! Két sztring lexikografikus sorrendje: compare. To metódus 0 ha a két sztring azonos negatív ha az aktuális példány a kisebb pozitív ha az aktuális példány a nagyobb – ● int i = "Gyár". compare. To("Győr"); // i = +2 de az abszolút érték nem definiált (+0, -0)! Keresés: index. Of, last. Index. Of, starts. With, ends. With metódus – ● A Java programozási nyelv Soós Sándor 30/34

String osztály Keresés ● Karakter vagy sztring keresése: index. Of metódus int index 1 = int index 2 = // a 2. int index 3 = int index 4 = ● "kukuriku". index. Of('u'); "kukuriku". index. Of('u', 2); indexű elemtől indul a keresés "kukuriku". index. Of("ku"); "kukuriku". index. Of("ka"); Keresés hátulról: last. Index. Of metódus int index 5 = "kukuriku". last. Index. Of("ku"); ● // 1 // 3 // 0 // -1 // 6 Így kezdődik-e a sztring: starts. With metódus boolean start = "file. java". starts. With("fi"); // true ● Így végződik-e a sztring: ends. With metódus boolean vege = "file. java". ends. With(". jav"); A Java programozási nyelv Soós Sándor // false 31/34

String osztály Egyéb műveletek ● A sztring hossza: length metódus int len = "Sopron". length(); ● // len = 6 Kis-, nagybetű váltás: to. Lower. Case, to. Upper. Case metódus String vegyes = "Kicsi És n. Ag. Yb. EtŰk Vegyesen"; String kicsi = vegyes. to. Lower. Case(); String nagy = vegyes. to. Upper. Case(); ● ● Betűcsere: replace metódus Részsztring: substring metódus (tól, ig, az ig. karakter már nem lesz benne) String kacsa = kicsi. substring(0, 5). replace('i', 'a'); ● Vezető és záró white space-ek eltávolítása: trim metódus String s = " abcd "; String lenyeg = s. trim(); // lenyeg = "abcd" ● A kiinduló sztring ezekkel a metódusokkal sem változik meg! A Java programozási nyelv Soós Sándor 32/34

String. Buffer osztály ● ● ● Változtatható és hosszú sztringek kezelésére szolgál. Dinamikusan növekszik a sztring hossza. A String. Buffer nyilvántartja a pillanatnyi méretét (length) és a kapacitását (capacity). String. Buffer objektum létrehozása, különböző konstruktorokkal: String. Buffer sb 1= new String. Buffer(); // L: 0 String. Buffer sb 2= new String. Buffer(10); // L: 0 String s = "Sopron"; String. Buffer sb 3= new String. Buffer(s); // L: 6 ● C: 16 C: 10 C: 22 (6+16) A kapacitás növelése: – automatikusan, ha szükséges – ensure. Capacity(uj) ● ha uj < capacity(), akkor nem változik semmi ● egyébként az új kapacitás a következők közül a nagyobb: – uj – 2 * capacity() + 2 A Java programozási nyelv Soós Sándor 33/34

String. Buffer osztály Append, Insert ● ● ● append(s): a string végére fűzi s-et sztring formában. insert(poz, s): a pozíciótól kezdve fűzi be s-et. s lehetséges típusai és a konverzió módja megegyezik a String osztálynál látottakkal. A Java programozási nyelv Soós Sándor 34/34
Java programozási nyelv
Gonda tibor turisztikai termékfejlesztés alapjai
Táblázatkezelés alapjai
Könyvelés alapjai
Párkeltés
Esztergálás alapjai
Repülés fizikai alapjai
Co2 hegesztés alapjai
Kraljic mátrix
Bérszámfejtés alapjai
Rendezvényszervezés alapjai
Behajtási költségátalány számlázása
Konjunktív sorszámos alak
Cnc program felépítése
Kontírozás
Cnc programozás
Webprogramozás alapjai
Az immunológia alapjai pdf
Ekg alapjai
Tömegspektrometria alapjai
Informatikai biztonság alapjai
Kraljic mátrix
Dresszírozás
Slidetodoc
Gyökér irén menedzsment alapjai
Völgy angolul
Semmelweis egyetem konzerváló fogászati klinika budapest
Károli gáspár református egyetem tanulmányi osztály
Virt pannon
Semmelweis egyetem bérosztály
Nemzeti kozszolgalati egyetem
Debreceni egyetem karok
Debreceni egyetem informatikai kar
Obudai egyetem neptun
Semmelweis egyetem szemészeti klinika budapest