Оценить:
 Рейтинг: 3.5

Java за неделю. Вводный курс

Год написания книги
2018
<< 1 ... 12 13 14 15 16 17 18 19 20 ... 25 >>
На страницу:
16 из 25
Настройки чтения
Размер шрифта
Высота строк
Поля

Как мы уже упоминали в предыдущем разделе, длина массива (количество элементов) определяется через свойство length, поэтому метод для определения длины массива не применяется.

5.4 Строки

Строго говоря, строка в языке Java – это не тип данных, а экземпляр встроенного класса String. У класса String есть собственные методы для работы со строками. Класс String, в отличие от класса Arrays, не требует импорта.

Мы не случайно говорим о строках и массивах в одной главе. Строку текста можно рассматривать, как упорядоченный набор символьных значений, где каждый символ имеет собственный порядковый номер (индекс). Переменная, которая ассоциирована со строкой, хранит ссылку на область памяти. В этом строки похожи на массивы.

Строку можно создать разными способами. Наиболее очевидный – создать экземпляр класса String в явном виде:

String str = «Hello, World!»;

Можно создать пустой объект класса String:

String str = new String ();

Можно создать строку из массива символов:

char [] chars = {«J», ’a’, ’v’, ’a’};

String str = new String (chars);

Строки могут являться элементами массива:

String [] userNames = {«Василий», «Петр», «Николай»};

Строки можно объединять при помощи оператора +. Эта операция называется конкатенацией строк:

String str1 = «Java»;

String str2 = «Language»;

String str3 = str1 + str2;

Допускается сокращенная форма оператора присваивания +=:

String str3 += «Language»;

Строка является неизменяемым объектом. Если в результате манипуляций со строкой меняется ее текст, то на самом деле в памяти создается новая строка, и строковой переменной присваивается новая ссылка. Если старая строка больше нигде не используется, то автоматический сборщик мусора удаляет ее, освобождая память.

5.5 Методы для операций со строками

Язык Java предлагает много полезных методов для работы со строками. В этой книге мы перечислим только самые необходимые.

charAt () – возвращает символ с указанным смещением от начала строки. Отсчет начинается с нуля. Не используйте отрицательные и несуществующие значения индекса. Метод напоминает обращение к элементу массива по индексу:

String lang = «Java»;

char myChr = lang.charAt (2); // myChr = «v»

contains () – проверяет, содержится ли заданная последовательность символов в строке:

String str = «Codemagic»;

boolean tmp = str.contains («mag»); // возвратит true

endsWith () – проверяет, заканчивается ли строка заданной последовательностью символов:

String str = «Codemagic»;

boolean tmp = str. endsWith («magic»); // возвратит true

Метод startsWith () аналогичным образом проверяет, начинается ли строка с заданной последовательности символов.

equals () – сравнивает строки и возвращает логическое значение true, если совпадают количество символов, их порядок и регистр:

String str1 = «Java program»;

String str2 = «Java Program»;

boolean cmp1 = str1.equals (str2); // false – регистр не совпадает

boolean cmp2 = str1.equals («Java program»); // true – совпадение

equalsIgnoreCase () – сравнивает строки без учета регистра символов.

length () – возвращает количество символов в строке, включая пробелы.

split () – разделяет строку на части в соответствии с заданным разделителем и возвращает массив фрагментов строки:

String names = «Василий, Петр, Ольга, Игорь»;

String [] splitNames = names. split (»,»);

В данном примере метод split () возвратит строковый массив {«Василий», «Петр», «Ольга», «Игорь»}.

substring () – возвращает заданный фрагмент строки. В качестве аргумента указывают индекс начального символа и индекс символа, следующего за конечным:

String str1 = «Hello, Java»;

String str2 = str1.substring (0,4); // str2 = «Hell»

String str3 = str1.substring (7); // str3 = «Java»

Если в качестве аргумента метода указан только один индекс, то извлекается фрагмент начиная с указанного индекса и до конца строки.

toUpperCase () /toLowerCase () – преобразование регистра всех символов строки в верхний / нижний регистр:

String str1 = «Hello, Java»;
<< 1 ... 12 13 14 15 16 17 18 19 20 ... 25 >>
На страницу:
16 из 25