Čo sú to struny?
Doslovný reťazec je séria znakov. Hej, povedali ste znaky, nie je to v Jave primitívny údajový typ. Áno, takže z technického hľadiska je základný reťazec Java String v podstate pole znakov.
Takže môj vyššie uvedený reťazec „ ROSE “ môže byť znázornený ako nasledujúci -
V tomto návode sa naučíte
- Čo sú to struny?
- Prečo používať struny?
- Príklady syntaxe reťazcov
- Zreťazenie reťazca
- Dôležité metódy reťazcov Java
Prečo používať struny?
Jednou z hlavných funkcií modernej informatiky je spracovanie ľudského jazyka.
Podobne ako sú dôležité čísla pre matematiku, aj jazykové symboly sú dôležité pre význam a rozhodovanie. Aj keď to pre používateľov počítačov nemusí byť viditeľné, počítače spracovávajú jazyk na pozadí rovnako presne a presne ako kalkulačka. Pokyny poskytujú dialógové okná pomoci. Ponuky poskytujú výber. A údajové displeje zobrazujú stavy, chyby a zmeny jazyka v reálnom čase.
Ako programátor v jazyku Java bude jedným z vašich hlavných nástrojov na ukladanie a spracovanie jazyka trieda String.
Príklady syntaxe reťazcov
Poďme teraz k nejakej syntaxi, koniec koncov, toto musíme napísať do Java kódu, nie?
Reťazec je pole znakov vyjadrené ako:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
Z technického hľadiska je reťazec vo vyššie uvedenom príklade definovaný takto -
= new (argument);
Teraz nikdy nemôžeme napísať svoje reťazce ako polia; teda môžeme definovať String v Jave takto:
//Representation of StringString strSample_2 = "ROSE";
Z technického hľadiska je vyššie uvedené vyjadrené ako:
= ;
String trieda Java rozširuje o triedu objektu.
Zreťazenie reťazca:
Zreťazenie je spojenie dvoch alebo viacerých reťazcov.
Pozrite sa na obrázok nižšie
Máme dva reťazce str1 = „Rock“ a str2 = „Hviezda“
Ak tieto dva reťazce spočítame, mali by sme mať výsledok ako str3 = “RockStar”.
Skontrolujte nasledujúci úryvok kódu a vysvetľuje dva spôsoby vykonania zreťazenia reťazca.
Prvý používa metódu „ concat “ triedy String a druhý aritmetický operátor „+“. Výsledkom oboch výsledkov je rovnaký výstup
verejná trieda Sample_String {public static void main (String [] args) {// Zreťazenie reťazcovReťazec str1 = "Kameň";Reťazec str2 = "Hviezda";// Metóda 1: Použitie concatReťazec str3 = str1.concat (str2);System.out.println (str3);// Metóda 2: Použitie operátora „+“Reťazec str4 = str1 + str2;System.out.println (str4);}}
Dôležité metódy reťazcov Java:
Poďme položiť triede Java String niekoľko otázok a zistiť, či na ne dokáže odpovedať;)
Metóda reťazca "Dĺžka"
Ako určíte dĺžku daného reťazca? Poskytla som metódu nazývanú „dĺžka“. Použite ho proti Stringu, ktorý potrebujete na zistenie dĺžky.
verejná trieda Sample_String {public static void main (String [] args) {// Náš vzorový reťazec pre tento tutoriálReťazec str_Sample = "RockStar";// Dĺžka reťazcaSystem.out.println ("Dĺžka reťazca: + str_Sample.length ());}}
výkon:
Length of String: 8
Reťazec "indexOf" metóda
Ak viem dĺžku, ako zistím, ktorá postava je v ktorej pozícii? Stručne povedané, ako nájdem index postavy?
Odpovedali ste si, kamarát, existuje metóda „indexOf“, ktorá ti pomôže určiť umiestnenie konkrétneho znaku, ktorý zadáš.
verejná trieda Sample_String {public static void main (String [] args) {// Znak na pozíciiReťazec str_Sample = "RockStar";System.out.println ("Znak na pozícii 5: + str_Sample.charAt (5));// Register daného znakuSystem.out.println ("Register znaku 'S': + str_Sample.indexOf ('S'));}}
Výkon:
Character at position 5: tIndex of character 'S': 4
Metóda reťazca "charAt"
Ako podobne ako vyššie uvedená otázka, vzhľadom na index, ako poznám znak na danom mieste?
Opäť jednoduchá !! Použite metódu „charAt“ a zadajte index, ktorého znak musíte nájsť.
verejná trieda Sample_String {public static void main (String [] args) {// Znak na pozíciiReťazec str_Sample = "RockStar";System.out.println ("Znak na pozícii 5: + str_Sample.charAt (5));}}
Výkon:
Character at position 5: t
Reťazec "Porovnať" s metódou
Chcem skontrolovať, či sa reťazec, ktorý bol vygenerovaný nejakou metódou, rovná niečomu, s čím ho chcem overiť? Ako môžem porovnať dva reťazce?
Použite metódu „compareTo“ a zadajte reťazec, ktorý chcete porovnať.
Použite príkaz „compareToIgnoreCase“ pre prípad, že nechcete, aby sa pri výsledkoch rozlišovali malé a veľké písmená.Výsledok bude mať hodnotu 0, ak sa reťazec argumentov rovná tomuto reťazcu; hodnota menšia ako 0, ak je tento reťazec lexikograficky menší ako argument reťazca; a hodnotu väčšiu ako 0, ak je tento reťazec lexikograficky väčší ako argument reťazca.
verejná trieda Sample_String {public static void main (String [] args) {// Porovnať s reťazcomReťazec str_Sample = "RockStar";System.out.println ("Porovnať s 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Porovnať s - Ignorovať veľké a malé písmenáSystem.out.println ("Porovnať s 'ROCKSTAR' - Ignorovaný prípad: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}
Výkon:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
Metóda reťazca „obsahujú“
Čiastočne viem, čo mal reťazec obsahovať, ako potvrdím, ak reťazec obsahuje sled znakov, ktoré zadám?
Použite metódu „obsahuje“ a zadajte znaky, ktoré musíte skontrolovať.
Vráti hodnotu true, len ak tento reťazec obsahuje zadanú postupnosť hodnôt char.verejná trieda Sample_String {public static void main (String [] args) {// Skontrolujte, či reťazec obsahuje sekvenciuReťazec str_Sample = "RockStar";System.out.println ("Obsahuje postupnosť 'tar': + str_Sample.contains ("tar"));}}
Výkon:
Contains sequence 'tar': true
Reťazec "endsWith" metóda
Ako potvrdím, ak sa reťazec končí konkrétnou príponou? Opäť si na to odpovedal. Použite metódu „endsWith“ a v argumentoch zadajte príponu.
Vráti hodnotu true, ak je postupnosť znakov predstavovaná argumentom príponou postupnosti znakov predstavovanou týmto objektom.verejná trieda Sample_String {public static void main (String [] args) {// Skontrolujte, či končí konkrétnou sekvenciouReťazec str_Sample = "RockStar";System.out.println ("EndsWith znakom 'r': + str_Sample.endsWith ("r"));}}
Výkon:
EndsWith character 'r': true
Reťazec "replaceAll" & "replaceFirst" Metóda
Chcem upraviť svoj reťazec na viacerých miestach a nahradiť niekoľko častí reťazca?
Java String Metódy Replace, replaceAll a replaceFirst. V argumentoch môžete určiť časť reťazca, ktorý chcete nahradiť, a náhradný reťazec.
verejná trieda Sample_String {public static void main (String [] args) {// Nahraďte Rock slovom DukeReťazec str_Sample = "RockStar";System.out.println ("Nahradiť výraz„ Rock "výrazom„ Duke ": + str_Sample.replace ("Rock", "Duke"));}}
Výkon:
Replace 'Rock' with 'Duke': DukeStar
Metóda reťazca Java „tolowercase“ a Java „touppercase“
Chcem, aby sa celý môj reťazec zobrazoval malými alebo veľkými písmenami?
Stačí použiť metódy „toLowercase ()“ alebo „ToUpperCase ()“ proti reťazcom, ktoré je potrebné previesť.
verejná trieda Sample_String {public static void main (String [] args) {// Konvertovať na LowerCaseReťazec str_Sample = "RockStar";System.out.println ("Konvertovať na LowerCase: + str_Sample.toLowerCase ());// Konvertovať na UpperCaseSystem.out.println ("Konvertovať na UpperCase: + str_Sample.toUpperCase ());}}
Výkon:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
Dôležité upozornenia:
- String je záverečná trieda ; tj po vytvorení hodnotu nie je možné zmeniť. Takto sa reťazcové objekty nazývajú nemenné.
- Virtuálny počítač Java (JVM) vytvára pamäťové miesto najmä pre reťazce s názvom String Constant Pool . Preto je možné reťazec inicializovať bez kľúčového slova „nové“.
- Trieda reťazcov spadá pod hierarchiu java.lang.String . Nie je ale potrebné túto triedu importovať. Platforma Java ich poskytuje automaticky.
- Odkaz na reťazec je možné prepísať, ale tým sa neodstráni obsah ; tj ak
Reťazec h1 = "ahoj";
h1 = "ahoj" + "svet";
potom sa reťazec „ahoj“ nevymaže. Len to stratí rukoväť.
- Pre jeden reťazec je možné použiť viac odkazov, ale vyskytnú sa na rovnakom mieste ; tj ak
Reťazec h1 = "ahoj";
Reťazec h2 = "ahoj";
Reťazec h3 = "ahoj";
potom sa v pamäti vytvorí iba jeden fond pre reťazec „ahoj“ s 3 referenciami - h1, h2, h3
- Ak je číslo uvedené v znaku „“ , stane sa z neho reťazec , už nie číslo. To znamená, ak
Reťazec S1 = "Číslo je: + "123" + "456";
Systém. von. println (S1);
potom sa vytlačí: Číslo je: 123456
Ak je inicializácia taká:
Reťazec S1 = "Číslo je: + (123 + 456);
Systém. von. println (S1);
potom sa vytlačí: Číslo je: 579 To je všetko pre Strings!