JavaRush /Java блог /Random UA /Рядки в Java
articles
15 рівень

Рядки в Java

Стаття з групи Random UA
У цьому уроці ми навчимося працювати з рядками Java. Рядки, які так широко використовуються в програмуванні являють собою послідовність символів. У мові програмування Java рядки це об'єкт. Платформа Java надає клас Stringдля створення та керування рядками. Рядки в Java - 1

Створення рядків

Найпростіший спосіб створення рядка виглядає так:
String greeting = "Hello world!";
В даному випадку Hello World! — це рядковий літерал (тобто константа), що складається з послідовності символів, укладених у лапки. Щоразу, коли компілятор зіштовхується з рядковим літералом, він створює об'єкт типу Stringзі значенням, у разі, «Hello World!». Як і будь-який інший об'єкт, можна створити рядок, використовуючи ключове слово new. Клас Stringмає три конструктори, які дозволяють створювати об'єкт, використовуючи різні джерела, наприклад масив символів.
char[] helloArray = {'h', 'e', 'l', 'l', 'o', '.'};
String helloString = new String(helloArray);
System.out.println(helloString);
Останній рядок прикладу виведе на екран hello . Клас Stringє незмінним, тому один раз створивши об'єкт, ми зможемо його змінити. Деякі методи, які ми розглянемо нижче, дають змогу це виправити. Т.к. Stringнезмінюємо, ці методи створюють та повертають новий рядок, що містить результат операції.

Довжина рядка Java

Методи отримання інформації про рядку називаються методами доступу. Один із цих методів length(). Він повертає кількість символів у рядку. У наступному прикладі lenдорівнюватиме 17:
String palindrome = "Dont saw I saw Tod";
int len = palindrome.length();
Змінна palindromeмістить паліндром, тобто. слово чи речення, що однаково читається в обидві сторони. Напишемо невелику програму, яка переверне паліндром. Ми будемо використовувати метод charAt(i), який повертає i - символ рядка, починаючи з 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);
    }
}
Програма виведе
doT saw I was toD
Для того щоб перевернути рядок, ми спочатку створабо з рядка масив символів (перший цикл), потім створабо новий масив, який записали перевернутий перший масив, далі створабо новий рядок. Клас Stringмістить метод getChars(), який повертає масив символів, тому перший цикл можна замінити рядком:
palindrome.getChars(0, len, tempCharArray, 0);

Конкатенація рядків

Клас Stringреалізує метод з'єднання двох рядків:
string1.concat(string2);
Цей код поверне новий рядок, що містить string1і приєднаний до нього string2. Також можна використовувати цей метод з рядковими літералами:
"My name is ".concat("Rumplestiltskin");
Найчастіше рядки з'єднують за допомогою оператора « +», приклад:
"Hello," + " world" + "!"
В результаті вийде рядок Hello, world! ». Оператор « +» широко використовується для виведення інформації, наприклад:
String string1 = "saw I was ";
System.out.println("Dot " + string1 + "Tod");
Код виведе « Dot saw I was Tod ». Подібна конкатенація може бути використана у зв'язці з будь-якими іншими об'єктами. Для об'єктів, що не є рядками, буде викликаний метод toString(), який конвертує їх у рядки. Ми вже розглядали методи іprintf() коли format()форматували виведення чисел. Клас Stringмає аналогічний метод, який повертає рядок. Використовуючи статичний метод, format()можна створити стоковий шаблон, який можна повторно використовувати, наприклад, замість цього:
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);
можна використовувати цей код:
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);
На цьому все! :) Посилання на першоджерело: Рядки в Java
Коментарі
ЩОБ ПОДИВИТИСЯ ВСІ КОМЕНТАРІ АБО ЗАЛИШИТИ КОМЕНТАР,
ПЕРЕЙДІТЬ В ПОВНУ ВЕРСІЮ