Java Merkkijonojen käsittely EXAMPLE:lla
Mitä stringit sisältävät Java?
Merkkijono kirjaimellisesti on merkkisarja. Hei, sanoitko merkkejä, eikö se ole primitiivinen tietotyyppi Java. Kyllä, niin teknisesti perus Java Merkkijono on pohjimmiltaan joukko merkkejä.
Joten yllä oleva merkkijononi "ROSE" voidaan esittää seuraavasti -
Miksi käyttää merkkijonoja?
Yksi modernin tietojenkäsittelytieteen päätehtävistä on ihmisen kielen käsittely.
Samoin kuin numerot ovat tärkeitä matematiikalle, kielisymbolit ovat tärkeitä merkityksen ja päätöksenteon kannalta. Vaikka se ei ehkä näy tietokoneen käyttäjille, tietokoneet käsittelevät kieltä taustalla yhtä tarkasti ja tarkasti kuin laskin. Ohje-ikkunat tarjoavat ohjeita. Valikot tarjoavat valinnanvaraa. Tietonäytöt näyttävät tilat, virheet ja reaaliaikaiset muutokset kieleen.
Kuten Java ohjelmoija, yksi tärkeimmistä työkaluistasi kielen tallentamiseen ja käsittelyyn tulee olemaan String-luokka.
Merkkijonosyntaksiesimerkkejä
Mennään nyt syntaksiin, loppujen lopuksi meidän on kirjoitettava tämä sisään Java koodi eikö olekin.
Merkkijono on joukko merkkejä, jotka esitetään seuraavasti:
//String is an array of characters char[] arrSample = {'R', 'O', 'S', 'E'}; String strSample_1 = new String (arrSample);
Teknisin termein merkkijono määritellään seuraavasti yllä olevassa esimerkissä-
= new (argument);
Nyt emme aina voi kirjoittaa merkkijonojamme taulukoina; joten voimme määritellä merkkijonon Java seuraavasti:
//Representation of String String strSample_2 = "ROSE";
Teknisesti yllä oleva on esitetty seuraavasti:
= ;
- Jousiluokka Java ulottuu Ishayoiden opettaman Objektiluokka.
Merkkijonojen ketjutus:
Yhdistäminen on kahden tai useamman merkkijonon yhdistämistä.
Katso alla olevaa kuvaa -
Meillä on kaksi merkkijonoa str1 = "Rock" ja str2 = "tähti"
Jos laskemme nämä kaksi merkkijonoa yhteen, tuloksena pitäisi olla str3= “RockStar”.
Tarkista alla oleva koodinpätkä, ja se selittää kaksi tapaa suorittaa merkkijonojen yhdistäminen.
Ensin käytetään "concat" String-luokan menetelmä ja toinen käyttää aritmeettista "+"-operaattoria. Molemmilla on sama tulos
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); } }
Odotettu tuotos:
RockStar RockStar
Tärkeä Java merkkijonomenetelmät:
Kysytäänpä Java Kirjoita luokalle muutama kysymys ja katso, voiko se vastata niihin:
Merkkijono "pituus" -menetelmä
Miten määrität tietyn merkkijonon pituuden? Olen tarjonnut menetelmän nimeltä "pituus". Käytä sitä merkkijonoa vastaan, jonka tarvitset löytääksesi pituuden.
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());}}
Odotettu tuotos:
Length of String: 8
Merkkijono "indexOf" -menetelmä
Jos tiedän pituuden, miten saan selville, mikä hahmo on missä asennossa? Lyhyesti sanottuna, kuinka löydän merkin indeksin?
Vastasit itsellesi, kaveri, on olemassa "indexOf"-menetelmä, joka auttaa sinua määrittämään määrittämäsi tietyn merkin sijainnin.
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'));}}
Odotettu tuotos:
Character at position 5: t Index of character 'S': 4
Merkkijono "charAt" -menetelmä
Kuten yllä oleva kysymys, mistä tiedän merkin kyseisessä paikassa, kun otetaan huomioon hakemisto?
Yksinkertainen taas!! Käytä "charAt"-menetelmää ja anna indeksi, jonka merkki sinun on löydettävä.
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));}}
Odotettu tuotos:
Character at position 5: t
Merkkijono "Vertaa" -menetelmä
Haluanko tarkistaa, vastaako jollain menetelmällä luotu merkkijono jotain, jolla haluan varmistaa? Kuinka vertaan kahta merkkijonoa?
Käytä menetelmää "vertaa” ja määritä merkkijono, jota haluat verrata.
Käytä "compareToIgnoreCase" jos et halua tuloksen olevan kirjainkoolla.
Tuloksen arvo on 0, jos argumenttijono on yhtä suuri kuin tämä merkkijono; arvo, joka on pienempi kuin 0, jos tämä merkkijono on leksikografisesti pienempi kuin merkkijonoargumentti; ja arvo, joka on suurempi kuin 0, jos tämä merkkijono on leksikografisesti suurempi kuin merkkijonoargumentti.
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"));}}
Odotettu tuotos:
Compare To 'ROCKSTAR': -32 Compare To 'ROCKSTAR' - Case Ignored: 0
Merkkijono "Sisältää" -menetelmä
Tiedän osittain, mitä merkkijonon olisi pitänyt sisältää. Kuinka voin varmistaa, että merkkijono sisältää määrittämäni merkkijonon?
Käytä menetelmää "sisältää” ja määritä merkit, jotka sinun on tarkistettava.
Palautukset totta jos ja vain jos tämä merkkijono sisältää määritetyn merkkijonon.
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"));}}
Odotettu tuotos:
Contains sequence 'tar': true
Merkkijono "endsWith" -menetelmä
Kuinka varmistan, että merkkijono päättyy tiettyyn loppuliitteeseen? Taas vastasit siihen. Käytä "endsWith"-menetelmää ja määritä argumenteissa pääte.
Palautukset totta jos argumentin edustama merkkijono on tämän objektin edustaman merkkijonon pääte.
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"));}}
Odotettu tuotos:
EndsWith character 'r': true
Merkkijono "replaceAll" ja "replaceFirst" Method
Haluan muokata merkkijonoani useissa paikoissa ja korvata useita merkkijonon osia?
Java Merkkijono Korvaa, korvaaKaikki ja korvaaFirst-menetelmät. Voit määrittää argumenteissa sen osan merkkijonosta, jonka haluat korvata, ja korvaavan merkkijonon.
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"));}}
Odotettu tuotos:
Replace 'Rock' with 'Duke': DukeStar
jono Java "pienillä kirjaimilla" & Java "suurkirjain" -menetelmä
Haluanko koko merkkijononi näkyvän pienillä tai isoilla kirjaimilla?
Käytä vain "toLowercase()"- tai "ToUpperCase()"-menetelmiä muunnettavia merkkijonoja vastaan.
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());}}
Odotettu tuotos:
Convert to LowerCase: rockstar Convert to UpperCase: ROCKSTAR
Tärkeitä huomioitavia seikkoja:
- String on loppuluokka; eli kerran luotua arvoa ei voi muuttaa. Näin ollen merkkijono-objekteja kutsutaan muuttumattomiksi.
- - Java Virtual Machine (JVM) luo muistipaikan erityisesti kutsutuille merkkijonoille String Constant Pool. Tästä syystä merkkijono voidaan alustaa ilman "uutta" avainsanaa.
- Jousiluokka kuuluu alle java.lang.Merkkijonohierarkia. Mutta tätä luokkaa ei tarvitse tuoda. Java alusta tarjoaa ne automaattisesti.
- jono viittaus voidaan ohittaa, mutta se ei poista sisältöä; eli jos
Merkkijono h1 = "hei";
h1 = "hei"+"maailma";
sitten "hello"-merkkijonoa ei poisteta. Se vain menettää kahvansa.
- Useita viittauksia voidaan käyttää samalle merkkijonolle, mutta se käy esiintyä samassa paikassa; eli jos
Merkkijono h1 = "hei";
Merkkijono h2 = "hei";
Merkkijono h3 = "hei";
silloin vain yksi pooli merkkijonolle "hello" luodaan muistiin 3 viitteellä-h1,h2,h3
- Jos numero lainataan "" sitten se muuttuu merkkijonoksi, ei enää numero. Eli jos
String S1 ="Numero on: "+ "123"+"456";
Järjestelmä.ulos.println(S1);
sitten se tulostaa: Numero on: 123456
Jos alustus on tällainen:
Merkkijono S1 = "Numero on: "+(123+456);
System.out.println(S1);
sitten se tulostaa: Numero on:579
Siinä kaikki Stringsille!