Java String Manipulation: Funktioner og metoder med EKSEMPEL

Indholdsfortegnelse:

Anonim

Hvad er strenge?

En streng i bogstavelige termer er en række tegn. Hej, sagde du tegn, er det ikke en primitiv datatype i Java. Ja, så teknisk set er den grundlæggende Java-streng grundlæggende en række tegn.

Så min ovennævnte streng af " ROSE " kan repræsenteres som følgende -

I denne vejledning lærer du-

  • Hvad er strenge?
  • Hvorfor bruge strenge?
  • Eksempler på strengsyntaks
  • String sammenkædning
  • Vigtige Java-strengmetoder

Hvorfor bruge strenge?

En af de primære funktioner inden for moderne datalogi er behandling af menneskeligt sprog.

På samme måde som tal er vigtige for matematik, er sprogsymboler vigtige for mening og beslutningstagning. Selvom det muligvis ikke er synligt for computerbrugere, behandler computere sprog i baggrunden så præcist og præcist som en lommeregner. Hjælpedialoger giver instruktioner. Menuer giver valg. Og datadisplays viser status, fejl og ændringer i realtid til sproget.

Som en Java-programmør vil et af dine vigtigste værktøjer til lagring og behandling af sprog være String-klassen.

Eksempler på strengsyntaks

Lad os nu komme til en vis syntaks, trods alt skal vi skrive dette i Java-kode, er det ikke.

String er en række tegn, repræsenteret som:

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

I tekniske termer er strengen defineret som følger i ovenstående eksempel-

= new (argument);

Nu kan vi altid ikke skrive vores strenge som arrays; derfor kan vi definere strengen i Java som følger:

//Representation of StringString strSample_2 = "ROSE";

I tekniske termer er ovenstående repræsenteret som:

= ;

Den String Klasse Java udvider den Objekt klassen.

Strengsammenkædning:

Sammenkædning er sammenføjning af to eller flere strenge.

Se nedenstående billede-

Vi har to strenge str1 = “Rock” og str2 = “Star”

Hvis vi sammenlægger disse to strenge, skal vi have et resultat som str3 = “RockStar”.

Tjek nedenstående kodestykke, og det forklarer de to metoder til udførelse af strengkombination.

For det første bruger vi " concat " -metoden i strengklasse, og den anden bruger aritmetisk "+" -operator. Begge resulterer i samme output

offentlig klasse Sample_String {public static void main (String [] args) {// Strengs sammenkædningString str1 = "Rock";String str2 = "Star";// Metode 1: Brug af concatStreng str3 = str1.concat (str2);System.out.println (str3);// Metode 2: Brug af "+" operatorStreng str4 = str1 + str2;System.out.println (str4);}}

Vigtige Java-strengmetoder:

Lad os stille Java String-klassen et par spørgsmål og se om den kan besvare dem;)

String "Længde" metode

Hvordan bestemmer du længden af ​​den givne streng? Jeg har leveret en metode kaldet ”længde”. Brug den mod den streng, du har brug for for at finde længden.

offentlig klasse Sample_String {public static void main (String [] args) {// Vores eksempelstreng til denne tutorialString str_Sample = "RockStar";// Længden af ​​en strengSystem.out.println ("Strengens længde: + str_Sample.length ());}}

produktion:

Length of String: 8

String "indexOf" metode

Hvis jeg kender længden, hvordan finder jeg ud af, hvilken karakter der er i hvilken position? Kort sagt, hvordan finder jeg et tegnindeks?

Du svarede selv, kammerat, der er en “indexOf” -metode, der hjælper dig med at bestemme placeringen af ​​et bestemt tegn, som du angiver.

offentlig klasse Sample_String {public static void main (String [] args) {// Tegn ved positionString str_Sample = "RockStar";System.out.println ("Tegn ved position 5: + str_Sample.charAt (5));// Indeks over et givet tegnSystem.out.println ("Indeks for tegn 'S': + str_Sample.indexOf ('S'));}}

Produktion:

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

String "charAt" metode

Svarende til ovenstående spørgsmål, givet indekset, hvordan kender jeg karakteren på det sted?

Enkel igen !! Brug "charAt" -metoden, og angiv det indeks, hvis karakter du skal finde.

offentlig klasse Sample_String {public static void main (String [] args) {// Tegn ved positionString str_Sample = "RockStar";System.out.println ("Tegn ved position 5: + str_Sample.charAt (5));}}

Produktion:

Character at position 5: t

Streng "CompareTo" -metode

Vil jeg kontrollere, om den streng, der blev genereret ved en eller anden metode, er lig med noget, som jeg vil bekræfte med? Hvordan sammenligner jeg to strenge?

Brug metoden "CompareTo" og angiv den streng, du vil sammenligne.

Brug "CompareToIgnoreCase", hvis du ikke vil have, at resultatet skal være store og små bogstaver.

Resultatet har værdien 0, hvis argumentstrengen er lig med denne streng; en værdi mindre end 0, hvis denne streng er leksikografisk mindre end strengargumentet; og en værdi større end 0, hvis denne streng er leksikografisk større end strengargumentet.

offentlig klasse Sample_String {public static void main (String [] args) {// Sammenlign med en strengString str_Sample = "RockStar";System.out.println ("Sammenlign med 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Sammenlign med - Ignorer sagenSystem.out.println ("Sammenlign med 'ROCKSTAR' - sag ignoreret: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}

Produktion:

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

Streng "Contain" -metode

Jeg ved delvist, hvad strengen skulle have indeholdt, hvordan bekræfter jeg, om strengen indeholder en række tegn, jeg angiver?

Brug metoden "indeholder" og angiv de tegn, du skal kontrollere.

Returnerer sandt, hvis og kun hvis denne streng indeholder den specificerede række af tegnværdier.
offentlig klasse Sample_String {public static void main (String [] args) {// Kontroller, om String indeholder en sekvensString str_Sample = "RockStar";System.out.println ("Indeholder sekvens 'tar': + str_Sample.contains ("tar"));}}

Produktion:

Contains sequence 'tar': true

Streng "slutter med" metode

Hvordan bekræfter jeg, om en streng slutter med et bestemt suffiks? Igen svarede du det. Brug metoden “endsWith” og angiv suffikset i argumenterne.

Returnerer sandt, hvis tegnsekvensen repræsenteret af argumentet er et suffiks for tegnsekvensen repræsenteret af dette objekt.
offentlig klasse Sample_String {public static void main (String [] args) {// Kontroller, om ender med en bestemt sekvensString str_Sample = "RockStar";System.out.println ("EndsWith karakter 'r': + str_Sample.endsWith ("r"));}}

Produktion:

EndsWith character 'r': true

String "Erstat alle" & "Erstat første" metode

Jeg vil ændre min streng flere steder og erstatte flere dele af strengen?

Java-streng Erstat, erstatAlle og erstatFørste metoder. Du kan angive den del af strengen, du vil erstatte, og udskiftningsstrengen i argumenterne.

offentlig klasse Sample_String {public static void main (String [] args) {// Erstat Rock med ordet DukeString str_Sample = "RockStar";System.out.println ("Udskift 'Rock' med 'Duke': + str_Sample.replace ("Rock", "Duke"))}}

Produktion:

Replace 'Rock' with 'Duke': DukeStar

String Java "tolowercase" & Java "touppercase" Metode

Jeg vil have, at hele min streng vises med små og store bogstaver?

Brug bare metoderne “toLowercase ()” eller “ToUpperCase ()” mod strengene, der skal konverteres.

offentlig klasse Sample_String {public static void main (String [] args) {// Konverter til LowerCaseString str_Sample = "RockStar";System.out.println ("Konverter til LowerCase: + str_Sample.toLowerCase ());// Konverter til UpperCaseSystem.out.println ("Konverter til UpperCase: + str_Sample.toUpperCase ());}}

Produktion:

Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR

Vigtige punkter at bemærke:

  • String er en sidste klasse ; dvs. når først oprettet, kan værdien ikke ændres. Således kaldes strengobjekter uforanderlige.
  • Java Virtual Machine (JVM) opretter en hukommelsesplacering specielt til strenge kaldet String Constant Pool . Derfor kan String initialiseres uden 'nyt' nøgleord.
  • Strengklasse falder under java.lang.Strenghierarki . Men det er ikke nødvendigt at importere denne klasse. Java-platformen giver dem automatisk.
  • Strengreference kan tilsidesættes, men det sletter ikke indholdet ; dvs. hvis

String h1 = "hej";

h1 = "hej" + "verden";

så slettes "hej" streng ikke. Det mister bare grebet.

  • Flere referencer kan bruges til samme streng, men den vil forekomme samme sted ; dvs. hvis

String h1 = "hej";

String h2 = "hej";

String h3 = "hej";

så oprettes kun en pulje til streng "hej" i hukommelsen med 3 referencer-h1, h2, h3

  • Hvis et tal er citeret i “”, bliver det en streng , ikke et nummer længere. Det betyder, hvis

Streng S1 = "Nummeret er: + "123" + "456";

System. ud .println (S1);

så udskrives det: Nummeret er: 123456

Hvis initialiseringen er sådan:

Streng S1 = "Nummeret er: + (123 + 456);

System. ud .println (S1);

så udskrives det: Nummeret er: 579 Det er alt sammen til strenge!