Java Strengemanipulation med EKSEMPEL

Hvad er strenge i Java?

En streng er bogstavelig talt en række tegn. Hej, sagde du tegn, er det ikke en primitiv dataindtastning Java. Ja, så i tekniske termer, det grundlæggende Java String er dybest set en række tegn.

Så min ovenstående streng af "ROSE” kan repræsenteres som følgende –

Java String

Hvorfor bruge Strings?

En af de primære funktioner i moderne computervidenskab er at behandle menneskeligt sprog.

På samme måde som tal er vigtige for matematik, er sprogsymboler vigtige for mening og beslutningstagning. Selvom det måske ikke er synligt for computerbrugere, behandler computere sproget i baggrunden lige så præcist og præcist som en lommeregner. Hjælpedialoger giver instruktioner. Menuer giver valgmuligheder. Og dataskærme viser statusser, fejl og ændringer i realtid af sproget.

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

Eksempler på strengsyntaks

Lad os nu komme til noget syntaks, vi skal trods alt skrive dette ind Java kode er det ikke.

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

//String is an array of characters
char[] 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 String
String strSample_2 = "ROSE";

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

= ;

Strengklasse Java udvider og Objektklasse.

Strengsammenkædning:

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

Tag et kig på billedet nedenfor-

Eksempler på strengsyntaks

Vi har to strenge str1 = "Rock" og str2 = "Star"

Hvis vi lægger disse to strenge sammen, skulle vi have et resultat som str3= "RockStar".

Tjek nedenstående kodestykke, og det forklarer de to metoder til at udføre strengsammenkædning.

Først bruger "konkat"-metoden af ​​String-klasse og anden bruger aritmetisk "+"-operator. Begge resulterer i det samme output

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);
}
}

Forventet output:

RockStar
RockStar

Vigtig Java streng metoder:

Java strengmetoder

Lad os spørge Java Stil et par spørgsmål i klassen, og se om den kan besvare dem:

String "Længde" metode

Hvordan vil du bestemme længden af ​​en given streng? Jeg har givet en metode kaldet som "længde“. Brug den mod den streng, du skal bruge for at finde længden.

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());}}

Forventet output:

Length of String: 8

Streng "indexOf" metode

Hvis jeg kender længden, hvordan finder jeg så ud af hvilken karakter der er i hvilken position? Kort sagt, hvordan finder jeg indekset for et tegn?

Du svarede dig selv, ven, der er en "indexOf"-metode, der vil hjælpe dig med at bestemme placeringen af ​​en bestemt karakter, som du angiver.

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'));}}

Forventet output:

Character at position 5: t
Index of character 'S': 4

String "charAt" metode

I lighed med ovenstående spørgsmål, givet indekset, hvordan kender jeg karakteren på det sted?

Simpel en igen!! Brug "tegnAt”-metoden og angiv det indeks, hvis karakter du skal finde.

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));}}

Forventet output:

Character at position 5: t

String "CompareTo"-metoden

Vil jeg kontrollere, om den streng, der blev genereret af en eller anden metode, er lig med noget, jeg vil verificere med? Hvordan sammenligner jeg to strenge?

Brug metoden "sammenligne med” og angiv den streng, du gerne vil sammenligne.

Brug "compareToIgnoreCase", hvis du ikke ønsker, at resultatet skal skelne mellem store og små bogstaver.

Resultatet vil have 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.

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"));}}

Forventet output:

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

String "Indeholder" metode

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

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

Returpolitik sand hvis og kun hvis denne streng indeholder den angivne sekvens af char-værdier.

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"));}}

Forventet output:

Contains sequence 'tar': true

String "endsWith"-metoden

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

Returpolitik sand hvis tegnsekvensen repræsenteret af argumentet er et suffiks af tegnsekvensen repræsenteret af dette objekt.

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"));}}

Forventet output:

EndsWith character 'r': true

String "erstat alle" & "erstat først" metode

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

Java String Replace, replaceAll og replaceFirst metoder. Du kan angive den del af strengen, du vil erstatte, og erstatningsstrengen i argumenterne.

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"));}}

Forventet output:

Replace 'Rock' with 'Duke': DukeStar

String Java "med små bogstaver" & Java Metode med "store bogstaver".

Jeg vil have hele min streng vist med små bogstaver eller store bogstaver?

Brug blot metoderne "toLowercase()" eller "ToUpperCase()" mod de strenge, der skal konverteres.

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());}}

Forventet output:

Convert to LowerCase: rockstar
Convert to UpperCase: ROCKSTAR

Vigtige punkter at bemærke:

  • String er en sidste klasse; dvs. når først den er oprettet, kan værdien ikke ændres. Stringobjekter kaldes derfor uforanderlige.
  • Java Virtual Machine(JVM) opretter en hukommelsesplacering specielt til Strings kaldet String Constant Pool. Det er derfor String kan initialiseres uden 'nyt' nøgleord.
  • String klasse falder ind under java.lang.String hierarki. Men der er ingen grund til at importere denne klasse. Java platform giver dem automatisk.
  • String reference kan tilsidesættes, men det sletter ikke indholdet; dvs. hvis

String h1 = "hej";

h1 = "hej"+"verden";

så bliver "hej" streng ikke slettet. Den mister bare sit håndtag.

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

String h1 = "hej";

String h2 = "hej";

String h3 = "hej";

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

  • Hvis en nummer er angivet i " " så det bliver til en snor, ikke et tal længere. Det betyder hvis

String S1 ="Tallet er: "+ "123"+"456″;

Systemet.ud.println(S1);

så udskrives: Nummeret er: 123456

Hvis initialiseringen er sådan:

String S1 = “Tallet er: “+(123+456);

System.out.println(S1);

så udskrives: Nummeret er:579

Det er alt til Strings!