Manipulácia s reťazcami Java: Funkcie a metódy s PRÍKLADOM

Obsah:

Anonim

Č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!