Kaj so strune?
Niz v dobesednem smislu je vrsta znakov. Hej, ali ste rekli znaki, ali ni to primitiven podatkovni tip v Javi. Da, tako da je v tehničnem smislu osnovni Java String v osnovi vrsta znakov.
Torej je moj zgornji niz » ROSE « lahko predstavljen kot naslednji -
V tej vadnici boste izvedeli-
- Kaj so strune?
- Zakaj uporabljati Strings?
- Primeri sintakse niza
- Združevanje nizov
- Pomembne metode nizov Java
Zakaj uporabljati Strings?
Ena glavnih funkcij sodobne računalniške znanosti je obdelava človeškega jezika.
Podobno kot so številke pomembne za matematiko, so tudi jezikovni simboli pomembni za pomen in odločanje. Čeprav morda računalnikom ni viden, računalniki v ozadju obdelujejo jezik tako natančno in natančno kot kalkulator. V pogovornih oknih za pomoč so navodila. Meniji ponujajo izbiro. Prikazi podatkov prikazujejo stanja, napake in sprotne spremembe jezika.
Kot programer Java bo eno glavnih orodij za shranjevanje in obdelavo jezika razred String.
Primeri sintakse niza
Zdaj pa pojdimo na nekaj sintakse, navsezadnje moramo to zapisati v kodo Java, kajne.
String je niz znakov, predstavljen kot:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
V tehničnem smislu je niz v zgornjem primeru opredeljen na naslednji način:
= new (argument);
Zdaj vedno ne moremo zapisati svojih nizov v nize; zato lahko v Javi definiramo niz na naslednji način:
//Representation of StringString strSample_2 = "ROSE";
V tehničnem smislu je navedeno predstavljeno kot:
= ;
String razreda Java sega v razred Object.
Združevanje nizov:
Združevanje je združevanje dveh ali več nizov.
Oglejte si spodnjo sliko -
Imamo dva niza str1 = “Rock” in str2 = “Star”
Če seštejemo ta dva niza, bi morali dobiti rezultat kot str3 = “RockStar”.
Preverite spodnji delček kode in pojasnjuje dva načina za izvedbo združevanja nizov.
Prva uporablja metodo " concat " iz razreda String, druga pa aritmetični operator "+". Oba imata enak izhod
javni razred Sample_String {public static void main (String [] args) {// Združevanje nizovNiz str1 = "Rock";Niz str2 = "Zvezdica";// Metoda 1: Uporaba concatNiz str3 = str1.concat (str2);System.out.println (str3);// 2. način: Uporaba operatorja "+"Niz str4 = str1 + str2;System.out.println (str4);}}
Pomembne metode nizov Java:
Zastavimo razredu Java String nekaj vprašanj in preverimo, ali lahko nanje odgovori;)
Metoda "dolžine" niza
Kako boste določili dolžino danega niza? Navedel sem metodo, imenovano "dolžina". Uporabite ga proti nizu, ki ga potrebujete za iskanje dolžine.
javni razred Sample_String {public static void main (String [] args) {// Naš vzorčni niz za to vadnicoString str_Sample = "RockStar";// Dolžina nizaSystem.out.println ("Dolžina niza: + str_Sample.length ());}}
izhod:
Length of String: 8
Niz "indexOf" metoda
Če vem dolžino, kako najdem, kateri lik je v katerem položaju? Skratka, kako najdem kazalo znaka?
Sam si odgovoril, kolega, obstaja metoda "indexOf", ki ti bo pomagala določiti lokacijo določenega znaka, ki ga določiš.
javni razred Sample_String {public static void main (String [] args) {// Znak na položajuString str_Sample = "RockStar";System.out.println ("Znak na položaju 5: + str_Sample.charAt (5));// Kazalo danega znakaSystem.out.println ("Kazalo znaka 'S': + str_Sample.indexOf ('S'));}}
Izhod:
Character at position 5: tIndex of character 'S': 4
Niz "charAt" metoda
Podobno kot pri zgornjem vprašanju, glede na indeks, kako naj poznam lik na tej lokaciji?
Spet preprost !! Uporabite metodo "charAt" in navedite indeks, katerega znak morate najti.
javni razred Sample_String {public static void main (String [] args) {// Znak na položajuString str_Sample = "RockStar";System.out.println ("Znak na položaju 5: + str_Sample.charAt (5));}}
Izhod:
Character at position 5: t
Niz »Primerjaj z« Metoda
Ali želim preveriti, ali je niz, ki ga je ustvarila neka metoda, enak nečemu, s čimer želim preveriti? Kako lahko primerjam dva niza?
Uporabite metodo »compareTo« in določite niz, ki ga želite primerjati.
Uporabite “compareToIgnoreCase”, če ne želite, da rezultat razlikuje med velikimi in malimi črkami.Rezultat bo imel vrednost 0, če je niz argumentov enak temu nizu; vrednost manjša od 0, če je ta niz leksikografsko manjši od argumenta niza; in vrednost večja od 0, če je ta niz leksikografsko večji od argumenta niza.
javni razred Sample_String {public static void main (String [] args) {// Primerjaj z nizomString str_Sample = "RockStar";System.out.println ("Primerjaj z 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Primerjaj z - Prezri črkoSystem.out.println ("Primerjaj z 'ROCKSTAR' - primer prezrt: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}
Izhod:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
Niz "vsebuje" metodo
Delno vem, kaj naj vsebuje niz, kako naj potrdim, ali niz vsebuje zaporedje znakov, ki jih določim?
Uporabite metodo »vsebuje« in določite znake, ki jih morate preveriti.
Vrne true, če in samo, če ta niz vsebuje določeno zaporedje vrednosti char.javni razred Sample_String {public static void main (String [] args) {// Preverite, ali String vsebuje zaporedjeString str_Sample = "RockStar";System.out.println ("Vsebuje zaporedje 'tar': + str_Sample.contains ("tar"));}}
Izhod:
Contains sequence 'tar': true
Niz "ENDWith" Metoda
Kako lahko potrdim, ali se niz konča z določeno pripono? Spet ste odgovorili. Uporabite metodo »endsWith« in v argumentih določite pripono.
Vrne true, če je zaporedje znakov, ki ga predstavlja argument, pripona zaporedja znakov, ki ga predstavlja ta objekt.javni razred Sample_String {public static void main (String [] args) {// Preveri, če se konča z določenim zaporedjemString str_Sample = "RockStar";System.out.println ("Konča z znakom 'r': + str_Sample.endsWith ("r"));}}
Izhod:
EndsWith character 'r': true
Niz "replaceAll" in "replaceFirst"
Želim spremeniti svoj niz na več mestih in zamenjati več delov niza?
Java String Metode zamenjaj, zamenjajVse in zamenjajFirst. V nizu lahko določite del niza, ki ga želite zamenjati, in nadomestni niz.
javni razred Sample_String {public static void main (String [] args) {// Rock zamenjajte z besedo DukeString str_Sample = "RockStar";System.out.println ("Zamenjaj" Rock "z" Duke ": + str_Sample.replace ("Rock", "Duke"));}}
Izhod:
Replace 'Rock' with 'Duke': DukeStar
Niz metode "tolowercase" & Java "touppercase"
Želim, da je celoten niz prikazan z malimi ali velikimi črkami?
Preprosto uporabite metode “toLowercase ()” ali “ToUpperCase ()” za nize, ki jih je treba pretvoriti.
javni razred Sample_String {public static void main (String [] args) {// Pretvori v LowerCaseString str_Sample = "RockStar";System.out.println ("Pretvori v LowerCase: + str_Sample.toLowerCase ());// Pretvori v UpperCaseSystem.out.println ("Pretvori v UpperCase: + str_Sample.toUpperCase ());}}
Izhod:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
Pomembne točke:
- String je zaključni razred ; tj. ko je vrednost enkrat ustvarjena, je ni mogoče spremeniti. Predmeti String se tako imenujejo nespremenljivi.
- Navidezni stroj Java (JVM) ustvari pomnilniško lokacijo, zlasti za nize, imenovane String Constant Pool . Zato je String mogoče inicializirati brez ključne besede 'new'.
- Razred nizov spada v hierarhijo java.lang.String . Vendar tega razreda ni treba uvoziti. Java platforma jih zagotavlja samodejno.
- Sklic niza je mogoče preglasiti, vendar to ne izbriše vsebine ; če je
Niz h1 = "zdravo";
h1 = "zdravo" + "svet";
potem se "hello" niz ne izbriše. Preprosto izgubi ročaj.
- Za isti niz lahko uporabimo več referenc, vendar se bo to zgodilo na istem mestu ; če je
Niz h1 = "zdravo";
Niz h2 = "zdravo";
Niz h3 = "zdravo";
potem se v pomnilniku ustvari samo en bazen za niz »hello« s 3 referencami - h1, h2, h3
- Če je številka navedena v "", potem postane niz in ne več. To pomeni, da če
Niz S1 = "Število je: + "123" + "456";
Sistem. ven .println (S1);
nato se bo natisnilo: Številka je: 123456
Če je inicializacija takšna:
Niz S1 = "Število je: + (123 + 456);
Sistem. ven .println (S1);
nato se bo natisnilo: Številka je: 579 To je vse za Strings!