Co to są struny?
Łańcuch w kategoriach dosłownych to seria znaków. Hej, czy powiedziałeś znaki, czy nie jest to prymitywny typ danych w Javie. Tak, więc z technicznego punktu widzenia podstawowy ciąg Java jest w zasadzie tablicą znaków.
Więc mój powyższy ciąg „ RÓŻA ” można przedstawić w następujący sposób -
W tym samouczku nauczysz się:
- Co to są struny?
- Dlaczego warto używać ciągów?
- Przykłady składni ciągów
- Konkatenacja ciągów
- Ważne metody napisów Java
Dlaczego warto używać ciągów?
Jedną z podstawowych funkcji współczesnej informatyki jest przetwarzanie ludzkiego języka.
Podobnie jak liczby są ważne w matematyce, symbole językowe są ważne dla znaczenia i podejmowania decyzji. Chociaż może to nie być widoczne dla użytkowników komputerów, komputery przetwarzają język w tle tak precyzyjnie i dokładnie, jak kalkulator. Okna dialogowe pomocy zawierają instrukcje. Menu zapewniają wybór. Wyświetlacze danych pokazują statusy, błędy i zmiany języka w czasie rzeczywistym.
Jako programista Java, jednym z głównych narzędzi do przechowywania i przetwarzania języka będzie klasa String.
Przykłady składni ciągów
Przejdźmy teraz do jakiejś składni, w końcu musimy napisać to w kodzie Java, prawda?
Ciąg to tablica znaków reprezentowana jako:
//String is an array of characterschar[] arrSample = {'R', 'O', 'S', 'E'};String strSample_1 = new String (arrSample);
Z technicznego punktu widzenia Ciąg jest zdefiniowany w następujący sposób w powyższym przykładzie:
= new (argument);
Teraz nie zawsze możemy zapisać nasze łańcuchy jako tablice; stąd możemy zdefiniować String w Javie w następujący sposób:
//Representation of StringString strSample_2 = "ROSE";
Z technicznego punktu widzenia powyższe przedstawia się jako:
= ;
String klasy Java rozciąga się obiekt klasy.
Konkatenacja ciągów:
Konkatenacja to łączenie dwóch lub więcej ciągów.
Spójrz na poniższe zdjęcie-
Mamy dwa ciągi str1 = „Skała” i str2 = „Gwiazda”
Jeśli dodamy te dwa ciągi, otrzymamy wynik jako str3 = „RockStar”.
Sprawdź poniższy fragment kodu, który wyjaśnia dwie metody łączenia ciągów.
Pierwsza to metoda „ concat ” klasy String, a druga to operator arytmetyczny „+”. Oba skutkują tym samym wynikiem
public class Sample_String {public static void main (String [] args) {// Konkatenacja ciągówString str1 = "Rock";String str2 = "Gwiazda";// Metoda 1: użycie concatString słowo3 = słowo1.concat (słowo2);System.out.println (str3);// Metoda 2: użycie operatora „+”Ciąg słowo4 = słowo1 + słowo2;System.out.println (str4);}}
Ważne metody ciągów Java:
Zadajmy klasie Java String kilka pytań i zobaczmy, czy może na nie odpowiedzieć;)
Metoda „Długość”
Jak określisz długość danego String? Podałem metodę zwaną „długością”. Użyj go na sznurku, którego potrzebujesz, aby znaleźć długość.
public class Sample_String {public static void main (String [] args) {// Nasz przykładowy ciąg znaków do tego samouczkaString str_Sample = "RockStar";// Długość ciąguSystem.out.println ("Długość ciągu: + str_Sample.length ());}}
wynik:
Length of String: 8
Metoda ciągu znaków „indexOf”
Jeśli znam długość, w jaki sposób znajdę, który znak znajduje się w jakiej pozycji? Krótko mówiąc, jak znajdę indeks postaci?
Odpowiedziałeś sobie, kolego, istnieje metoda „indexOf”, która pomoże ci określić położenie określonej postaci, którą określisz.
public class Sample_String {public static void main (String [] args) {// Znak na pozycjiString str_Sample = "RockStar";System.out.println ("Znak na pozycji 5: + str_Sample.charAt (5));// Indeks danego znakuSystem.out.println ("Indeks znaku 'S': + str_Sample.indexOf ('S'));}}
Wynik:
Character at position 5: tIndex of character 'S': 4
Metoda ciągu znaków „charAt”
Podobnie jak w przypadku powyższego pytania, biorąc pod uwagę indeks, skąd mam poznać postać w tym miejscu?
Znowu prosty !! Użyj metody „charAt” i podaj indeks, którego znak chcesz znaleźć.
public class Sample_String {public static void main (String [] args) {// Znak na pozycjiString str_Sample = "RockStar";System.out.println ("Znak na pozycji 5: + str_Sample.charAt (5));}}
Wynik:
Character at position 5: t
Metoda ciągu „CompareTo”
Czy chcę sprawdzić, czy ciąg, który został wygenerowany za pomocą jakiejś metody, jest równy czemuś, za pomocą którego chcę zweryfikować? Jak porównać dwa ciągi?
Użyj metody „compareTo” i określ ciąg, który chcesz porównać.
Użyj „compareToIgnoreCase” na wypadek, gdybyś nie chciał, aby wielkość liter była rozróżniana.Wynik będzie miał wartość 0, jeśli argument ciąg jest równy temu ciągowi; wartość mniejszą niż 0, jeśli ten ciąg jest leksykograficznie mniejszy niż argument ciągu; i wartość większą niż 0, jeśli ten ciąg jest leksykograficznie większy niż argument ciągu.
public class Sample_String {public static void main (String [] args) {// Porównaj z ciągiemString str_Sample = "RockStar";System.out.println ("Porównaj z 'ROCKSTAR': + str_Sample.compareTo ("rockstar"));// Porównaj z - zignoruj wielkość literSystem.out.println ("Porównaj z 'ROCKSTAR' - zignorowano wielkość liter: + str_Sample.compareToIgnoreCase ("ROCKSTAR"));}}
Wynik:
Compare To 'ROCKSTAR': -32Compare To 'ROCKSTAR' - Case Ignored: 0
Metoda „Zawiera” ciągów znaków
Częściowo wiem, co powinien zawierać ciąg, jak sprawdzić, czy ciąg zawiera ciąg znaków, które podam?
Użyj metody „zawiera” i określ znaki, które chcesz sprawdzić.
Zwraca wartość true wtedy i tylko wtedy, gdy ten ciąg zawiera określoną sekwencję wartości znaków.public class Sample_String {public static void main (String [] args) {// Sprawdź, czy ciąg zawiera sekwencjęString str_Sample = "RockStar";System.out.println ("Zawiera sekwencję 'tar': + str_Sample.contains ("tar"));}}
Wynik:
Contains sequence 'tar': true
Metoda String "endWith"
Jak sprawdzić, czy ciąg kończy się określonym sufiksem? Znowu odpowiedziałeś na to. Użyj metody „endWith” i określ przyrostek w argumentach.
Zwraca wartość true, jeśli sekwencja znaków reprezentowana przez argument jest sufiksem sekwencji znaków reprezentowanej przez ten obiekt.public class Sample_String {public static void main (String [] args) {// Sprawdź, czy kończy się określoną sekwencjąString str_Sample = "RockStar";System.out.println ("EndsWith character 'r': + str_Sample.endsWith ("r"));}}
Wynik:
EndsWith character 'r': true
Ciąg znaków „replaceAll” i „replaceFirst”. Metoda
Chcę zmodyfikować mój ciąg w kilku miejscach i zastąpić kilka jego części?
Java String Metody Replace, replaceAll i replaceFirst. Możesz określić część ciągu, który chcesz zamienić, i zastępczy ciąg znaków w argumentach.
public class Sample_String {public static void main (String [] args) {// Zastąp Rock słowem DukeString str_Sample = "RockStar";System.out.println ("Zamień 'Rock' na 'Duke': + str_Sample.replace ("Rock", "Duke"));}}
Wynik:
Replace 'Rock' with 'Duke': DukeStar
Metoda „tolowercase” w języku Java i metoda „touppercase” w języku Java
Chcę, aby cały ciąg znaków był wyświetlany małymi lub dużymi literami?
Po prostu użyj metod „toLowercase ()” lub „ToUpperCase ()” przeciwko ciągom znaków, które mają zostać przekonwertowane.
public class Sample_String {public static void main (String [] args) {// Konwertuj na LowerCaseString str_Sample = "RockStar";System.out.println ("Convert to LowerCase: + str_Sample.toLowerCase ());// Konwertuj na UpperCaseSystem.out.println ("Konwertuj na UpperCase: + str_Sample.toUpperCase ());}}
Wynik:
Convert to LowerCase: rockstarConvert to UpperCase: ROCKSTAR
Ważne punkty, na które należy zwrócić uwagę:
- String jest klasą Final ; tzn. raz utworzona wartość nie może być zmieniona. W ten sposób obiekty typu String nazywane są niezmiennymi.
- Wirtualna maszyna języka Java (JVM) tworzy miejsce w pamięci, szczególnie dla ciągów znaków, zwane pulą stałych ciągów . Dlatego String można zainicjować bez słowa kluczowego „new”.
- Klasa String należy do hierarchii java.lang.String . Ale nie ma potrzeby importowania tej klasy. Platforma Java udostępnia je automatycznie.
- Odwołanie do łańcucha można przesłonić, ale nie powoduje to usunięcia zawartości ; tj. jeśli
String h1 = "witaj";
h1 = "witaj" + "świat";
wtedy "hello" Ciąg nie jest usuwany. Po prostu traci uchwyt.
- Można użyć wielu odwołań dla tego samego ciągu, ale wystąpią one w tym samym miejscu ; tj. jeśli
String h1 = "witaj";
String h2 = "witaj";
String h3 = "witaj";
wtedy w pamięci tworzona jest tylko jedna pula dla String „hello” z trzema referencjami-h1, h2, h3
- Jeśli liczba jest cytowana w „” , staje się ciągiem znaków , a nie liczbą. To znaczy, jeśli
String S1 = "Numer to: + "123" + "456";
System. out .println (S1);
wtedy wydrukuje: Numer to: 123456
Jeśli inicjalizacja wygląda tak:
String S1 = "Liczba to: + (123 + 456);
System. out .println (S1);
wtedy wyświetli się: Numer to: 579 To wszystko do Strings!