Java Manipulacija nizom s PRIMJEROM
U čemu su stringovi Java?
Niz je u doslovnom smislu niz znakova. Hej, jeste li rekli znakovi, nije li to primitivan tip podataka u Java. Da, dakle u tehničkom smislu, osnovno Java String je u osnovi niz znakova.
Moj gornji niz od "ROSE” može se predstaviti kao sljedeće –
Zašto koristiti Strings?
Jedna od primarnih funkcija moderne računalne znanosti je obrada ljudskog jezika.
Slično kao što su brojevi važni za matematiku, jezični simboli važni su za značenje i donošenje odluka. Iako to možda nije vidljivo korisnicima računala, računala obrađuju jezik u pozadini jednako precizno i točno kao kalkulator. Dijalozi za pomoć pružaju upute. Izbornici nude izbore. A zasloni podataka prikazuju statuse, pogreške i promjene jezika u stvarnom vremenu.
Kao Java programeru, jedan od vaših glavnih alata za pohranu i obradu jezika bit će klasa String.
Primjeri sintakse nizova
Sada, prijeđimo na sintaksu, na kraju krajeva, ovo moramo napisati Java kod zar ne.
String je niz znakova, predstavljen kao:
//String is an array of characters char[] arrSample = {'R', 'O', 'S', 'E'}; String strSample_1 = new String (arrSample);
U tehničkom smislu, String je definiran kako slijedi u gornjem primjeru-
= new (argument);
Sada ne možemo uvijek pisati naše nizove kao nizove; stoga možemo definirati String u Java kako slijedi:
//Representation of String String strSample_2 = "ROSE";
U tehničkom smislu, gore navedeno je predstavljeno kao:
= ;
Korištenje električnih romobila ističe Gudački razred Java proteže se o Klasa objekta.
Spajanje nizova:
Ulančavanje je spajanje dva ili više nizova.
Pogledajte donju sliku-
Imamo dva niza str1 = “Rock” i str2 = “Star”
Ako zbrojimo ova dva niza, trebali bismo imati rezultat str3= “RockStar”.
Provjerite donji isječak koda i on objašnjava dvije metode za izvođenje ulančavanja nizova.
Prvo koristi "CONCAT” metode String klase, a druga koristi aritmetički “+” operator. Oba rezultiraju istim rezultatom
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); } }
Očekivani rezultat:
RockStar RockStar
Važno Java string metode:
Pitajmo Java String klasa nekoliko pitanja i vidjeti može li odgovoriti na njih:
Metoda “dužine” niza
Kako ćete odrediti duljinu zadanog niza? Omogućio sam metodu pod nazivom "dužina“. Upotrijebite ga protiv niza koji vam je potreban da biste pronašli duljinu.
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());}}
Očekivani rezultat:
Length of String: 8
String metoda “indexOf”.
Ako znam duljinu, kako ću pronaći koji je znak na kojoj poziciji? Ukratko, kako ću pronaći indeks znaka?
Sam si si odgovorio, prijatelju, postoji metoda “indexOf” koja će ti pomoći da odrediš lokaciju određenog znaka koji navedeš.
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'));}}
Očekivani rezultat:
Character at position 5: t Index of character 'S': 4
String “charAt” metoda
Slično gornjem pitanju, s obzirom na indeks, kako mogu znati lik na toj lokaciji?
Opet jednostavno!! Koristiti "charAt” i navedite indeks čiji znak trebate pronać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));}}
Očekivani rezultat:
Character at position 5: t
String metoda “Usporedi s”.
Želim li provjeriti je li String koji je generiran nekom metodom jednak nečemu što želim provjeriti? Kako mogu usporediti dva niza?
Koristite metodu "usporediti” i navedite niz koji želite usporediti.
Koristite “compareToIgnoreCase” u slučaju da ne želite da rezultat bude osjetljiv na velika i mala slova.
Rezultat će imati vrijednost 0 ako je niz argumenata jednak ovom nizu; vrijednost manja od 0 ako je ovaj niz leksikografski manji od argumenta niza; i vrijednost veću od 0 ako je ovaj niz leksikografski veći od argumenta niza.
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"));}}
Očekivani rezultat:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
String “Contain” metoda
Djelomično znam što je niz trebao sadržavati, kako mogu potvrditi sadrži li niz niz znakova koje sam naveo?
Koristite metodu "sadrži” i odredite znakove koje trebate provjeriti.
Povratak istinski ako i samo ako ovaj niz sadrži navedeni niz vrijednosti 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"));}}
Očekivani rezultat:
Contains sequence 'tar': true
String metoda "endsWith".
Kako mogu potvrditi završava li niz s određenim sufiksom? Opet si odgovorio. Koristite metodu "endsWith" i navedite sufiks u argumentima.
Povratak istinski ako je niz znakova predstavljen argumentom sufiks niza znakova predstavljen ovim objektom.
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"));}}
Očekivani rezultat:
EndsWith character 'r': true
Metoda niza “replaceAll” & “replaceFirst”.
Želim modificirati svoj niz na nekoliko mjesta i zamijeniti nekoliko dijelova niza?
Java Metode String Replace, replaceAll i replaceFirst. Možete navesti dio niza koji želite zamijeniti i zamjenski niz u argumentima.
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"));}}
Očekivani rezultat:
Replace 'Rock' with 'Duke': DukeStar
Niz Java "mala slova" & Java Metoda "velika slova".
Želim da cijeli niz bude prikazan malim ili velikim slovima?
Samo upotrijebite metode “toLowercase()” ili “ToUpperCase()” za nizove koje je potrebno pretvoriti.
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());}}
Očekivani rezultat:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
Važne napomene:
- String je finalna klasa; tj. jednom stvorena vrijednost ne može se mijenjati. Stoga se String objekti nazivaju nepromjenjivima.
- Korištenje električnih romobila ističe Java Virtualni stroj (JVM) stvara memorijsku lokaciju posebno za pozivane nizove Konstantni skup nizova. Zato se String može inicijalizirati bez ključne riječi 'new'.
- String klasa spada pod java.lang.Hijerarhija nizova. Ali nema potrebe za uvozom ove klase. Java platforma ih automatski osigurava.
- Niz referenca se može nadjačati, ali to ne briše sadržaj; tj. ako
String h1 = “zdravo”;
h1 = “zdravo”+”svijete”;
tada se niz “hello” ne briše. Jednostavno gubi svoju dršku.
- Višestruke reference može se koristiti za isti String, ali hoće javljaju na istom mjestu; tj. ako
String h1 = “zdravo”;
String h2 = “zdravo”;
String h3 = “zdravo”;
tada se u memoriji kreira samo jedan skup za String “hello” s 3 reference-h1,h2,h3
- Ako je broj je naveden u ” “ onda to postaje niz, nije više broj. To znači ako
String S1 =”Broj je: “+ “123”+”456”;
Sustav.van.println(S1);
tada će ispisati: Broj je: 123456
Ako je inicijalizacija ovakva:
String S1 = “Broj je: “+(123+456);
System.out.println(S1);
tada će ispisati: Broj je:579
To je sve za Strings!