Java karakterlánc-manipuláció: Funkciók és módszerek a PÉLDA segítségével

Tartalomjegyzék:

Anonim

Mik azok a húrok?

A karakterlánc szó szerint karaktersorozat. Hé, mondtál karaktereket, nem egy primitív adattípus a Java-ban. Igen, szóval technikai értelemben az alapvető Java karakterlánc alapvetően karaktertömb.

Tehát a fenti " ROSE " karakterláncom a következőképpen ábrázolható:

Ebben az oktatóanyagban megtanulja-

  • Mik azok a húrok?
  • Miért érdemes használni a húrokat?
  • Karakterlánc-szintaxis példák
  • Vonós összefűzés
  • Fontos Java karakterlánc-módszerek

Miért érdemes használni a húrokat?

A modern informatika egyik elsődleges funkciója az emberi nyelv feldolgozása.

A számok matematikához hasonlóan a nyelvi szimbólumok is fontosak a jelentés és a döntéshozatal szempontjából. Lehet, hogy a számítógép-felhasználók számára nem látható, a számítógépek ugyanolyan pontosan és pontosan dolgozzák fel a nyelvet a háttérben, mint egy számológép. A súgó párbeszédpanelek útmutatást nyújtanak. A menük választási lehetőséget nyújtanak. Az adatkijelzők pedig állapotokat, hibákat és a nyelv valós idejű változását mutatják.

Java programozóként a nyelv tárolásának és feldolgozásának egyik fő eszköze a String osztály lesz.

Karakterlánc-szintaxis példák

Most térjünk rá valamilyen szintaxisra, elvégre ezt Java-kódba kell írnunk.

A karakterlánc karakterek tömbje, amely a következőképpen jelenik meg:

//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);

Technikai értelemben a karakterláncot a fenti példa a következőképpen határozza meg:

= new (argument);

Most nem mindig írhatjuk húrjainkat tömbökké; ennélfogva a Java karakterláncát a következőképpen definiálhatjuk:

//Representation of StringString strSample_2 = "ROSE";

Műszaki szempontból a fentiek a következők:

= ;

A String Class Java kiterjeszti az Object osztályt.

Húrok összefűzése:

Az összefűzés két vagy több húr összekapcsolása.

Vessen egy pillantást az alábbi képre-

Két húrunk van str1 = “Rock” és str2 = “Star”

Ha összeadjuk ezt a két karakterláncot, akkor eredménye str3 = “RockStar” lesz.

Ellenőrizze az alábbi kódrészletet, és elmagyarázza a karaktersorozat összefűzésének két módszerét.

Az első a String osztály „ concat ” módszerét használja, a második pedig a „+” operátor számtani használatát. Mindkettő ugyanazt a kimenetet eredményezi

nyilvános osztály Sample_String {public static void main (String [] érvel) {// Vonós összefűzésStr1 str1 = "Szikla";Str2 str2 = "Csillag";// 1. módszer: concat használataStr3 str3 = str1.concat (str2);System.out.println (str3);// 2. módszer: A "+" operátor használataStr4 str4 = str1 + str2;System.out.println (str4);}}

Fontos Java karakterlánc-módszerek:

Tegyünk fel néhány kérdést a Java String osztálynak, és hátha tud választ adni rájuk;)

Karakterlánc "Hosszúság" módszer

Hogyan fogja meghatározni az adott karakterlánc hosszát? Megadtam egy „hosszúságnak” nevezett módszert. Használja azt a karakterláncot, amelyhez meg kell találnia a hosszúságot.

nyilvános osztály Sample_String {public static void main (String [] args) {// A sztringünk ehhez az oktatóanyaghozString str_Sample = "RockStar";// Karakterlánc hosszaSystem.out.println ("A karakterlánc hossza: + str_Sample.length ());}}

Kimenet:

Length of String: 8

Karakterlánc "indexOf" módszer

Ha tudom a hosszát, hogyan találnám meg, melyik karakter melyik pozícióban van? Röviden, hogyan fogom megtalálni a karakter indexét?

Magad válaszoltál, haver, létezik egy „indexOf” módszer, amely segít meghatározni egy megadott karakter helyét.

nyilvános osztály Sample_String {public static void main (String [] args) {// Karakter a pozícióbanString str_Sample = "RockStar";System.out.println ("Karakter az 5. pozícióban: + str_Sample.charAt (5));// Adott karakter indexeSystem.out.println ("Az S karakter indexe: + str_Sample.indexOf ('S'));}}

Kimenet:

Character at position 5: tIndex of character 'S': 4

Karakteres karakterlánc metódus

A fenti kérdéshez hasonlóan, az indexet tekintve, hogyan ismerhetem meg az adott helyen lévő karaktert?

Ismét egyszerű !! Használja a „charAt” módszert, és adja meg azt az indexet, amelynek karakterét meg kell találnia.

nyilvános osztály Sample_String {public static void main (String [] args) {// Karakter a pozícióbanString str_Sample = "RockStar";System.out.println ("Karakter az 5. pozícióban: + str_Sample.charAt (5));}}

Kimenet:

Character at position 5: t

Karakterlánc "CompareTo" módszer

Szeretném ellenőrizni, hogy a valamilyen módszerrel létrehozott karakterlánc megegyezik-e valamivel, amellyel ellenőrizni akarom? Hogyan lehet összehasonlítani két húrot?

Használja az „CompareTo” módszert, és adja meg az összehasonlítani kívánt karakterláncot.

Használja a „CompareToIgnoreCase” elemet, ha nem szeretné, hogy az eredmény kis- és nagybetű legyen.

Az eredmény értéke 0 lesz, ha az argumentumlánc megegyezik ezzel a karakterlánccal; 0-nál kisebb érték, ha ez a karaktersorozat lexikológiailag kisebb, mint a karakterlánc argumentuma; és 0-nál nagyobb érték, ha ez a karaktersorozat lexikológiailag nagyobb, mint a karakterlánc argumentum.

nyilvános osztály Sample_String {public static void main (String [] args) {// Összehasonlítás egy String-hezString str_Sample = "RockStar";System.out.println ("Összehasonlítás a 'ROCKSTAR' -val: + str_Sample.compareTo ("rockstar"));// Összehasonlítás ide: Ignore caseSystem.out.println ("Összehasonlítás a" ROCKSTAR "-val - Figyelmen kívül hagyott eset: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}

Kimenet:

Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0

Karakterlánc "Tartalmaz" módszer

Részben tudom, mit kellett volna tartalmaznia a karakterláncnak, hogyan tudnám megerősíteni, hogy a karakterlánc tartalmaz-e egy megadott karaktersorozatot?

Használja a „tartalmaz” módszert, és adja meg az ellenőrizni kívánt karaktereket.

Visszatér igaz akkor és csak akkor, ha ez a string tartalmazza a megadott sorrendben a char értékeket.
nyilvános osztály Sample_String {public static void main (String [] args) {// Ellenőrizze, hogy a String tartalmaz-e szekvenciátString str_Sample = "RockStar";System.out.println ("A 'tar' sorrendet tartalmazza: + str_Sample.contains ("tar"));}}

Kimenet:

Contains sequence 'tar': true

Karakterlánc "endWith" módszerrel

Hogyan tudom megerősíteni, ha egy karakterlánc egy adott utótaggal végződik? Ismét válaszoltál rá. Használja a „endWith” metódust, és adja meg az utótagot az argumentumokban.

Visszatér igaz , ha a karaktereket által képviselt argumentum utótag karakter sorozat képviseli ezt az objektumot.
nyilvános osztály Sample_String {public static void main (String [] args) {// Ellenőrizze, hogy egy adott szekvenciával végződik-eString str_Sample = "RockStar";System.out.println ("Végződik 'r' karakterrel: + str_Sample.endsWith ("r"));}}

Kimenet:

EndsWith character 'r': true

Karakterlánc "csereAll" és "csereFirst" metódus

Szeretném több helyen módosítani a karakterláncomat, és cserélni a karakterlánc több részét?

Java karakterlánc Cserélje ki, cserélje le az összes és cserélje le az első módszereket. Az argumentumokban megadhatja a karakterlánc azon részét, amelyet cserélni szeretne, és a helyettesítő karakterláncot.

nyilvános osztály Sample_String {public static void main (String [] args) {// Cserélje Rock szót a Duke szóraString str_Sample = "RockStar";System.out.println ("Cserélje ki a" Rock "szót a" Duke "kifejezésre: + str_Sample.replace ("Rock", "Duke"));}}

Kimenet:

Replace 'Rock' with 'Duke': DukeStar

Karakterlánc Java "tolowercase" és Java "toperpercase" módszer

Szeretném, ha az egész karakterláncomat kisbetűvel vagy nagybetűvel jelenítenék meg?

Csak használja a „toLowercase ()” vagy „ToUpperCase ()” metódust az átalakítandó karakterláncokkal szemben.

nyilvános osztály Sample_String {public static void main (String [] args) {// Konvertálás LowerCase-véString str_Sample = "RockStar";System.out.println ("Konvertálás LowerCase-be: + str_Sample.toLowerCase ());// Átalakítás UpperCase-beSystem.out.println ("Konvertálás UpperCase-ba: + str_Sample.toUpperCase ());}}

Kimenet:

Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR

Fontos megjegyzendő pontok:

  • A húr végső osztály ; azaz miután létrehozta az értéket nem lehet megváltoztatni. Így a vonós objektumokat megváltoztathatatlannak nevezzük.
  • A Java virtuális gép (JVM) memóriahelyet hoz létre, különösen a String Constant Pool nevű karakterláncok számára . Ezért a String inicializálható „új” kulcsszó nélkül.
  • A karakterlánc osztály a java.lang alá tartozik. Húr hierarchia . De nem kell importálni ezt az osztályt. A Java platform automatikusan biztosítja őket.
  • A karakterlánc hivatkozás felülírható, de ez nem törli a tartalmat ; azaz ha

H1 karakterlánc = "hello";

h1 = "szia" + "világ";

akkor a "hello" karakterlánc nem törlődik. Csak elveszíti a markolatát.

  • Több hivatkozás is használható ugyanahhoz a karakterlánchoz, de ugyanazon a helyen fog történni ; azaz ha

H1 karakterlánc = "hello";

Karakterlánc h2 = "szia";

H3 karakterlánc = "szia";

akkor a memóriában csak egy String „hello” -készlet jön létre 3 referenciával - h1, h2, h3

  • Ha egy számot a „” -ban idézünk, akkor karakterlánc lesz belőle , és már nem szám. Ez azt jelenti, ha

String S1 = "A szám: + "123" + "456";

Rendszer. ki .println (S1);

akkor kinyomtatja: A szám: 123456

Ha az inicializálás ilyen:

String S1 = "A szám: + (123 + 456);

Rendszer. ki .println (S1);

akkor kinyomtatja: A szám: 579 Ennyi a húroké!