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 -

Java nöör

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 -

Stringi süntaksi näited

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:

Java string meetodid

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!