Co jsou to struny?
Řetězec v doslovném smyslu je řada znaků. Hej, řekl jsi znaky, není to v Javě primitivní datový typ. Ano, takže z technického hlediska je základní Java String v podstatě řada znaků.
Můj výše uvedený řetězec „ ROSE “ lze tedy vyjádřit následovně -
V tomto výukovém programu se naučíte
- Co jsou to struny?
- Proč používat struny?
- Příklady syntaxe řetězců
- Zřetězení řetězců
- Důležité metody řetězců Java
Proč používat struny?
Jednou z hlavních funkcí moderní počítačové vědy je zpracování lidského jazyka.
Podobně jako jsou čísla důležitá pro matematiku, jazykové symboly jsou důležité pro význam a rozhodování. Ačkoli to nemusí být viditelné pro uživatele počítačů, počítače zpracovávají jazyk na pozadí stejně přesně a přesně jako kalkulačka. Pokyny poskytují dialogy nápovědy. Nabídky poskytují výběr. A datové displeje zobrazují stavy, chyby a změny jazyka v reálném čase.
Jako programátor v jazyce Java bude jedním z vašich hlavních nástrojů pro ukládání a zpracování jazyka třída String.
Příklady syntaxe řetězců
Pojďme nyní k nějaké syntaxi, koneckonců, musíme to napsat v Java kódu, že?
Řetězec je pole znaků představované jako:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
Z technického hlediska je řetězec ve výše uvedeném příkladu definován takto -
= new (argument);
Nyní nemůžeme vždy psát naše řetězce jako pole; proto můžeme definovat řetězec v Javě takto:
//Representation of StringString strSample_2 = "ROSE";
Z technického hlediska je výše uvedená reprezentována jako:
= ;
String třída Java rozšiřuje o třídu objektu.
Zřetězení řetězců:
Zřetězení je spojení dvou nebo více řetězců.
Podívejte se na níže uvedený obrázek -
Máme dva řetězce str1 = „Rock“ a str2 = „Star“
Pokud sečteme tyto dva řetězce, měli bychom mít výsledek jako str3 = “RockStar”.
Zkontrolujte níže uvedený fragment kódu a vysvětluje dvě metody provádění zřetězení řetězců.
První používá metodu „ concat “ třídy String a druhá používá aritmetický operátor „+“. Oba výsledky ve stejném výstupu
veřejná třída Sample_String {public static void main (String [] args) {// Zřetězení řetězcůŘetězec str1 = "Rock";Řetězec str2 = "Hvězda";// Metoda 1: Použití concatŘetězec str3 = str1.concat (str2);System.out.println (str3);// Metoda 2: Použití operátoru „+“Řetězec str4 = str1 + str2;System.out.println (str4);}}
Důležité metody řetězců Java:
Položme třídě Java String několik otázek a uvidíme, jestli na ně dokáže odpovědět;)
Metoda řetězce "Délka"
Jak určíte délku daného řetězce? Poskytl jsem metodu zvanou „délka“. Použijte jej proti řetězci, který potřebujete k nalezení délky.
veřejná třída Sample_String {public static void main (String [] args) {// Náš ukázkový řetězec pro tento výukový programString str_Sample = "RockStar";// Délka řetězceSystem.out.println ("Délka řetězce: + str_Sample.length ());}}
výstup:
Length of String: 8
Řetězec "indexOf" metoda
Pokud znám délku, jak zjistím, která postava je na které pozici? Stručně řečeno, jak najdu index postavy?
Odpověděl jsi si, kamaráde, existuje metoda „indexOf“, která ti pomůže určit umístění konkrétního znaku, který zadáš.
veřejná třída Sample_String {public static void main (String [] args) {// Znak na poziciString str_Sample = "RockStar";System.out.println ("Znak na pozici 5: + str_Sample.charAt (5));// Index daného znakuSystem.out.println ("Rejstřík znaků 'S': + str_Sample.indexOf ('S'));}}
Výstup:
Character at position 5: tIndex of character 'S': 4
Řetězec "charAt" metoda
Podobně jako výše uvedená otázka, vzhledem k indexu, jak poznám znak na daném místě?
Zase jednoduchý !! Použijte metodu „charAt“ a uveďte index, jehož znak potřebujete najít.
veřejná třída Sample_String {public static void main (String [] args) {// Znak na poziciString str_Sample = "RockStar";System.out.println ("Znak na pozici 5: + str_Sample.charAt (5));}}
Výstup:
Character at position 5: t
Řetězcová metoda "CompareTo"
Chci zkontrolovat, zda se řetězec, který byl vygenerován nějakou metodou, rovná něčemu, s čím chci ověřit? Jak porovnám dva řetězce?
Použijte metodu „compareTo“ a zadejte řetězec, který chcete porovnat.
Použijte „compareToIgnoreCase“ pro případ, že nechcete, aby výsledek rozlišoval velká a malá písmena.Výsledek bude mít hodnotu 0, pokud se řetězec argumentu rovná tomuto řetězci; hodnota menší než 0, pokud je tento řetězec lexikograficky menší než argument řetězce; a hodnotu větší než 0, pokud je tento řetězec lexikograficky větší než argument řetězce.
veřejná třída Sample_String {public static void main (String [] args) {// Porovnat s StringString str_Sample = "RockStar";System.out.println ("Porovnat s 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Porovnat s - Ignorovat případSystem.out.println ("Porovnat s 'ROCKSTAR' - Ignorován případ: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}
Výstup:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
Metoda řetězce „Contain“
Částečně vím, co měl řetězec obsahovat, jak mohu potvrdit, že řetězec obsahuje posloupnost znaků, které zadám?
Použijte metodu „obsahuje“ a zadejte znaky, které potřebujete zkontrolovat.
Vrátí true, právě když tento řetězec obsahuje zadanou posloupnost hodnot char.veřejná třída Sample_String {public static void main (String [] args) {// Zkontrolujte, zda String obsahuje sekvenciString str_Sample = "RockStar";System.out.println ("Obsahuje posloupnost 'tar': + str_Sample.contains ("tar"));}}
Výstup:
Contains sequence 'tar': true
Řetězec "endsWith" metoda
Jak mohu potvrdit, že řetězec končí konkrétní příponou? Znovu jsi na to odpověděl. Použijte metodu „endsWith“ a zadejte příponu v argumentech.
Vrátí true, pokud posloupnost znaků představovaná argumentem je příponou posloupnosti znaků představovanou tímto objektem.veřejná třída Sample_String {public static void main (String [] args) {// Zkontrolujte, zda končí konkrétní posloupnostíString str_Sample = "RockStar";System.out.println ("EndsWith znak 'r': + str_Sample.endsWith ("r"));}}
Výstup:
EndsWith character 'r': true
Řetězec "replaceAll" & "replaceFirst" metoda
Chci upravit svůj řetězec na několika místech a nahradit několik jeho částí?
Metody Java String Replace, replaceAll a replaceFirst. V argumentech můžete určit část řetězce, kterou chcete nahradit, a náhradní řetězec.
veřejná třída Sample_String {public static void main (String [] args) {// Nahraďte Rock slovem DukeString str_Sample = "RockStar";System.out.println ("Nahradit 'Rock' za 'Duke': + str_Sample.replace ("Rock", "Duke"));}}
Výstup:
Replace 'Rock' with 'Duke': DukeStar
Řetězcová metoda Java "tolowercase" & Java "touppercase"
Chci, aby se celý můj řetězec zobrazoval malými nebo velkými písmeny?
Stačí použít metody „toLowercase ()“ nebo „ToUpperCase ()“ proti řetězcům, které je třeba převést.
veřejná třída Sample_String {public static void main (String [] args) {// Převést na LowerCaseString str_Sample = "RockStar";System.out.println ("Převést na LowerCase: + str_Sample.toLowerCase ());// Převést na UpperCaseSystem.out.println ("Převést na UpperCase: + str_Sample.toUpperCase ());}}
Výstup:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
Důležité poznámky:
- String je závěrečná třída ; tj. po vytvoření nelze hodnotu změnit. Proto se String objekty nazývají neměnné.
- Virtuální stroj Java (JVM) vytváří paměťové místo, zejména pro řetězce s názvem String Constant Pool . Proto lze řetězec inicializovat bez klíčového slova „new“.
- Třída řetězce spadá pod hierarchii java.lang.String . Není ale nutné tuto třídu importovat. Platforma Java je poskytuje automaticky.
- Řetězcový odkaz lze přepsat, ale tím se neodstraní obsah ; tj. pokud
Řetězec h1 = "ahoj";
h1 = "ahoj" + "svět";
pak řetězec „ahoj“ nebude odstraněn. Jen to ztratí kliku.
- Pro stejný řetězec lze použít více odkazů, ale vyskytne se na stejném místě ; tj. pokud
Řetězec h1 = "ahoj";
Řetězec h2 = "ahoj";
Řetězec h3 = "ahoj";
pak je v paměti vytvořen pouze jeden fond pro řetězec „ahoj“ se 3 referencemi - h1, h2, h3
- Pokud je číslo uvedeno v „“ , stane se z něj řetězec , nikoli číslo. To znamená, že pokud
Řetězec S1 = "Číslo je: + "123" + "456";
Systém. ven. println (S1);
pak se vytiskne: Číslo je: 123456
Pokud je inicializace taková:
Řetězec S1 = "Číslo je: + (123 + 456);
Systém. ven. println (S1);
pak se vytiskne: Číslo je: 579 To je vše pro Strings!