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!