1. Konkatenacja - sklejanie ze sobą strun

Istnieje bardzo interesująca i prosta rzecz, którą można zrobić z ciągami znaków w Javie — można je skleić. Ta operacja nazywa się konkatenacją . No, albo dla ułatwienia zapamiętania - Kon-Kote-Nation. Chociaż często nazywa się to „klejeniem linii” lub nawet po prostu „dodawaniem linii”.

Aby skleić dwie linie, musisz użyć znaku +. To jest bardzo proste:

"value1" + "value2"
Połączenie dwóch łańcuchów

Przykłady:

Zespół Notatka
String name = "Steve" + "Steve";
namezawiera ciągSteveSteve
String city = "New York" + "Steve";
cityzawiera ciągNew YorkSteve
String message = "Hello! " + "Steve";
messagezawiera ciągHello! Steve

I oczywiście możesz dodawać wiele ciągów jednocześnie, a także dodawać ciągi i zmienne.

Przykłady:

Zespół Notatka
String name = "Steve";
String city = "New York";
String message = "Hello!" + city + name + city;
namezawiera ciąg Steve
cityzawiera ciąg New York
messagezawiera ciąg
Hello!New YorkSteveNew York

W ostatnim przykładzie widać, że tekst w zmiennej message jest trudny do odczytania, ponieważ brakuje spacji. Aby określić jedną lub więcej spacji, wystarczy wpisać je w kodzie i ująć w podwójne cudzysłowy. To łatwiejsze niż się wydaje:

" "
Ciąg zawierający jedną spację

Nawiasem mówiąc, jeśli nie zostawisz spacji między cudzysłowami (napisz dwa podwójne cudzysłowy z rzędu), otrzymasz tak zwany „pusty ciąg”:

""
Pusta linia

Z jednej strony wydaje się, że tam jest, ale z drugiej strony nic nie jest wyświetlane, gdy jest wyświetlane na ekranie. A podczas łączenia z innymi liniami nic się nie dzieje. Rodzaj analogu zera, tylko dla smyczków.



2. Konwertuj na typ łańcuchowy

Jak wspomniano powyżej, programiści Java zrobili to tak, że absolutnie wszystkie zmienne, obiekty, wyrażenia w Javie można przekonwertować na typ String.

Co więcej, dzieje się to automatycznie, gdy dodamy typ Stringdo innego typu . Przykłady:

Zespół Notatka
int a = 5;
String name = "Steve" + a;
namezawiera ciągSteve5
int a = 5;
String city = a + "New York" + a;
cityzawiera ciąg5New York5
int number = 10;
String code = "Yo";
String message = "Hello! " + number + code;
messagezawiera ciągHello! 10Yo

We wszystkich trzech przykładach po cichu dodaliśmy zmienne typu inti String, a rezultatem był zawsze typ String.

StringNa typie nie można wykonywać operacji arytmetycznych . Nawet jeśli łańcuch składa się wyłącznie z liczb.

Przykłady:

Zespół Notatka
int a = 5;
String name = "1" + a;
namezawiera ciąg15
int a = 5;
String city = a + "9" + a;
cityzawiera ciąg595
int number = 10;
String code = "10";
String message = "" + number + code;
messagezawiera ciąg1010

Operacja dodawania jest wykonywana od lewej do prawej, więc wynik może być nieco nieoczekiwany. Przykład:

Zespół Notatka
int a = 5;
String name = a + a + "1" + a;
namezawiera ciąg1015
Kolejność wykonania:((a + a) + "1") + a

3. Konwertuj łańcuch na liczbę

Aby przekonwertować liczbę na ciąg w Javie, po prostu dodaj ją i pusty ciąg:

String str"" + number;
Konwertuj liczbę na ciąg

Ale co, jeśli musisz przekonwertować ciąg znaków na liczbę? Cóż, nie możesz przekonwertować żadnego ciągu znaków na liczbę. Ale jeśli ciąg składa się tylko z liczb, to nadal jest to możliwe. Jest do tego specjalna metoda klasy Integer.

To polecenie wygląda tak:

int x = Integer.parseInt(string);

Gdzie  jest deklaracją zmiennej typu integer , a  jest liczbą podaną jako ciąg znaków (ciąg składający się z liczb).int xxstring

Przykłady:

Zespół Notatka
String str = "123";
int number = Integer.parseInt(str);
numberzawiera liczbę 123;
int number = Integer.parseInt("321");
numberzawiera liczbę321
int number = Integer.parseInt("321" + 0);
numberzawiera liczbę3210
int number = "321";
Nie skompiluje: zmienna typu int, ale wartość typuString

4. Konwersja obiektu/prymitywu na napis

Aby rzucić instancję dowolnej klasy Java lub dowolnego prymitywnego typu danych na reprezentację łańcuchową, możesz użyć metody String.valueOf():

public class StringExamples {
    public static void main(String[] args) {
        String a = String.valueOf(1);
        String b = String.valueOf(12.0D);
        String c = String.valueOf(123.4F);
        String d = String.valueOf(123456L);
        String s = String.valueOf(true);

        System.out.println(a);
        System.out.println(b);
        System.out.println(c);
        System.out.println(d);
        System.out.println(s);
        
        /*
        Output:
        1
        12.0
        123.4
        123456
        true
         */
    }
}

5. Niektóre metody pracy z ciągami znaków

I na koniec chciałbym porozmawiać o kilku metodach typu String.

metodalength()

Metoda length() pozwala dowiedzieć się, jaka jest długość łańcucha - ile jest w nim znaków.

Przykłady:

Zespół Notatka
String name = "Rome";
int count = name.length();
countzawiera wartość4
int count = "".length();
countzawiera wartość0
String name = "Rom";
int count = (name + 12).length();
countzawiera wartość5

Tak, metody można wywoływać na dowolnym typie String, nawet na wyrażeniach:

(name + 12).length()
Wywołanie metody length()na wyrażeniu typuString

metodatoLowerCase()

Metoda toLowerCase() pozwala na konwersję wszystkich znaków ciągu na małe (małe):

Przykłady:

Zespół Notatka
String name = "Rom";
String name2 = name.toLowerCase();
name2zawiera ciągrom
String name = "".toLowerCase();
namezawiera pusty ciąg
String name = "ROM123";
String name2 = name.toLowerCase();
name2zawiera ciągrom123

metodatoUpperCase()

Metoda toUpperCase() pozwala na konwersję wszystkich znaków ciągu na duże (wielkie):

Przykłady:

Zespół Notatka
String name = "Rom";
String name2 = name.toUpperCase();
name2zawiera ciągROM
String name = "rom123";
String name2 = name.toUpperCase();
name2zawiera ciągROM123