1. Konkatenacja (łączenie ciągów znaków)

Jest taka zgrabna i prosta rzecz, którą możesz zrobić z ciągami znaków w Javie: możesz je skleić. Ta operacja nazywa się konkatenacją . Oto jak to zapamiętaliśmy: Con-Cat-en-Nation. Nazywa się to często „łączeniem strun” lub „łączeniem strun”.

Aby połączyć dwie linie, użyj +znaku. To jest bardzo łatwe:

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

Przykłady:

Oświadczenie 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 jednocześnie łączyć wiele ciągów znaków, a także łączyć ciągi znaków i zmienne.

Przykłady:

Oświadczenie 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 pliku message jest trudny do odczytania, ponieważ brakuje w nim spacji. Aby wskazać jedną lub więcej spacji, wystarczy napisać je w kodzie, a następnie ująć w cudzysłowy. To łatwiejsze niż się wydaje:

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

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

""
Pusta struna

Z jednej strony wydaje się, że mamy sznurek. Ale z drugiej strony, kiedy wyświetlamy ten ciąg, nic nie jest wyświetlane. A kiedy połączymy go z innymi strunami, nic się nie dzieje. To trochę jak zero dodatkowo, tylko dla stringów.



2. Konwersja na ciąg znaków

Jak wspomniano powyżej, programiści Java zadbali o to, aby absolutnie każdą zmienną, obiekt i wyrażenie w Javie można było przekonwertować na Stringtyp.

Co więcej, dzieje się to automatycznie, gdy połączymy a Stringz jakimś innym typem . Przykłady:

Oświadczenie 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 przypadkach spokojnie połączyliśmy inti Stringzmienne, a wynikiem jest zawsze String.

Nie można wykonywać operacji arytmetycznych na Stringtypie. Nawet jeśli cały ciąg składa się z cyfr.

Przykłady:

Oświadczenie 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

Operacje plus są wykonywane od lewej do prawej, więc wynik może być nieco nieoczekiwany. Przykład:

Oświadczenie Notatka
int a = 5;
String name = a + a + "1" + a;
namezawiera ciąg1015
Kolejność operacji:((a + a) + "1") + a

3. Konwersja ciągu znaków na liczbę

Konwersja liczby na ciąg znaków w Javie jest tak prosta, jak połączenie jej z pustym ciągiem znaków:

String str"" + number;
Konwersja liczby na ciąg znaków

Ale co, jeśli musisz przekonwertować ciąg znaków na liczbę? Cóż, nie każdy ciąg można przekonwertować na liczbę. Ale jeśli ciąg składa się tylko z liczb, możesz. Jest na to specjalna metoda w Integerklasie.

Odpowiednie oświadczenie wygląda następująco:

int x = Integer.parseInt(string);

Gdzie  jest deklaracją zmiennej całkowitej, a  jest ciągiem reprezentującym liczbę (tj. ciągiem składającym się z cyfr).int xxstring

Przykłady:

Oświadczenie Notatka
String str = "123";
int number = Integer.parseInt(str);
numberzawiera numer 123;
int number = Integer.parseInt("321");
numberzawiera numer321
int number = Integer.parseInt("321" + 0);
numberzawiera numer3210
int number = "321";
To się nie skompiluje: zmienna to an int, ale wartość to aString


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

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

length()metoda

Metoda length() pozwala uzyskać długość napisu , czyli ile znaków zawiera.

Przykłady:

Oświadczenie 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

Możesz wywołać te metody na wszystkim, czego typem jest String, nawet na wyrażeniu:

(name + 12).length()
Wywołanie length()metody na wyrażeniu, którego typem jestString

toLowerCase()metoda

Metoda toLowerCase() pozwala na konwersję wszystkich znaków w łańcuchu na małe litery :

Przykłady:

Oświadczenie 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

toUpperCase()metoda

Metoda toUpperCase() pozwala na konwersję wszystkich znaków w łańcuchu na wielkie litery :

Przykłady:

Oświadczenie Notatka
String name = "Rom";
String name2 = name.toUpperCase();
name2zawiera ciągROM
String name = "rom123";
String name2 = name.toUpperCase();
name2zawiera ciągROM123