Java-merkkijonojen manipulointi: Funktiot ja menetelmät ESIMERKIN kanssa

Sisällysluettelo:

Anonim

Mitä merkkijonot ovat?

Merkkijono kirjaimellisesti on sarja merkkejä. Hei, sanoitko merkkejä, eikö se ole primitiivinen tietotyyppi Javassa. Kyllä, joten teknisesti Java-merkkijono on periaatteessa joukko merkkejä.

Joten yllä oleva " ROSE " -merkkijoni voidaan esittää seuraavasti -

Tässä opetusohjelmassa opit-

  • Mitä merkkijonot ovat?
  • Miksi käyttää merkkijonoja?
  • Merkkijononaksen esimerkit
  • Merkkijono ketjutus
  • Tärkeät Java-merkkijonomenetelmät

Miksi käyttää merkkijonoja?

Yksi nykyaikaisen tietojenkäsittelytieteen päätoiminnoista on ihmiskielen käsittely.

Samoin kuin numerot ovat tärkeitä matematiikalle, kielisymbolit ovat tärkeitä merkitykselle ja päätöksenteolle. Vaikka se ei ehkä näy tietokoneen käyttäjille, tietokoneet käsittelevät kieltä taustalla yhtä tarkasti ja tarkasti kuin laskin. Ohjeikkunat tarjoavat ohjeita. Valikot tarjoavat vaihtoehtoja. Ja tietonäytöt näyttävät tilat, virheet ja reaaliaikaiset kielen muutokset.

Java-ohjelmoijana yksi tärkeimmistä kielen tallentamisen ja käsittelyn työkaluista on String-luokka.

Merkkijononaksen esimerkit

Mennään nyt syntaksiin, loppujen lopuksi meidän on kirjoitettava tämä Java-koodiin.

Merkkijono on joukko merkkejä, joita edustaa:

//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);

String määritellään teknisesti seuraavassa esimerkissä seuraavasti:

= new (argument);

Nyt emme aina voi kirjoittaa merkkijonoja matriiseina; siten voimme määritellä merkkijonon Java-muodossa seuraavasti:

//Representation of StringString strSample_2 = "ROSE";

Teknisessä mielessä yllä on esitetty:

= ;

String luokka Java ulottuu Object-luokan.

Merkkijono ketjutus:

Ketjutus on kahden tai useamman merkkijonon yhdistämistä.

Katso alla oleva kuva-

Meillä on kaksi merkkijonoa str1 = “Rock” ja str2 = “Star”

Jos laskemme nämä kaksi merkkijonoa yhteen, tuloksena tulisi olla str3 = “RockStar”.

Tarkista alla oleva koodinpätkä ja siinä selitetään kaksi tapaa suorittaa merkkijono ketjutus.

Ensimmäinen on String-luokan ” concat ” -menetelmä ja toinen aritmeettinen “+” -operaattori. Molemmat tuottavat saman tuotoksen

julkinen luokka Sample_String {public staattinen void main (String [] argumentoi) {// Merkkijonon ketjutusMerkkijono str1 = "Rock";Merkkijono str2 = "Tähti";// Menetelmä 1: Concatin käyttöMerkkijono str3 = str1.concat (str2);System.out.println (str3);// Tapa 2: Käyttämällä "+" -operaattoriaMerkkijono str4 = str1 + str2;System.out.println (str4);}}

Tärkeät Java-merkkijonomenetelmät:

Esitämme Java String -luokalle muutaman kysymyksen ja katsotaan, vastaako se niihin;)

Merkkijono "pituus" -menetelmä

Kuinka määrität merkkijonon pituuden? Olen toimittanut menetelmän, jota kutsutaan nimellä "pituus". Käytä sitä merkkijonoa vastaan, jonka pituus on löydettävä.

julkinen luokka Sample_String {public static void main (String [] args) {// Tämän opetusohjelman esimerkkijonoMerkkijono str_Sample = "RockStar";// Merkkijonon pituusSystem.out.println ("Merkkijonon pituus: + str_Sample.length ());}}

lähtö:

Length of String: 8

Merkkijono "indexOf" -menetelmä

Jos tiedän pituuden, kuinka voisin löytää mikä merkki on missä asennossa? Lyhyesti sanottuna, kuinka löydän merkin hakemiston?

Vastasit itsellesi, kaveri, on olemassa "indexOf" -menetelmä, joka auttaa sinua määrittämään määrittämäsi tietyn merkin sijainnin.

julkinen luokka Sample_String {public static void main (String [] args) {// Merkki sijainnissaMerkkijono str_Sample = "RockStar";System.out.println ("Merkki paikassa 5: + str_Sample.charAt (5));// Annetun merkin hakemistoSystem.out.println ("Merkkihakemisto 'S': + str_Sample.indexOf ('S'));}}

Tuotos:

Character at position 5: tIndex of character 'S': 4

Merkkijono "charAt" -menetelmä

Samanlainen kuin edellinen kysymys, hakemiston perusteella, mistä tunnen merkin kyseisessä paikassa?

Yksinkertainen taas! Käytä "charAt" -menetelmää ja anna hakemisto, jonka merkki sinun on löydettävä.

julkinen luokka Sample_String {public static void main (String [] args) {// Merkki sijainnissaMerkkijono str_Sample = "RockStar";System.out.println ("Merkki paikassa 5: + str_Sample.charAt (5));}}

Tuotos:

Character at position 5: t

Merkkijono "CompareTo" -menetelmä

Haluan tarkistaa, vastaako jollakin menetelmällä luotu merkkijono jotain, jolla haluan vahvistaa? Kuinka verran kahta merkkijonoa?

Käytä menetelmää "vertailla" ja määritä merkkijono, jota haluat verrata.

Käytä vertailuaToIgnoreCase, jos et halua, että tulos erottelee isot ja pienet kirjaimet.

Tuloksen arvo on 0, jos argumenttimerkkijono on yhtä suuri kuin tämä merkkijono; arvo pienempi kuin 0, jos tämä merkkijono on leksikografisesti pienempi kuin merkkijono-argumentti; ja arvo suurempi kuin 0, jos tämä merkkijono on leksikografisesti suurempi kuin merkkijono-argumentti.

julkinen luokka Sample_String {public static void main (String [] args) {// Vertaa merkkijonoonMerkkijono str_Sample = "RockStar";System.out.println ("Vertaa ROCKSTARiin": "+ str_Sample.compareTo (" rockstar "));// Vertaa - Ohita tapausSystem.out.println ("Vertaa ROCKSTARiin" - tapaus ohitettu: "+ str_Sample.compareToIgnoreCase (" ROCKSTAR "));}}

Tuotos:

Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0

Merkkijono "Sisällytä" -menetelmä

Tiedän osittain, mitä merkkijonon olisi pitänyt sisältää, miten voin vahvistaa, jos merkkijono sisältää määritetyn merkkisarjan?

Käytä menetelmää "sisältää" ja määritä tarkistettavat merkit.

Palauttaa arvon tosi vain, jos tämä merkkijono sisältää määritetyn char-arvosarjan.
julkinen luokka Sample_String {public static void main (String [] args) {// Tarkista, sisältääkö String sekvenssinMerkkijono str_Sample = "RockStar";System.out.println ("Sisältää sekvenssin 'tar': + str_Sample.contains ("tar"));}}

Tuotos:

Contains sequence 'tar': true

Merkkijono "loppuu" -menetelmällä

Kuinka voin vahvistaa, jos merkkijono päättyy tiettyyn loppuliitteeseen? Jälleen vastait siihen. Käytä "endWith" -menetelmää ja määritä loppu argumentteihin.

Palauttaa arvon tosi, jos argumentin edustama merkkijono on tämän objektin edustaman merkkijonon jälkiliite.
julkinen luokka Sample_String {public static void main (String [] args) {// Tarkista, päättyykö tietty sarjaMerkkijono str_Sample = "RockStar";System.out.println ("Päättyy merkillä 'r': + str_Sample.endsWith ("r"));}}

Tuotos:

EndsWith character 'r': true

Merkkijono "vaihda kaikki" ja "korvaa ensimmäinen"

Haluan muokata merkkijononi useissa paikoissa ja korvata useita merkkijonon osia?

Java-merkkijono Korvaa, korvaa kaikki ja korvaa ensin -menetelmät. Voit määrittää argumentissa sen merkkijonon osan, jonka haluat korvata, ja korvaavan merkkijonon.

julkinen luokka Sample_String {public static void main (String [] args) {// Korvaa Rock sanalla DukeMerkkijono str_Sample = "RockStar";System.out.println ("Korvaa" Rock "sanalla" Duke ": + str_Sample.replace ("Rock", "Duke"));}}

Tuotos:

Replace 'Rock' with 'Duke': DukeStar

Merkkijono Java "tolowercase" ja Java "toppercase" menetelmä

Haluan, että koko merkkijononi näkyy pienillä tai isoilla kirjaimilla?

Käytä vain ”toLowercase ()” tai “ToUpperCase ()” -menetelmiä muunnettavia merkkijonoja vastaan.

julkinen luokka Sample_String {public static void main (String [] args) {// Muunna LowerCase-muotoonMerkkijono str_Sample = "RockStar";System.out.println ("Muunna LowerCase: + str_Sample.toLowerCase ());// Muunna UpperCase-muotoonSystem.out.println ("Muunna UpperCase: + str_Sample.toUpperCase ());}}

Tuotos:

Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR

Tärkeitä huomioitavia seikkoja:

  • Jousisoitin on finaali ; eli kun arvo on luotu, sitä ei voi muuttaa. Siten merkkijonoja kutsutaan muuttumattomiksi.
  • Java Virtual Machine (JVM) luo muistipaikan erityisesti merkkijonoja varten, nimeltään String Constant Pool . Siksi merkkijono voidaan alustaa ilman uutta avainsanaa.
  • Merkkijonoluokka kuuluu java.lang.Jonohierarkiaan . Tätä luokkaa ei kuitenkaan tarvitse tuoda. Java-alusta tarjoaa ne automaattisesti.
  • Merkkijonoviite voidaan ohittaa, mutta se ei poista sisältöä . eli jos

Merkkijono h1 = "hei";

h1 = "hei" + "maailma";

sitten "hei" merkkijonoa ei poisteta. Se vain menettää kahvan.

  • Samalle merkkijonolle voidaan käyttää useita viitteitä, mutta se esiintyy samassa paikassa ; eli jos

Merkkijono h1 = "hei";

Merkkijono h2 = "hei";

Merkkijono h3 = "hei";

sitten muistiin luodaan vain yksi pooli merkkijonolle "hei", 3 viitteellä - h1, h2, h3

  • Jos numero on merkitty "": ssä, siitä tulee merkkijono , ei enää numero. Se tarkoittaa, jos

Merkkijono S1 = "Luku on: + "123" + "456";

Järjestelmä. out. println (S1);

sitten se tulostaa: Numero on: 123456

Jos alustus on seuraava:

Merkkijono S1 = "Luku on: + (123 + 456);

Järjestelmä. out. println (S1);

sitten se tulostaa: Numero on: 579 Siinä kaikki jousille!