A Java programozási nyelvSoós Sándor 1/34 Java programozási nyelv A nyelv alapjai Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.

Slides:



Advertisements
Hasonló előadás
C# nyelvi áttekintő A „Programozás C# nyelven (Illés Zoltán)”
Advertisements


Programozás III STRING-XML.
C++ programozási nyelv Gyakorlat hét
Jt Java Feltételek, logikai kifejezések. jt 2 Logikai operátorok Logikai kifejezésekre alkalmazhatók a következő műveletek: 1. nem! 2. és&ill.&& 3. kizáró.
A Java programozási nyelv
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Adatbányászati technikák (VISZM185)
JavaScript.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Turbo Pascal Változók.
A tételek eljuttatása az iskolákba
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Sztringek.
Bevezetés a Java programozásba
Bevezetés a Java programozásba
4. előadás (2005. március 8.) Pointerek Pointer aritmetika
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Követelmények Bevezetés a Javába Első java program írása Dokumentációk
Parancssori argumentumok Primitív típusok Operátorok Vezérlési szerkezetek Tömbök Ürmös Beáta, 2011.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Mutatók, tömbök, függvények
1. IS2PRI2 02/96 B.Könyv SIKER A KÖNYVELÉSHEZ. 2. IS2PRI2 02/96 Mi a B.Könyv KönyvelésMérlegEredményAdóAnalitikaForintDevizaKönyvelésMérlegEredményAdóAnalitikaForintDeviza.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
A Java programozási nyelvSoós Sándor 1/16 Java programozási nyelv 6. rész – Java a gyakorlatban Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
A C++ programozási nyelvSoós Sándor 1/10 C++ programozási nyelv Gyakorlat - 5. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Java programozási nyelv 5. rész – Osztályok III.
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
C# Alapok Krizsán Zoltán.
JSP és JavaBean JavaServer Pages és Java Beans Fabók Zsolt Általános Informatikai Tanszék Miskolci Egyetem.
C# tagfüggvények.
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
A JAVA TECHNOLÓGIA LÉNYEGE Többlépcsős fordítás A JAVA TECHNOLÓGIA LÉNYEGE Platformfüggetlenség.
A Java jellemzői Hordozható, platformfüggetlen forráskód és bájtkód szinten forráskód és bájtkód szinten Tisztán objektumorientált csak osztályok, illetve.
DRAGON BALL GT dbzgtlink féle változat! Illesztett, ráégetett, sárga felirattal! Japan és Angol Navigáláshoz használd a bal oldali léptető elemeket ! Verzio.
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Programozás Az adatokról C# -ban.
A JavaScript bemutatása
szakmérnök hallgatók számára
Összetett adattípusok
Programozási Nyelvek (C++) Gyakorlat Gyak 02.
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Programozási nyelvek Páll Boglárka.
2007. május 22. Debrecen Digitalizálás és elektronikus hozzáférés 1 DEA: a Debreceni Egyetem elektronikus Archívuma Karácsony Gyöngyi DE Egyetemi és Nemzeti.
1. Gyakorlat - Alapok 1. Írjon konzolprogramot, amely kiírja a “Hello ELTE” üzenetet! Használja a System.out.println() -t! 2. Írjon konzolprogramot, amely.
Készítette: Csíki Gyula
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
A klinikai transzfúziós tevékenység Ápolás szakmai ellenőrzése
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
QualcoDuna interkalibráció Talaj- és levegövizsgálati körmérések évi értékelése (2007.) Dr. Biliczkiné Gaál Piroska VITUKI Kht. Minőségbiztosítási és Ellenőrzési.
Komoróczy Tamás 1 Java programozási nyelv Stringek.
Komoróczy Tamás 1 Java programozási nyelv A nyelv alapjai.
Objektum orientált programozás
Objektum orientált programozás
1. Melyik jármű haladhat tovább elsőként az ábrán látható forgalmi helyzetben? a) A "V" jelű villamos. b) Az "M" jelű munkagép. c) Az "R" jelű rendőrségi.
A Visual Basic nyelvi elemei
A KÖVETKEZŐKBEN SZÁMOZOTT KÉRDÉSEKET VAGY KÉPEKET LÁT SZÁMOZOTT KÉPLETEKKEL. ÍRJA A SZÁMOZOTT KÉRDÉSRE ADOTT VÁLASZT, VAGY A SZÁMOZOTT KÉPLET NEVÉT A VÁLASZÍV.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
1Szegedi Tudományegyetem Természettudományi és Informatikai KarAntal Gábor Programozás I. 1. gyakorlat.
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam A Character osztály. String és Stringbuffer osztályok.
Informatikai gyakorlatok 11. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam
Előadás másolata:

A Java programozási nyelvSoós Sándor 1/34 Java programozási nyelv A nyelv alapjai Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet Soós Sándor szeptember

A Java programozási nyelvSoós Sándor 2/34 Java információ források ● ttp://java.lap.hu/ ttp://java.lap.hu/ ● ttp://java.sun.com/ ttp://java.sun.com/ ● ttp://java.sun.com/j2se/1.5.0/docs/api ttp://java.sun.com/j2se/1.5.0/docs/api – Java 2 Platform, Standard Edition, v1.5.0 API Specification – angol nyelvű referencia a Java osztályairól (online) ● ttp://java.sun.com/j2se/1.5.0/download.jsp ttp://java.sun.com/j2se/1.5.0/download.jsp – Download Java 2 Platform Standard Edition 5.0 ● ttp://java.sun.com/docs/books/tutorial/index.html ttp://java.sun.com/docs/books/tutorial/index.html – angol nyelvű Java oktató (on-line) ● ttp://java.sun.com/docs/books/tutorial/download/tutorial.zip ttp://java.sun.com/docs/books/tutorial/download/tutorial.zip – angol nyelvű Java tutorial (letölthető)

A Java programozási nyelvSoós Sándor 3/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 ttp://java.sun.com/j2se/1.5.0/download.jsp címről. ttp://java.sun.com/j2se/1.5.0/download.jsp ● 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 – NetBeans, letölthető a fenti címről – Eclipse, letölthető a ww.eclipse.org címről.ww.eclipse.org – FreeJava, letölthető a ttp://belovai.uw.hu/ címről.ttp://belovai.uw.hu/ ● 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 könyvtárat (.)

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

A Java programozási nyelvSoós Sándor 5/34 A Java család ● JavaScript – HTML-be ágyazott forrásszöveg – korlátozott eszközkészlet – ezzel nem foglalkozunk ebben a tárgyban ● Java Applet – 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 nyelvSoós Sándor 6/34 A Java programozási modell Java alkalmazás Forrásszöveg *.java file Forrásszöveg *.java file javac.exe fordító (compiler) javac.exe fordító (compiler) Bájtkód, bytecode *.class file 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 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 nyelvSoós Sándor 7/34 A Java programozási modell Java kisalkalmazás (Applet) Forrásszöveg *.java file Forrásszöveg *.java file javac.exe fordító (compiler) javac.exe fordító (compiler) Bájtkód, bytecode *.class file Bájtkód, bytecode *.class file Java kompatibilis böngésző program bármilyen eszköz, amire létezik megfelelő böngésző Java kompatibilis böngésző program bármilyen eszköz, amire létezik megfelelő böngésző

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

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

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

A Java programozási nyelvSoós Sándor 11/34 Az első kisalkalmazás HTML ● Forrásszöveg (HelloVilagApplet.html): Hello Világ Applet Ha a böngésző nem támogatja a Java Appleteket, akkor ez a szöveg fog megjelenni! ● Megtekintés: appletviewer HelloVilagApplet.html

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

A Java programozási nyelvSoós Sándor 13/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 nyelvSoós Sándor 14/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 nyelvSoós Sándor 15/34 A Java nyelv alapjai 2. ● Karakterkészlet – ASCII helyett Unicode karakterkészlet – 8 bithelyett16 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 nyelvSoós Sándor 16/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, CiklusVáltozó, stb.

A Java programozási nyelvSoós Sándor 17/34 A Java nyelv alapjai 4. Egyszerű típusok ● 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 NaN (Not a Number) konstans is. egyszerű típusosztályleírás booleanBooleanlogikai típus (true, false) charCharacter16 bites Unicode karakter byteInteger8 bites egész szám ( ) shortInteger16 bit, ( ) intInteger32 bit ( ) longLong64 bit ( ) floatFloat32 bit (-3, E , E+38) doubleDouble64 bit (-1, E ) egyszerű típusosztályleírás booleanBooleanlogikai típus (true, false) charCharacter16 bites Unicode karakter byteInteger8 bites egész szám ( ) shortInteger16 bit, ( ) intInteger32 bit ( ) longLong64 bit ( ) floatFloat32 bit (-3, E , E+38) doubleDouble64 bit (-1, E )

A Java programozási nyelvSoós Sándor 18/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 – 0x kezdetű számok hexadecimális (16-os számrendszer), pl. 0xff – 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, , 12.3e4 ● 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 nyelvSoós Sándor 19/34 Escape szekvenciák ● KódLeírás ● \nújsor ● \ttabulátor ● \begy karakter vissza, törlés ● \r“kocsi” vissza, soremelés nélkül ● \flapdobás ● \\\ karakter ● \'' karakter, aposztróf ● \”“ karakter, idézőjel ● \oookarakter oktális számrendszerben ● \uhhhhUnicode karakter hexadecimálisan (0-0xffff)

A Java programozási nyelvSoós Sándor 20/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ípusKezdőérték boolean false char '\u0000' byte, short, int, long 0 float, double 0.0 objektum null

A Java programozási nyelvSoós Sándor 21/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[] EgeszTomb, 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 IndexOutOfBoundsException kivétel váltódik ki.

A Java programozási nyelvSoós Sándor 22/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 nyelvSoós Sándor 23/34 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 nyelvSoós Sándor 24/34 Az előző program kimenete A folytatáshoz nyomjon meg egy billentyűt...

A Java programozási nyelvSoós Sándor 25/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 nyelvSoós Sándor 26/34 Egyéb operátorok Oper.PéldaLeírás ?:felt ? kif1 : kif2ha felt igaz, akkor kif1, egyébként kif2 []típus[], vált[]deklarál egy tömbváltozót []típus[op1]létrehoz egy op1 elemű tömböt a new-val együtt []op1[op2]indexelés, az op1 tömb op2-1 -dik eleme.op1.op2mezőhivatkozás, op1 objektum, vagy osztály op2 eleme ()op1(params)metódus deklaráció, vagy hívás (type)(type) op1típuskonverzió, op1-et type típusúra konvertálja newnew op1új objektum, vagy tömb létrehozása op1 instanceof op2igaz, ha op1 az op2 egy példánya

A Java programozási nyelvSoós Sándor 27/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: StringBuffer osztály

A Java programozási nyelvSoós Sándor 28/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 s1 = new String(); String s2 = new String("Ez " " sztring!"); – Implicit konstruktor hívással: String s1 = "NYME FMK"; String s2 = s1 + " INF. INT. " ; – Karaktertömbből: char[] karaktertomb = {'S', 'o', 'p', 'r', 'o', 'n'}; String s3 = new String(karaktertomb); // "Sopron" String s4 = new String(karaktertomb, 2, 3); // "pro"

A Java programozási nyelvSoós Sándor 29/34 String osztály - Konverziók ● String.valueOf 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 valueOf nem csinál másolatot, a copyValueOf igen!) – Object esetén: ● ha az objektum null, akkor "null" ● egyébként meghívja az osztály toString 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 s5 = String.valueOf(log) + String.valueOf(ch) + String.valueOf(pi); // s5 = "falseX3.14" ● Implicit konverzió: az egyszerű osztályok toString metódusával. Lásd az előző dia piros számait!

A Java programozási nyelvSoós Sándor 30/34 String osztály A tartalom elérése ● Egy karakter elérése: charAt metódus char ch = s3.charAt(2); // ch = 'p' (s3="Sopron") char ch2 = "Sopron".charAt(0); // ch2 = 'S' ● Két sztring összehasonlítása: equals, equalsIgnoreCase metódus boolean b1 = "alma".equals("ALMA"); // false boolean b2 = "alma".equalsIgnoreCase("ALMA"); // true – Az == a referenciákat hasonlítja össze, nem a tartalmat! ● Két sztring lexikografikus sorrendje: compareTo metódus 0ha a két sztring azonos negatívha az aktuális példány a kisebb pozitívha az aktuális példány a nagyobb int i = "Gyár".compareTo("Győr"); // i = +2 – de az abszolút érték nem definiált (+0, -0)! ● Keresés: indexOf, lastIndexOf, startsWith, endsWith metódus

A Java programozási nyelvSoós Sándor 31/34 String osztály Keresés ● Karakter vagy sztring keresése: indexOf metódus int index1 = "kukuriku".indexOf('u'); // 1 int index2 = "kukuriku".indexOf('u', 2); // 3 // a 2. indexű elemtől indul a keresés int index3 = "kukuriku".indexOf("ku"); // 0 int index4 = "kukuriku".indexOf("ka"); // -1 ● Keresés hátulról: lastIndexOf metódus int index5 = "kukuriku".lastIndexOf("ku"); // 6 ● Így kezdődik-e a sztring: startsWith metódus boolean start = "file.java".startsWith("fi"); // true ● Így végződik-e a sztring: endsWith metódus boolean vege = "file.java".endsWith(".jav"); // false

A Java programozási nyelvSoós Sándor 32/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: toLowerCase, toUpperCase metódus String vegyes = "Kicsi És nAgYbEtŰk Vegyesen"; String kicsi = vegyes.toLowerCase(); String nagy = vegyes.toUpperCase(); ● 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 nyelvSoós Sándor 33/34 StringBuffer osztály ● Változtatható és hosszú sztringek kezelésére szolgál. ● Dinamikusan növekszik a sztring hossza. A StringBuffer nyilvántartja a pillanatnyi méretét (length) és a kapacitását (capacity). ● StringBuffer objektum létrehozása, különböző konstruktorokkal: StringBuffer sb1= new StringBuffer(); // L:0 C:16 StringBuffer sb2= new StringBuffer(10); // L:0 C:10 String s = "Sopron"; StringBuffer sb3= new StringBuffer(s); // L:6 C:22 (6+16) ● A kapacitás növelése: – automatikusan, ha szükséges – ensureCapacity(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 nyelvSoós Sándor 34/34 StringBuffer osztály Append, Insert ● append(s): a string végére fűzi s-et sztring formában. ● insert(poz, s): a poz 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.