Java Stringi manipuleerimine EXAMPLE'iga
Milles on stringid Java?
String on sõna otseses mõttes märkide jada. Hei, kas sa ütlesid märgid, kas see pole primitiivne andmetüüp Java. Jah, nii et tehnilises mõttes põhiline Java String on põhimõtteliselt märkide massiiv.
Nii et minu ülaltoodud string "ROSE" võib esitada järgmiselt -
Miks kasutada stringe?
Kaasaegse arvutiteaduse üks peamisi funktsioone on inimkeele töötlemine.
Sarnaselt sellele, kuidas numbrid on matemaatika jaoks olulised, on keelesümbolid olulised tähenduse ja otsuste tegemise jaoks. Kuigi see ei pruugi olla arvutikasutajatele nähtav, töötlevad arvutid taustal keelt sama täpselt ja täpselt nagu kalkulaator. Abidialoogid pakuvad juhiseid. Menüüd pakuvad valikuid. Andmeekraanid näitavad olekuid, vigu ja keele reaalajas muudatusi.
Selle Java programmeerija, üks teie peamisi tööriistu keele salvestamiseks ja töötlemiseks on String-klass.
Stringi süntaksi näited
Läheme nüüd süntaksi juurde, lõppude lõpuks peame selle sisse kirjutama Java kood kas pole.
String on märkide massiiv, mis on esitatud järgmiselt:
//String is an array of characters char[] arrSample = {'R', 'O', 'S', 'E'}; String strSample_1 = new String (arrSample);
Tehnilises mõttes defineeritakse string ülaltoodud näites järgmiselt -
= new (argument);
Nüüd ei saa me alati oma stringe massiividena kirjutada; seega saame stringi defineerida Java järgmiselt:
//Representation of String String strSample_2 = "ROSE";
Tehnilises mõttes on ülaltoodu esitatud järgmiselt:
= ;
. Keelpilliklass Java laieneb the,en Objekti klass.
Stringi aheldamine:
Konkatenatsioon on kahe või enama stringi ühendamine.
Vaata allolevat pilti -
Meil on kaks stringi str1 = "Rock" ja str2 = "Star"
Kui liidame need kaks stringi kokku, peaks meil olema tulemus str3= “RockStar”.
Kontrollige allolevat koodilõiku ja see selgitab stringide ühendamise kahte meetodit.
Esiteks kasutab "concatString klassi meetod ja teine kasutab aritmeetilist "+" operaatorit. Mõlema tulemuseks on sama väljund
public class Sample_String{ public static void main(String[] args){ //String Concatenation String str1 = "Rock"; String str2 = "Star"; //Method 1 : Using concat String str3 = str1.concat(str2); System.out.println(str3); //Method 2 : Using "+" operator String str4 = str1 + str2; System.out.println(str4); } }
Eeldatav väljund:
RockStar RockStar
oluline Java stringimeetodid:
Küsime, Java Esitage klassile mõned küsimused ja vaadake, kas see suudab neile vastata:
Stringi "pikkuse" meetod
Kuidas määrata antud stringi pikkust? Olen esitanud meetodi, mida nimetatakse "pikkuseks". Kasutage seda stringi vastu, et leida pikkus.
public class Sample_String{ public static void main(String[] args){ //Our sample string for this tutorial String str_Sample = "RockStar"; //Length of a String System.out.println("Length of String: " + str_Sample.length());}}
Eeldatav väljund:
Length of String: 8
String "indexOf" meetod
Kui ma tean pikkust, kuidas ma saaksin teada, milline tegelane millises asendis on? Lühidalt, kuidas ma leian tegelase indeksi?
Vastasite ise, sõber, on olemas meetod "indexOf", mis aitab teil määrata konkreetse märgi asukoha.
public class Sample_String{ public static void main(String[] args){//Character at position String str_Sample = "RockStar"; System.out.println("Character at position 5: " + str_Sample.charAt(5)); //Index of a given character System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}
Eeldatav väljund:
Character at position 5: t Index of character 'S': 4
Stringi "charAt" meetod
Sarnaselt ülaltoodud küsimusele, kuidas ma saan registrit arvesse võttes tegelaskuju selles kohas teada?
Jälle lihtne!! Kasutage meetodit "charAt" ja sisestage indeks, mille tähemärki peate leidma.
public class Sample_String{ public static void main(String[] args){//Character at position String str_Sample = "RockStar"; System.out.println("Character at position 5: " + str_Sample.charAt(5));}}
Eeldatav väljund:
Character at position 5: t
String "Võrdle" meetod
Kas ma tahan kontrollida, kas string, mis on loodud mõne meetodi abil, on võrdne millegagi, mida ma tahan kontrollida? Kuidas võrrelda kahte stringi?
Kasutage meetodit "compareTo" ja määrake string, mida soovite võrrelda.
Kasutage „compareToIgnoreCase”, kui te ei soovi, et tulemus oleks tõstutundlik.
Tulemuse väärtus on 0, kui argumendistring on selle stringiga võrdne; väärtus, mis on väiksem kui 0, kui see string on leksikograafiliselt stringiargumendist väiksem; ja väärtus, mis on suurem kui 0, kui see string on leksikograafiliselt stringiargumendist suurem.
public class Sample_String{ public static void main(String[] args){//Compare to a String String str_Sample = "RockStar"; System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar")); //Compare to - Ignore case System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}
Eeldatav väljund:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
Stringi "sisaldamise" meetod
Ma tean osaliselt, mida string oleks pidanud sisaldama. Kuidas kontrollida, kas string sisaldab minu määratud tähemärkide jada?
Kasutage meetodit "sisaldab” ja määrake märgid, mida peate kontrollima.
Tagastamine tõsi siis ja ainult siis, kui see string sisaldab määratud char väärtuste jada.
public class Sample_String{ public static void main(String[] args){ //Check if String contains a sequence String str_Sample = "RockStar"; System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}
Eeldatav väljund:
Contains sequence 'tar': true
String "lõpeb koos" meetod
Kuidas kontrollida, kas string lõpeb kindla järelliidiga? Jälle sa vastasid sellele. Kasutage meetodit "endsWith" ja määrake argumentides järelliide.
Tagastamine tõsi kui argumendiga esindatav märgijada on selle objektiga esindatava märgijada järelliide.
public class Sample_String{ public static void main(String[] args){ //Check if ends with a particular sequence String str_Sample = "RockStar"; System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}
Eeldatav väljund:
EndsWith character 'r': true
String "replaceAll" ja "replaceFirst" meetod
Kas tahan oma stringi mitmes kohas muuta ja stringi mitu osa asendada?
Java String Asenda, asendaKõik ja asendaFirst meetodid. Argumentides saate määrata stringi osa, mida soovite asendada, ja asendusstringi.
public class Sample_String{ public static void main(String[] args){//Replace Rock with the word Duke String str_Sample = "RockStar"; System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}
Eeldatav väljund:
Replace 'Rock' with 'Duke': DukeStar
nöör Java "väiketähtedega" & Java "suurtähtede" meetod
Kas tahan, et kogu mu stringi näidataks väike- või suurtähtedega?
Kasutage teisendatavate stringide vastu lihtsalt meetodeid "toLowercase()" või "ToUpperCase()".
public class Sample_String{ public static void main(String[] args){//Convert to LowerCase String str_Sample = "RockStar"; System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase()); //Convert to UpperCase System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}
Eeldatav väljund:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
Olulised märkused:
- String on lõpuklass; st kui väärtus on loodud, ei saa seda muuta. Seega nimetatakse stringiobjekte muutumatuks.
- . Java Virtual Machine (JVM) loob mälukoha spetsiaalselt stringide jaoks, mida nimetatakse String ConstantPool. Sellepärast saab Stringi lähtestada ilma 'uue' märksõnata.
- Keelpilliklass jääb alla java.lang.Stringi hierarhia. Kuid seda klassi pole vaja importida. Java platvorm pakub neid automaatselt.
- nöör viite saab tühistada, kuid see ei kustuta sisu; st kui
String h1 = "tere";
h1 = "tere"+"maailm";
siis "tere" stringi ei kustutata. See lihtsalt kaotab käepideme.
- Mitu viidet saab kasutada sama stringi jaoks, kuid see on nii esinevad samas kohas; st kui
String h1 = "tere";
String h2 = "tere";
String h3 = "tere";
siis luuakse mällu ainult üks bassein stringi "tere" jaoks koos 3 viitega-h1,h2,h3
- Kui number on tsiteeritud " " siis see muutub stringiks, mitte enam number. See tähendab, et kui
String S1 ="Arv on: "+ "123"+"456";
Süsteem.välja.println(S1);
siis trükitakse: Number on: 123456
Kui lähtestamine on selline:
String S1 = "Arv on: "+(123+456);
System.out.println(S1);
siis trükitakse: Number on:579
See on Stringsile kõik!