2019. május 29., szerda

Karakterek java nyelven

Karaktereket definiálhatunk egyszerűen a char típus segítségével, ( pl. char a='a';) de létrehozhatunk karakter objektumokat is.

 A Character osztály

Az egyéb típusoknál ismertetett char típus helyett, van amikor szükségünk van arra, hogy a karaktert objektumként használjuk. pl. Amikor egy karakter értéket akarunk átadni egy metódusnak, ami megváltoztatja ezt az értéket. A Character típusú objektum egyetlen karakter értéket tartalmaz.

Készítsünk egy karakter objektumot! pl. Character a = new Character('a');

A Character osztály fontosabb konstruktorai, metódusai

Character(char) A Character osztály egyetlen konstruktora, amely létrehoz egy Character objektumot.
compareTo(Character) Összehasonlít két Character objektumban tárolt értéket. Visszaad egy egész számot, ami jelzi, hogy az objektum értéke kisebb, egyenlő, vagy nagyobb mint a paraméterben megadott érték.
equals(Object) Két karakter objektumot hasonlít össze, true értékkel tér vissza, ha a két érték egyenlő. 
toString() Sztringé konvertálja az objektumot. A sztring 1 karakter hosszú lesz.
charValue() Megadja az objektum értékét egyszerű char értékként.
boolean isUpperCase(char) Meghatározza, hogy az egyszerű char érték nagybetű-e.
boolean isLowerCase(char) Meghatározza, hogy az egyszerű char érték kisbetű-e.
boolean isLetter(char) Meghatározza, hogy az egyszerű char érték ékezetes betű-e.
boolean isDigit(char) Meghatározza, hogy az egyszerű char érték számjegy-e.
boolean isSpaceChar(char) Meghatározza, hogy az egyszerű char érték szóköz-e.
A következő program bemutatja a fenti táblázatban ismertetett metódusok használatát:

A Java nyelvben három osztály áll rendelkezésünkre, amelyekkel tárolhatunk, illetve manipulálhatunk sztringeket, ezek a String, a StringBuffer és a StringBuilder. A StringBuilder osztállyal nem foglalkozunk. A String osztályban olyan sztringeket tárolunk, amelyek értéke nem fog változni. A StringBuffer osztályt akkor alkalmazzuk, ha a szövegen szeretnénk módosítani.
A String osztály
   String objektumok létrehozása
A String objektumok létrehozása kétféle módon történhet:

        · Készíthetjük a sztringet egy sztring konstansból, egy karaktersorozatból.
            pl. String str1 = "Ez egy szöveg";

        · Vagy mint minden más objektumot a new operátorral hozhatjuk létre.
            pl. String str2 = new String ("Ez is egy szöveg");

A karakterlánc indexelése:

Figyeljük meg a következő ábrát!

0 1 2 3 4 5 6
S z ö v e g ?
Az ábrán egy "Szöveg?" objektum látható, amely egy 7 karakter hosszú szöveg (String). Az első betű az S indexe 0, a v betű indexe 3, a ? karakteré pedig a 6.

Figyeljünk arra, hogy az indexelés nullával kezdődik!

 A String osztály fontosabb konstruktorai, metódusai:

String() A létrehozott objektum az üres karakterláncot reprezentálja.
String(String value) A létrehozott objektum a paraméterben megadott szöveget tartalmazza.
int length() Visszaadja a szöveg hosszát.
char charAt(int index) Visszaadja az index indexű karaktert.
String toLowerCase() Visszaad egy objektumot, amely az objektum szövegének csupa kisbetűs változata.
String toUpperCase() Visszaad egy objektumot, amely az objektum szövegének csupa nagybetűs változata.
String toString() Visszaadja saját maga másolatát.
String replace(char oldChar,char newChar) A metósus visszad egy karakterlánc-objektumot, amelyben minden oldChar karaktert newChar-ra cserél.
String substring(int beginIndex) Visszaadja az objektum részláncát beginIndex-től a végéig.
String substring(int beginIndex,endIndex) Visszaadja az objektum részláncát beginIndex-től endIndex-1-ig.
boolean equals(Object anObject) Összehasonlítja az objektumot a paraméterként megadott másik objektummal.
boolean equalsIgnoreCase(String str) Összehasonlítja az objektumot a paraméterül megadott másik String objektummal. A kis- és nagybetű között nem tesz különbséget.
int compareTo (String str) Összehasonlítja az objektumot a paraméterül megkapott másik String objektummal. A visszaadott érték 0. ha a két objektum megegyezik. Ha a szöveg nagyobb mint a paraméter, akkor pozitív, ellenkező esetben negatív.
String concat (String str) Összefűzi a paraméterül megadott sztringet az objektummal.
(A + operátorral is el lehet végezni ezt a műveletet.)

.   A StringBuffer osztály

A String osztállyal ellentétben a StringBuffer osztály szövege manipulálható.

A StringBuffer osztály fontosabb konstruktorai, metódusai:

StringBuffer() A létrehozott objektum az üres karakterláncot reprezentálja.
StringBuffer(int length) A létrehozott objektum az üres karakterláncot reprezentálja, kezdeti kapacitása length karakter.
StringBuffer(String str) A létrehozott objektum a paraméterben megadott szöveget tartalmazza.
int capacity() Megadja a kezdeti kapacitást, ennyi karakter fér az objektumba.
int length() Megadja a szöveg aktuális hosszát.
char charAt(int index) Visszaadja az index indexű karaktert.
StringBuffer append(<Type> value) Bővítés, a Type itt egy osztályt reprezentál.
StringBuffer append(<type> value) Bővítés, a type itt egy tetszőleges primitív típus.
StringBuffer insert( in offszet, <Type> value) Beszúrás offszet pozíciótól kezdve.
StringBuffer insert( in offszet, <type> value)
StringBuffer deleteCharAt(int index) Adott indexű karakter törlése a szövegből.
StringBuffer delete(int start, int end) Részlánc törlése a szövegből, start indextől end index-1-ig.
StringBuffer replace(int start, int end, String str) A start és end-1 közötti részlánc cseréje str-rel.
StringBuffer reverse() Megfordítja az objektum szövegét.
String substring (int start, int end)

Visszaad egy start és end-1 index közötti részláncú új String objektumot.
String substring (int start) Visszaad egy start indexel kezdődő részláncú új String objektumot.

 Sztringekkel végezhető műveletek

Szöveg hosszának meghatározása, adott karakterek megjelenítése:

int length()    >>    Szöveg hossza.

Példa:
String str="Laci";
int hossz=str.length();    >>    4


char charAt(int index)    >>     Adott indexű karakter.

Példa:
String str="Laci";
char c=str.charAt(0);    >>    L

Manipulálás a szöveggel:

String toLowerCase()    >>    Kisbetűs átalakítás.

Példa:
String str="KICSI";
String kstr=str.toLowerCase();    >>    kicsi

String toUpperCase()    >>    Nagybetűs átalakítás.

Példa:
String str="nagy";
String nstr=str.toUpperCase();    >>    NAGY

String replace(char oldChar,char newChar)    >>    Karakterek kicserélése.

Példa:
String str1="Remek eme Mekk Mester";
String str2=str1.replace(e, a);    >>    Ramak ama Makk Mastar


String substring(int beginIndex)                >>    Részsztring készítés.
String substring(int beginIndex, int endIndex)


Példa:
String str1="Pálinka";
String str2=str1.substring(3);    >>    inka
String str3=str1.substring(0,3);  >>    Pál
 

 Összehasonlítás (egyenlőségvizsgálat):


boolean equals(Object anObject)   >>    Objektumok összehasonlítása.
int compareTo(String str)

Példa:
String str1="Laci";
String str2="Gizi";
str1.equals(str2);    >>    false
str1.compareTo(str2)  >>    5


Figyelem! Az = = operátor nem az egyenlőséget, hanem az azonosságot vizsgálja!

  Keresés:

int indexOf(int ch)   >>    Karakter keresés..
int indexOf(int ch, int fromIndex)

int indexOf(String str)    >>    részsztring keresés
int indexOf(String str, int fromIndex)

Példa:
String str1="Laci";
char c = 'a';
String str2="ci";
str1.indexOf(a);    >>    1
str1.indexOf(str2;0)  >>    2

  Konkatenáció (összefűzés):

String concat(String str)   >>    Hozzáfűzés.

Példa:
String str1="La";
String str2="ci";
str1.concat(str2);    >>    Laci

 Bővítés:

StringBuffer append(<Type|type> value)   >>    Bővítés a végén.

Példa:
StringBuffer szoveg = new StringBuffer("érték");
szoveg.append("12.3");    >>    érték12.3

StringBuffer insert(int offset,<Type|type> value)   >>   Bővítés adott pozíciótól.

Példa:
szoveg.insert(5, "=");    >>    érték=12.3


  Törlés:

StringBuffer deleteCharAt(int index)   >>   Adott indexű karakter törlése.
StringBuffer delete(int start, int end)    >>    Részlánc törlése.

Példa:
StringBuffer szoveg = new StringBuffer("Labdarugás");
szoveg.delete(5,10);    >>    Labda
szoveg.deleteCharAt(0)    >>    abda





Nincsenek megjegyzések:

Megjegyzés küldése