JavaRush /Blog Java /Random-PL /Stringi w Javie
articles
Poziom 15

Stringi w Javie

Opublikowano w grupie Random-PL
W tym samouczku nauczymy się pracować z ciągami znaków w Javie. Ciągi znaków, które są tak powszechnie stosowane w programowaniu, to ciąg znaków. W języku programowania Java ciągi znaków są obiektem. Platforma Java udostępnia klasę Stringdo tworzenia ciągów znaków i manipulowania nimi. Ciągi w Javie - 1

Tworzenie ciągów

Najprostszy sposób utworzenia ciągu wygląda następująco:
String greeting = "Hello world!";
W tym przypadku „Hello World!” jest literałem łańcuchowym (czyli stałą) składającym się z ciągu znaków ujętych w cudzysłów. Ilekroć kompilator napotyka literał łańcuchowy, tworzy obiekt typu Stringz wartością, w naszym przypadku „Hello World!”. Jak każdy inny obiekt, ciąg znaków można utworzyć za pomocą słowa kluczowego new. Klasa Stringma trzy konstruktory, które umożliwiają utworzenie obiektu przy użyciu różnych źródeł, takich jak tablica znaków .
char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
Ostatnia linia przykładu wyświetli powitanie na ekranie . Klasa Stringjest niezmienna, więc kiedy utworzymy obiekt, nie możemy go zmienić. Niektóre metody, które omówimy poniżej, mogą to naprawić. Ponieważ Stringimmutable, metody te tworzą i zwracają nowy ciąg zawierający wynik operacji.

Długość ciągu Java

Metody uzyskiwania informacji o ciągu nazywane są metodami dostępu. Jedna z tych metod length(). Zwraca liczbę znaków w ciągu. W poniższym przykładzie lenbędzie to 17:
String palindrome = "Dont saw I saw Tod";
int len = palindrome.length();
Zmienna palindromezawiera palindrom, tj. słowo lub zdanie, które brzmi tak samo w obie strony. Napiszmy mały program, który odwróci palindrom. Skorzystamy z metody charAt(i), która zwraca i -ty znak ciągu znaków, zaczynając od 0.
public class StringDemo {
    public static void main(String[] args) {
    String palindrome = "Dot saw I was Tod";
    int len = palindrome.length();
    char[] tempCharArray = new char[len];
    char[] charArray = new char[len];

    //создадим из строки
    // массив символов
    for (int i = 0; i < len; i++) {
    tempCharArray[i] =
    palindrome.charAt(i);
    }

    // перевернем массив символов
    for (int j = 0; j < len; j++) {
    charArray[j] =
    tempCharArray[len - 1 - j];
    }

    String reversePalindrome =
    new String(charArray);
    System.out.println(reversePalindrome);
    }
}
Program wydrukuje
doT saw I was toD
Aby odwrócić ciąg znaków, najpierw utworzyliśmy tablicę znaków z ciągu (pierwsza pętla), następnie utworzyliśmy nową tablicę, do której zapisaliśmy odwróconą pierwszą tablicę, a następnie utworzyliśmy nowy ciąg. Klasa Stringzawiera metodę getChars()zwracającą tablicę znaków, dlatego pierwszą pętlę można zastąpić linią:
palindrome.getChars(0, len, tempCharArray, 0);

Łączenie ciągów

Klasa Stringimplementuje metodę łączenia dwóch ciągów znaków:
string1.concat(string2);
Ten kod zwróci nowy ciąg zawierający string1i dołączony do niego string2. Możesz także użyć tej metody z literałami łańcuchowymi:
"My name is ".concat("Rumplestiltskin");
Najczęściej ciągi łączone są za pomocą +operatora „ ”, przykład:
"Hello," + " world" + "!"
Wynikiem będzie ciąg „ Witaj, świecie!” " Operator „ +” jest szeroko stosowany do wyświetlania informacji, na przykład:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
Kod wyświetli „ Dot saw I was Tod ”. Takiej konkatenacji można używać w połączeniu z dowolnymi innymi obiektami. W przypadku obiektów niebędących ciągami znaków zostanie wywołana metoda toString(), która konwertuje je na ciągi znaków. Ustawianie formatu wyjściowego ciągu znaków Przyjrzeliśmy się już metodom printf()formatowania format()wyniku liczbowego. Klasa Stringma podobną metodę, która zwraca ciąg znaków. Stosując metodę statyczną format()możliwe jest utworzenie szablonu stockowego, który można ponownie wykorzystać, na przykład:
System.out.printf ("The value of the float " +
                   "variable is %f, while " +
                   "the value of the " +
                   "integer variable is %d, "
                   "and the string is %s",
                   floatVar, intVar, stringVar);
możesz użyć tego kodu:
String fs;
fs = String.format("The value of the float " +
                   "variable is %f, while " +
                   "the value of the " +
                   "integer variable is %d, " +
                   " and the string is %s",
                   froatVar, intVar, stringVar);
System.out.println(fs);
To wszystko! :) Link do źródła: Stringi w Javie
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION