Jelenlegi hely

Utolsó változások

9. Számok

A következő ábra bemutatja a Java platformon rendelkezésre álló szám osztályok hierarchiáját.

Number osztályok

Ezen kívül a platform tartalmazza a Boolean, Void és Character osztályokat, amelyek a szám osztályokkal együtt csomagoló (vagy burkoló) osztályoknak hívunk.
Talán meglepő, hogy miért nélkülözhetetlenek a csomagoló osztályok, de ezt majd látni fogjuk a későbbiekben.

8.4. Ellenőrző kérdések

  • Mi a karakter?
  • Hányféle jelet képes tárolni a Java char típusa?
  • Hogy hívják a Java által támogatott karaktertípust?
  • Mi a karaktersorozat (sztring?)
  • Mit jelent, hogy a String nem megváltoztatható?
  • Hogyan lehet egy String-nek kezdőértéket adni?
  • Mire való a String indexOf metódusa?
  • Mire való String substring metódusa?
  • Mi a különbség a StringBuilder, a StringBuffer és a String között?

Melyik kifejezés értéke lesz logikailag igaz?

  • "john" == "john"

8.3. Sztringek darabolása

A java.util.StringTokenizer osztály hasznos lehet, ha egy String-et adott elválasztó karakter(ek) mentén szét kell bontani. A következő egyszerű példa bemutatja a használat módját:

StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens()) {
    System.out.println(st.nextToken());
}

A kód a következő eredményt írja ki:

8.2.8. A String-ek és a fordító

A fordító felhasználja a String és a StringBuffer osztályokat a háttérben, hogy a String-literálokat és különböző összefűzéseket kezelje. A String-et idézőjelek között adhatjuk meg:

"Hello World!"

String-literálokat bárhol használhatunk String példányként. Példaként, a System.out.println paraméterének String-literált adunk meg:

System.out.println("Might I add that you look lovely today.");

Használhatunk String metódust közvetlenül a String-literálból hívva:

int len = "Goodbye Cruel World".length();

8.2.7. A StringBuffer-ek módosítása

A StringBuffer-ek tartalma módosítható. A következő lista összefoglalja a StringBuffer-ek módosításához használható metódusokat. Azonos metódusokat tartalmaz a StringBuilder osztály is, de StringBuilder-eket is ad vissza, ezért ezeket külön nem soroljuk fel.

8.2.6. Sztringek módosítása

A String osztály sokféle metódust tartalmaz a String-ek módosításához. Természetesen a String objektumokat nem tudja módosítani, ezek a metódusok egy másik String-et hoznak létre, ez tartalmazza a változtatásokat. Ezt követhetjük az alábbi listában.

8.2.5. Sztringek és rész-sztringek összehasonlítása

A String osztálynak van néhány függvénye a sztringek és a rész-sztringek összehasonlítására. Az alábbi lista ezeket a függvényeket mutatja be:

boolean endsWith(String), boolean startsWith(String), boolean startsWith(String, int) Visszatérési értéke igaz, ha a String a paraméterben megadott szóval kezdődik, vagy végződik. Az int paraméterben az eltolási értéket adhatjuk meg, hogy az eredeti String-ben hanyadik indextől kezdődjön a keresés.

8.2.4. Karakter vagy String keresése Stringben

A String osztály két függvényt nyújt, amelyek pozícióval térnek vissza: indexOf és a lastIndexOf. A következő lista e két függvény alakjait mutatja be:

8.2.3. Stringek karaktereinek olvasása

A megfelelő indexű karaktert megkapjuk a String-en, StringBuffer-en vagy a StringBuilder-en belül, ha meghívjuk a charAt függvényt. Az első karakter indexe 0, az utolsó karakteré pedig a length()-1.

Például az alábbi forráskódban a 9. indexű karaktert kapjuk meg a String-ben:

8.2.2. A Stringek hossza

Azon metódusokat, amelyeket arra használunk, hogy információt szerezzünk egy objektumról, olvasó (vagy hozzáférő) metódusoknak nevezzük. Egy ilyen String-eknél, StringBuffer-eknék és StringBuilder-eknél használható metódus a length, amely visszaadja az objektumban tárolt karakterek számát. Miután az alábbi két sor végrehajtódik, a len változó értéke 17 lesz:

Oldalak