Java Manipulace s řetězci s PŘÍKLADEM

V čem jsou řetězce Java?

Řetězec v doslovném vyjádření je řada znaků. Hej, říkal jsi znaky, není to primitivní datový typ Java. Ano, z technického hlediska tedy základní Java Řetězec je v podstatě pole znaků.

Takže můj výše uvedený řetězec „ROSE“ může být reprezentováno následovně –

Java Řetězec

Proč používat Strings?

Jednou z primárních funkcí moderní informatiky je zpracování lidského jazyka.

Podobně jako čísla jsou důležitá pro matematiku, jazykové symboly jsou důležité pro význam a rozhodování. Ačkoli to nemusí být pro uživatele počítačů viditelné, počítače zpracovávají jazyk na pozadí stejně přesně a přesně jako kalkulačka. Dialogová okna nápovědy poskytují pokyny. Nabídky poskytují možnosti. A datové displeje zobrazují stavy, chyby a změny jazyka v reálném čase.

Jako Java programátoru, jedním z vašich hlavních nástrojů pro ukládání a zpracování jazyka bude třída String.

Příklady syntaxe řetězců

Nyní pojďme k nějaké syntaxi, koneckonců to musíme zapsat Java kód to není.

Řetězec je pole znaků reprezentovaných jako:

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

Z technického hlediska je řetězec definován následovně ve výše uvedeném příkladu -

= new (argument);

Nyní vždy nemůžeme psát naše řetězce jako pole; proto můžeme definovat řetězec v Java následujícím způsobem:

//Representation of String
String strSample_2 = "ROSE";

Z technického hlediska je výše uvedené jako:

= ;

Jedno Řetězcová třída Java rozšiřuje ο Třída objektu.

Zřetězení řetězců:

Zřetězení je spojení dvou nebo více řetězců.

Podívejte se na obrázek níže -

Příklady syntaxe řetězců

Máme dva řetězce str1 = „Rock“ a str2 = „Star“

Pokud tyto dva řetězce sečteme, měli bychom mít výsledek jako str3= “RockStar”.

Zkontrolujte níže uvedený úryvek kódu a vysvětluje dvě metody, jak provést zřetězení řetězců.

První je použití „konkat” metoda třídy String a druhá používá aritmetický operátor „+“. Obojí má za následek stejný výstup

public class Sample_String{
  public static void main(String[] args){
//String Concatenation
String str1 = "Rock";
String str2 = "Star";
//Method 1 : Using concat
String str3 = str1.concat(str2);
System.out.println(str3);
//Method 2 : Using "+" operator
String str4 = str1 + str2;
System.out.println(str4);
}
}

Očekávaný výstup:

RockStar
RockStar

důležitý Java řetězcové metody:

Java řetězcové metody

Zeptejme se na Java Zařaďte do třídy několik otázek a zjistěte, zda na ně dokáže odpovědět:

Metoda „délka“ řetězce

Jak určíte délku daného řetězce? Poskytl jsem metodu nazvanou „délka“. Použijte jej proti struně, kterou potřebujete k nalezení délky.

public class Sample_String{
  public static void main(String[] args){  //Our sample string for this tutorial
  String str_Sample = "RockStar";
  //Length of a String
  System.out.println("Length of String: " + str_Sample.length());}}

Očekávaný výstup:

Length of String: 8

Metoda řetězce „indexOf“.

Pokud znám délku, jak zjistím, která postava je na jaké pozici? Stručně řečeno, jak najdu index znaku?

Odpověděl jste si sám, kámo, existuje metoda „indexOf“, která vám pomůže určit umístění konkrétní postavy, kterou určíte.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));
//Index of a given character
System.out.println("Index of character 'S': " + str_Sample.indexOf('S'));}}

Očekávaný výstup:

Character at position 5: t
Index of character 'S': 4

Metoda řetězce „charAt“.

Podobně jako u výše uvedené otázky, vzhledem k indexu, jak poznám postavu na daném místě?

Opět jednoduchý!! Použijte metodu „charAt“ a zadejte index, jehož znak potřebujete najít.

public class Sample_String{
  public static void main(String[] args){//Character at position
String str_Sample = "RockStar";
System.out.println("Character at position 5: " + str_Sample.charAt(5));}}

Očekávaný výstup:

Character at position 5: t

Metoda řetězce „CompareTo“.

Chci zkontrolovat, zda se řetězec, který byl vygenerován nějakou metodou, rovná něčemu, co chci ověřit? Jak porovnám dva řetězce?

Použijte metodu „compareTo“ a zadejte řetězec, který chcete porovnat.

Pokud nechcete, aby výsledek rozlišoval malá a velká písmena, použijte „compareToIgnoreCase“.

Výsledek bude mít hodnotu 0, pokud je řetězec argumentu roven tomuto řetězci; hodnotu 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.

public class Sample_String{
  public static void main(String[] args){//Compare to a String
String str_Sample = "RockStar";
  System.out.println("Compare To 'ROCKSTAR': " + str_Sample.compareTo("rockstar"));
  //Compare to - Ignore case
  System.out.println("Compare To 'ROCKSTAR' - Case Ignored: " + str_Sample.compareToIgnoreCase("ROCKSTAR"));}}

Očekávaný výstup:

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

Metoda řetězce „Contain“.

Částečně vím, co by měl řetězec obsahovat, jak potvrdím, že řetězec obsahuje sekvenci znaků, kterou určím?

Použijte metodu "obsahuje“ a zadejte znaky, které potřebujete zkontrolovat.

Vrácení zboží pravdivý pouze tehdy, pokud tento řetězec obsahuje zadanou sekvenci hodnot znaků.

public class Sample_String{
  public static void main(String[] args){  //Check if String contains a sequence
String str_Sample = "RockStar";
  System.out.println("Contains sequence 'tar': " + str_Sample.contains("tar"));}}

Očekávaný výstup:

Contains sequence 'tar': true

Metoda řetězce „endsWith“.

Jak potvrdím, že řetězec končí určitou příponou? Opět jsi odpověděl. Použijte metodu „endsWith“ a zadejte příponu v argumentech.

Vrácení zboží pravdivý pokud je znaková sekvence reprezentovaná argumentem příponou znakové sekvence reprezentované tímto objektem.

public class Sample_String{
  public static void main(String[] args){  //Check if ends with a particular sequence
String str_Sample = "RockStar";
  System.out.println("EndsWith character 'r': " + str_Sample.endsWith("r"));}}

Očekávaný výstup:

EndsWith character 'r': true

Řetězec metody „replaceAll“ & „replaceFirst“.

Chci upravit svůj řetězec na několika místech a nahradit několik částí řetězce?

Java Řetězec Metody Nahradit, nahraditVše a nahraditFirst. V argumentech můžete zadat část řetězce, kterou chcete nahradit, a náhradní řetězec.

public class Sample_String{
  public static void main(String[] args){//Replace Rock with the word Duke
String str_Sample = "RockStar";
System.out.println("Replace 'Rock' with 'Duke': " + str_Sample.replace("Rock", "Duke"));}}

Očekávaný výstup:

Replace 'Rock' with 'Duke': DukeStar

Řetězec Java "tolowercase" & Java Metoda „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.

public class Sample_String{
  public static void main(String[] args){//Convert to LowerCase
String str_Sample = "RockStar";
System.out.println("Convert to LowerCase: " + str_Sample.toLowerCase());
//Convert to UpperCase
System.out.println("Convert to UpperCase: " + str_Sample.toUpperCase());}}

Očekávaný výstup:

Convert to LowerCase: rockstar
Convert to UpperCase: ROCKSTAR

Důležitá upozornění:

  • String je závěrečná třída; tj. jakmile je hodnota vytvořena, nelze ji změnit. Objekty typu String se tedy nazývají neměnné.
  • Jedno Java Virtuální stroj (JVM) vytváří paměťové umístění speciálně pro tzv. řetězce String Constant Pool. To je důvod, proč lze řetězec inicializovat bez klíčového slova 'new'.
  • Třída String spadá pod java.lang.Hierarchie řetězců. Tuto třídu ale není potřeba importovat. Java platforma je poskytuje automaticky.
  • Řetězec odkaz lze přepsat, ale nesmaže se tím obsah; tj. pokud

Řetězec h1 = „ahoj“;

h1 = „ahoj“ + „svět“;

pak se řetězec „ahoj“ nesmaže. Prostě to ztrácí kliku.

  • Více referencí lze použít pro stejný řetězec, ale bude vyskytují na stejném místě; tj. pokud

Řetězec h1 = „ahoj“;

Řetězec h2 = „ahoj“;

Řetězec h3 = „ahoj“;

pak se v paměti vytvoří pouze jeden fond pro řetězec „ahoj“ se 3 odkazy-h1,h2,h3

  • Pokud číslo je uvedeno v „ “ potom to se stane strunou, už ne číslo. To znamená, pokud

Řetězec S1 =”Číslo je: “+ “123”+”456″;

System.out.println(S1);

pak se vytiskne: Číslo je: 123456

Pokud je inicializace takto:

Řetězec S1 = “Číslo je: “+(123+456);

System.out.println(S1);

pak se vytiskne: Číslo je:579

To je vše k Strings!