Mis on stringid?
String sõna otseses mõttes on märkide seeria. Hei, kas sa ütlesid märke, kas see pole Java ürgne andmetüüp. Jah, nii et tehnilises mõttes on Java põhistring põhimõtteliselt märkide massiiv.
Nii et minu ülalolevat " ROSE " stringi saab esitada järgmiselt -
Selles õpetuses saate teada
- Mis on stringid?
- Miks kasutada stringe?
- Stringi süntaksinäited
- Keelpillide liitmine
- Olulised Java stringide meetodid
Miks kasutada stringe?
Kaasaegse arvutiteaduse üks põhifunktsioone on inimkeele töötlemine.
Sarnaselt sellele, kuidas numbrid on matemaatika jaoks olulised, on tähendus ja otsuste tegemisel olulised ka keelesümbolid. Kuigi see ei pruugi arvutikasutajatele nähtav olla, töötlevad arvutid keelt taustal sama täpselt ja täpselt kui kalkulaator. Abidialoogid annavad juhiseid. Menüüd pakuvad valikuid. Andmekuvadel kuvatakse keele olekud, vead ja reaalajas tehtud muudatused.
Java programmeerijana on teie keelte salvestamise ja töötlemise üheks peamiseks tööriistaks klass String.
Stringi süntaksinäited
Läheme nüüd mõne süntaksini, lõpuks peame selle Java-koodi kirjutama, kas pole.
String on tähemärkide massiiv, mida tähistatakse järgmiselt:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
String on ülaltoodud näites määratletud järgmiselt:
= new (argument);
Nüüd ei saa me oma stringe alati massiividena kirjutada; seega võime stringi Java-s määratleda järgmiselt:
//Representation of StringString strSample_2 = "ROSE";
Tehnilises mõttes on ülaltoodu esindatud järgmiselt:
= ;
String klass Java ulatub Objekti klassi.
Stringi liitmine:
Liitmine on kahe või enama stringi ühendamine.
Heitke pilk allpool olevale pildile-
Meil on kaks stringi str1 = “Rock” ja str2 = “Star”
Kui liidame need kaks stringi, peaksime saama tulemuseks str3 = “RockStar”.
Kontrollige allolevat koodijuppi ja see selgitab kahte meetodit stringide liitmiseks.
Esimene kasutab stringiklassi meetodit “ concat ” ja teine aritmeetilist operaatorit “+”. Mõlemad annavad sama väljundi
avalik klass Sample_String {public staatiline void main (String [] args) {// Keelpillide liitmineString str1 = "Rock";String str2 = "Täht";// 1. meetod: konkati kasutamineString str3 = str1.kass (str2);System.out.println (str3);// 2. meetod: operaatori "+" kasutamineString str4 = str1 + str2;System.out.println (str4);}}
Olulised Java stringimeetodid:
Küsime Java Stringi klassilt paar küsimust ja uurime, kas see suudab neile vastata;)
Stringi "pikkuse" meetod
Kuidas määrate antud stringi pikkuse? Olen esitanud meetodi, mida nimetatakse pikkuseks. Kasutage seda pikkuse leidmiseks vajaliku stringi vastu.
avalik klass Sample_String {public static void main (String [] args) {// Meie näidistring selle õpetuse jaoksString str_Sample = "RockStar";// Stringi pikkusSystem.out.println ("Stringi pikkus: + str_Sample.length ());}}
väljund:
Length of String: 8
Stringi "indexOf" meetod
Kui ma tean pikkust, siis kuidas ma saaksin leida, milline tegelane millises asendis on? Lühidalt, kuidas ma leian tegelase registri?
Vastasite ise, sõber, on olemas meetod „indexOf”, mis aitab teil määrata teie määratud konkreetse märgi asukoha.
avalik klass Sample_String {public static void main (String [] args) {// Märk positsioonilString str_Sample = "RockStar";System.out.println ("Märk 5. positsioonil: + str_Sample.charAt (5));// Antud märgi registerSystem.out.println ("Märgi register" S ": + str_Sample.indexOf ('S'));}}
Väljund:
Character at position 5: tIndex of character 'S': 4
Stringi "charAt" meetod
Sarnaselt ülaltoodud küsimusele, arvestades indeksit, kuidas ma tean selle asukoha märki?
Jälle lihtne !! Kasutage meetodit „charAt” ja sisestage register, mille märgi peate leidma.
avalik klass Sample_String {public static void main (String [] args) {// Märk positsioonilString str_Sample = "RockStar";System.out.println ("Märk 5. positsioonil: + str_Sample.charAt (5));}}
Väljund:
Character at position 5: t
Stringi "Võrdle" meetod
Kas ma tahan kontrollida, kas mõne meetodi abil loodud string on võrdne millegagi, mida ma tahan kontrollida? Kuidas võrrelda kahte stringi?
Kasutage meetodit „CompareTo” ja määrake string, mida soovite võrrelda.
Kui te ei soovi, et tulemus oleks tõstutundlik, kasutage funktsiooni „CompareToIgnoreCase”.Tulemusel on väärtus 0, kui argumendistring on selle stringiga võrdne; väärtus on väiksem kui 0, kui see string on leksikograafiliselt väiksem kui stringi argument; ja väärtus on suurem kui 0, kui see string on leksikograafiliselt suurem kui stringi argument.
avalik klass Sample_String {public static void main (String [] args) {// Võrdle stringigaString str_Sample = "RockStar";System.out.println ("Võrdle 'ROCKSTAR'iga: + str_Sample.compareTo ("rockstar"));// Võrdle - ignoreeri juhtumitSystem.out.println ("Võrdle rakendusega" ROCKSTAR "- juhtumit ignoreeritakse: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}
Väljund:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
Stringi "Sisalda" meetod
Ma tean osaliselt, mida string pidanuks sisaldama, kuidas ma saan kinnitada, kas string sisaldab minu määratud tähemärkide jada?
Kasutage meetodit „sisaldab” ja määrake kontrollimiseks vajalikud märgid.
Tagastab tõene siis ja ainult siis, kui see string sisaldab määratud char-väärtuste jada.avalik klass Sample_String {public static void main (String [] args) {// Kontrollige, kas string sisaldab jadaString str_Sample = "RockStar";System.out.println ("Sisaldab jada 'tar': + str_Sample.contains ("tar"));}}
Väljund:
Contains sequence 'tar': true
String "lõpeb" meetodiga
Kuidas kinnitada, kui string lõpeb konkreetse järelliitega? Jällegi vastasid sellele. Kasutage meetodit “endWith” ja määrake argumentides järelliide.
Tagastab väärtuse Tõene, kui argumendiga tähistatud tähemärkide järjestus on selle objekti tähemärgijada järelliide.avalik klass Sample_String {public static void main (String [] args) {// Kontrollige, kas see lõpeb kindla järjestusegaString str_Sample = "RockStar";System.out.println ("Lõpeb tähemärgiga 'r': + str_Sample.endsWith ("r"));}}
Väljund:
EndsWith character 'r': true
Stringi meetod "aizstav kõik" ja "asenda esimene"
Soovin muuta oma stringi mitmes kohas ja asendada stringi mitu osa?
Java string Asenda, asenda kõik ja asenda esimesed meetodid. Argumentides saate määrata stringi osa, mida soovite asendada, ja asendusstringi.
avalik klass Sample_String {public static void main (String [] args) {// Asendage Rock sõnaga DukeString str_Sample = "RockStar";System.out.println ("Asendage" Rock "sõnaga" Duke ": + str_Sample.replace ("Rock", "Duke"));}}
Väljund:
Replace 'Rock' with 'Duke': DukeStar
String Java "tolowercase" ja Java "toppercase" meetod
Ma tahan, et kogu mu string kuvataks väikeste või suurte tähtedega?
Teisendatavate stringide vastu kasutage lihtsalt meetodeid “toLowercase ()” või “ToUpperCase ()”.
avalik klass Sample_String {public static void main (String [] args) {// Teisenda LowerCase'iksString str_Sample = "RockStar";System.out.println ("Teisenda LowerCase'iks: + str_Sample.toLowerCase ());// Teisenda UpperCase'iksSystem.out.println ("Teisendamine UpperCase'iks: + str_Sample.toUpperCase ());}}
Väljund:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
Olulised märkused:
- String on lõplik klass ; st kui see on loodud, ei saa seda enam muuta. Seega nimetatakse stringi objekte muutumatuteks.
- Java virtuaalne masin (JVM) loob mälupesa eriti stringide jaoks nimega String Constant Pool . Sellepärast saab stringi initsialiseerida ilma uue märksõnata.
- Stringiklass kuulub java.lang alla. Stringhierarhia . Kuid seda klassi pole vaja importida. Java platvorm pakub neid automaatselt.
- Stringiviite saab tühistada, kuid see ei kustuta sisu ; st kui
String h1 = "tere";
h1 = "tere" + "maailm";
siis "tere" stringi ei kustutata. See lihtsalt kaotab käepideme.
- Sama stringi jaoks võib kasutada mitut viidet, kuid see toimub samas kohas ; st kui
String h1 = "tere";
String h2 = "tere";
String h3 = "tere";
siis luuakse mällu ainult üks string String “tere” jaoks koos 3 viitega-h1, h2, h3
- Kui number on tsiteeritud "" siis muutub string , ei ole number enam. See tähendab, et kui
String S1 = "Arv on: + "123" + "456";
Süsteem. välja .println (S1);
siis prinditakse: number on: 123456
Kui lähtestamine toimub järgmiselt:
String S1 = "Arv on: + (123 + 456);
Süsteem. välja .println (S1);
siis trükitakse: Number on: 579 See on kõik stringidele!