Java Strengemanipulasjon med EKSEMPEL
Hva er strenger i Java?
En streng i bokstavelige termer er en serie med tegn. Hei, sa du tegn, er det ikke en primitiv datatype? Java. Ja, så i tekniske termer, det grunnleggende Java String er i utgangspunktet en rekke tegn.
Så strengen min ovenfor med "ROSE" kan representeres som følgende -
Hvorfor bruke strenger?
En av hovedfunksjonene til moderne informatikk er å behandle menneskelig språk.
På samme måte som tall er viktige for matematikk, er språksymboler viktige for mening og beslutningstaking. Selv om det kanskje ikke er synlig for databrukere, behandler datamaskiner språk i bakgrunnen like presist og nøyaktig som en kalkulator. Hjelpedialoger gir instruksjoner. Menyer gir valg. Og dataskjermer viser statuser, feil og sanntidsendringer i språket.
Som en Java programmerer, et av hovedverktøyene dine for lagring og prosessering av språk kommer til å være String-klassen.
Eksempler på strengsyntaks
Nå, la oss komme til litt syntaks, vi må tross alt skrive dette inn Java kode er det ikke.
String er en rekke tegn, representert som:
//String is an array of characters
char[] arrSample = {'R', 'O', 'S', 'E'};
String strSample_1 = new String (arrSample);
I tekniske termer er strengen definert som følger i eksemplet ovenfor-
= new (argument);
Nå kan vi ikke alltid skrive strengene våre som matriser; derfor kan vi definere strengen i Java som følger:
//Representation of String String strSample_2 = "ROSE";
I tekniske termer er ovenstående representert som:
= ;
Ocuco Strengklasse Java strekker de Objektklasse.
Strengesammenkobling:
Sammenkobling er sammenføyning av to eller flere strenger.
Ta en titt på bildet under-
Vi har to strenger str1 = "Rock" og str2 = "Star"
Hvis vi legger sammen disse to strengene, bør vi få et resultat som str3= “RockStar”.
Sjekk kodebiten nedenfor, og den forklarer de to metodene for å utføre strengsammenkobling.
Først bruker "konkat"-metoden for String-klassen og andre bruker aritmetisk "+"-operator. Begge resulterer i samme utgang
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 utgang:
RockStar RockStar
Viktig Java strengmetoder:
La oss spørre Java Sett inn noen spørsmål og se om den kan svare på dem:
String "Length" metode
Hvordan vil du bestemme lengden på gitt streng? Jeg har gitt en metode kalt "lengde". Bruk den mot strengen du trenger for å finne lengden.
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 utgang:
Length of String: 8
Streng «indexOf»-metoden
Hvis jeg vet lengden, hvordan finner jeg hvilken karakter som er i hvilken posisjon? Kort sagt, hvordan finner jeg indeksen til et tegn?
Du svarte deg selv, kompis, det er en "indexOf"-metode som vil hjelpe deg med å finne plasseringen til en bestemt karakter du spesifiserer.
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 utgang:
Character at position 5: t Index of character 'S': 4
String "charAt" metode
I likhet med spørsmålet ovenfor, gitt indeksen, hvordan kjenner jeg tegnet på det stedet?
Enkelt igjen!! Bruk "charAt"-metoden og oppgi indeksen hvis karakter du trenger å finne.
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 utgang:
Character at position 5: t
String "CompareTo"-metoden
Vil jeg sjekke om strengen som ble generert av en metode er lik noe jeg vil verifisere med? Hvordan sammenligner jeg to strenger?
Bruk metoden "compareTo" og spesifiser strengen du vil sammenligne.
Bruk "compareToIgnoreCase" i tilfelle du ikke vil at resultatet skal skille mellom store og små bokstaver.
Resultatet vil ha verdien 0 hvis argumentstrengen er lik denne strengen; en verdi mindre enn 0 hvis denne strengen er leksikografisk mindre enn strengargumentet; og en verdi større enn 0 hvis denne strengen er leksikografisk større enn 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 utgang:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
String "Contain"-metoden
Jeg vet delvis hva strengen skal ha inneholdt, hvordan kan jeg bekrefte om strengen inneholder en sekvens av tegn jeg spesifiserer?
Bruk metoden "inneholder” og spesifiser tegnene du må sjekke.
Returer sant hvis og bare hvis denne strengen inneholder den angitte sekvensen av char-verdier.
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 utgang:
Contains sequence 'tar': true
Streng «endsWith»-metoden
Hvordan bekrefter jeg om en streng slutter med et bestemt suffiks? Igjen svarte du på det. Bruk "endsWith"-metoden og spesifiser suffikset i argumentene.
Returer sant hvis tegnsekvensen representert av argumentet er et suffiks av tegnsekvensen representert av dette objektet.
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 utgang:
EndsWith character 'r': true
Streng "replaceAll" & "replaceFirst"-metoden
Jeg ønsker å endre strengen min på flere steder og erstatte flere deler av strengen?
Java String Replace, replaceAll og replaceFirst metoder. Du kan spesifisere delen av strengen du vil erstatte og erstatningsstrengen i argumentene.
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 utgang:
Replace 'Rock' with 'Duke': DukeStar
String Java "to små bokstaver" & Java Metode med store bokstaver
Jeg vil at hele strengen min skal vises med små eller store bokstaver?
Bare bruk metodene "toLowercase()" eller "ToUpperCase()" mot strengene som må 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 utgang:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
Viktige punkter å merke seg:
- String er en finaleklasse; dvs. når den er opprettet, kan verdien ikke endres. Stringobjekter kalles derfor uforanderlige.
- Ocuco Java Virtual Machine(JVM) oppretter en minneplassering spesielt for strenger kalt String ConstantPool. Det er derfor String kan initialiseres uten "nytt" nøkkelord.
- Strengeklassen faller inn under java.lang.String hierarki. Men det er ikke nødvendig å importere denne klassen. Java plattformen gir dem automatisk.
- String referanse kan overstyres, men det sletter ikke innholdet; dvs. hvis
String h1 = "hei";
h1 = "hei"+"verden";
da blir ikke "hei"-strengen slettet. Den mister bare håndtaket.
- Flere referanser kan brukes for samme streng, men det vil forekomme på samme sted; dvs. hvis
String h1 = "hei";
String h2 = "hei";
String h3 = "hei";
da opprettes bare én pool for streng "hei" i minnet med 3 referanser-h1,h2,h3
- Om en nummeret er oppgitt i " " da det blir en streng, ikke et tall lenger. Det betyr hvis
String S1 =”Tallet er: “+ “123”+”456″;
System.ut.println(S1);
så skrives det ut: Nummeret er: 123456
Hvis initialiseringen er slik:
String S1 = "Tallet er: "+(123+456);
System.out.println(S1);
så vil den skrives ut: Tallet er:579
Det er alt til Strings!



