Java Manipularea șirurilor cu EXEMPLU
În ce sunt șirurile Java?
Un șir în termeni literali este o serie de caractere. Hei, ai spus caractere, nu este un tip de date primitiv? Java. Da, deci în termeni tehnici, de bază Java Șirul este în esență o matrice de caractere.
Deci șirul meu de mai sus de „ROSE” poate fi reprezentat astfel:
De ce să folosiți Strings?
Una dintre funcțiile primare ale informaticii moderne este procesarea limbajului uman.
În mod similar cu modul în care numerele sunt importante pentru matematică, simbolurile lingvistice sunt importante pentru semnificație și luarea deciziilor. Deși este posibil să nu fie vizibil pentru utilizatorii de computere, computerele procesează limbajul în fundal la fel de precis și de exact ca un calculator. Casetele de dialog de ajutor oferă instrucțiuni. Meniurile oferă opțiuni. Și afișajele de date arată stări, erori și modificări în timp real ale limbii.
Ca Java programator, unul dintre instrumentele tale principale pentru stocarea și procesarea limbajului va fi clasa String.
Exemple de sintaxă de șiruri
Acum, să ajungem la o sintaxă, la urma urmei, trebuie să scriem asta Java codul nu-i asa.
Șirul este o matrice de caractere, reprezentată ca:
//String is an array of characters char[] arrSample = {'R', 'O', 'S', 'E'}; String strSample_1 = new String (arrSample);
În termeni tehnici, șirul este definit după cum urmează în exemplul de mai sus-
= new (argument);
Acum nu putem scrie întotdeauna șirurile noastre ca tablouri; prin urmare putem defini șirul în Java după cum urmează:
//Representation of String String strSample_2 = "ROSE";
Din punct de vedere tehnic, cele de mai sus sunt reprezentate astfel:
= ;
Clasa de corzi Java extinde il Clasa de obiecte.
Concatenare șiruri:
Concatenarea este unirea a două sau mai multe șiruri.
Aruncă o privire la poza de mai jos -
Avem două șiruri str1 = „Rock” și str2 = „Star”
Dacă adunăm aceste două șiruri, ar trebui să avem un rezultat ca str3= „RockStar”.
Verificați fragmentul de cod de mai jos și explică cele două metode de a efectua concatenarea șirurilor.
În primul rând este folosirea „concat” metoda clasei String și a doua utilizează operatorul aritmetic „+”. Ambele rezultă în aceeași ieșire
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); } }
Ieșire preconizată:
RockStar RockStar
Important Java metode cu șiruri:
Să-l întrebăm pe Java Încordați clasei câteva întrebări și vedeți dacă le poate răspunde:
Metoda „Lungimea” șirului
Cum veți determina lungimea șirului dat? Am oferit o metodă numită „lungime„. Folosiți-l împotriva șirului de care aveți nevoie pentru a găsi lungimea.
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());}}
Ieșire preconizată:
Length of String: 8
Metoda șir „indexOf”.
Dacă știu lungimea, cum aș afla care caracter se află în ce poziție? Pe scurt, cum voi găsi indexul unui personaj?
Ți-ai răspuns singur, amice, există o metodă „indexOf” care te va ajuta să determinați locația unui anumit personaj pe care îl specificați.
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'));}}
Ieșire preconizată:
Character at position 5: t Index of character 'S': 4
Metoda șir „charAt”.
Similar cu întrebarea de mai sus, având în vedere indexul, de unde știu personajul din acea locație?
Din nou unul simplu!! Utilizați metoda „charAt” și furnizați indexul al cărui caracter trebuie să găsiți.
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));}}
Ieșire preconizată:
Character at position 5: t
Metoda „CompareTo” șir
Vreau să verific dacă șirul care a fost generat de o metodă este egal cu ceva cu care vreau să verific? Cum compar două șiruri?
Folosiți metoda „compara cu” și specificați șirul pe care doriți să îl comparați.
Utilizați „compareToIgnoreCase” în cazul în care nu doriți ca rezultatul să fie sensibil la majuscule și minuscule.
Rezultatul va avea valoarea 0 dacă șirul de argument este egal cu acest șir; o valoare mai mică decât 0 dacă acest șir este lexicografic mai mic decât argumentul șir; și o valoare mai mare decât 0 dacă acest șir este mai mare din punct de vedere lexicografic decât argumentul șir.
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"));}}
Ieșire preconizată:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
Metoda „Conține” șir
Știu parțial ce ar fi trebuit să conțină șirul, cum confirm dacă șirul conține o secvență de caractere pe care o specific?
Folosiți metoda „conține” și specificați caracterele pe care trebuie să le verificați.
Returnări adevărat dacă și numai dacă acest șir conține secvența specificată de valori char.
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"));}}
Ieșire preconizată:
Contains sequence 'tar': true
Metoda șir „endsWith”.
Cum confirm dacă un șir se termină cu un anumit sufix? Din nou ai răspuns. Utilizați metoda „endsWith” și specificați sufixul în argumente.
Returnări adevărat dacă secvența de caractere reprezentată de argument este un sufix al secvenței de caractere reprezentată de acest obiect.
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"));}}
Ieșire preconizată:
EndsWith character 'r': true
Șirul „replaceAll” și „replaceFirst” Metoda
Vreau să-mi modific șirul în mai multe locuri și să înlocuiesc mai multe părți ale șirului?
Java Metodele String Replace, replaceAll și replaceFirst. Puteți specifica partea din șirul pe care doriți să o înlocuiți și șirul de înlocuire în argumente.
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"));}}
Ieșire preconizată:
Replace 'Rock' with 'Duke': DukeStar
Şir Java „majuscule” și Java Metoda „majuscul”.
Vreau ca întregul meu șir să fie afișat cu litere mici sau majuscule?
Utilizați doar metodele „toLowercase()” sau „ToUpperCase()” împotriva șirurilor de caractere care trebuie convertite.
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());}}
Ieșire preconizată:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
Puncte importante de remarcat:
- String este o clasă finală; adică odată creată valoarea nu poate fi modificată. Astfel, obiectele String sunt numite imuabile.
- Java Virtual Machine (JVM) creează o locație de memorie special pentru Strings numite String Constant Pool. De aceea String poate fi inițializat fără cuvânt cheie „nou”.
- Clasa de șiruri se încadrează java.lang.Ierarhie de șiruri. Dar nu este nevoie să importați această clasă. Java platforma le furnizează automat.
- Şir referința poate fi suprascrisă, dar aceasta nu șterge conținutul; adică dacă
String h1 = „bună ziua”;
h1 = „bună ziua”+”lume”;
apoi „hello” String nu este șters. Pur și simplu își pierde mânerul.
- Referințe multiple poate fi folosit pentru același șir, dar va fi apar în același loc; adică dacă
String h1 = „bună ziua”;
String h2 = „bună ziua”;
String h3 = „bună ziua”;
atunci este creat doar un singur pool pentru String „hello” în memorie cu 3 referințe-h1,h2,h3
- În cazul în care o numărul este citat în „“ atunci acesta devine o sfoară, nu mai este un număr. Asta înseamnă dacă
String S1 =”Numărul este: “+ “123”+”456″;
Sistem.afară.println(S1);
apoi se va imprima: Numărul este: 123456
Dacă inițializarea este așa:
Șirul S1 = „Numărul este: „+(123+456);
System.out.println(S1);
apoi se va imprima: Numărul este: 579
Asta e tot pentru Strings!