Обработка строк в Java

Содержание

Слайд 2

Класс String – это самый частоиспользуемый класс в Java, он предназначен для хранения

Класс String – это самый частоиспользуемый класс в Java, он предназначен для
набора (массива) символов.
Состояние объектов класса String невозможно изменить после создания объекта (объекты класса являются неизменяемыми).

Слайд 3

Внутреннее устройство класса String

public final class String{
private final char value[]; //

Внутреннее устройство класса String public final class String{ private final char value[];
Массив символов.
private final int offset; // Смещение от начала массива.
private final int count; // Количество символов.
private int hash; // Хэш-код строки.
}

Слайд 4

Создание объекта строки

Создать объект строка в Java можно с помощью оператора new или строкового

Создание объекта строки Создать объект строка в Java можно с помощью оператора
литерала (символы, ограниченные двойными кавычками).

Слайд 5

Объект строки создается в специально отведенном месте памяти, называемом пул строк. При повторном

Объект строки создается в специально отведенном месте памяти, называемом пул строк. При
использовании литерала, новый объект не создается, а в переменную присваивается ссылка на ранее созданный объект.
При создании объекта строки оператором new всегда создается новый объект.

Слайд 6

Статические методы класса String

format – метод возвращает строку, в которой спецификаторы формата заменены

Статические методы класса String format – метод возвращает строку, в которой спецификаторы
на значения параметров в методе.
valueOf – возвращает строковое представление значений примитивных типов.

Слайд 7

Спецификаторы формата

Количество спецификаторов формата должно соответствовать количеству параметров в методе. Тип значений должен

Спецификаторы формата Количество спецификаторов формата должно соответствовать количеству параметров в методе. Тип
соответствовать спецификатору формата.

Слайд 8

Escape-последовательности

Escape-последовательности

Слайд 9

Все методы класса String не изменяют строку, в которой они вызываются, а возвращают

Все методы класса String не изменяют строку, в которой они вызываются, а
ссылку на новый объект класса String.

Слайд 10

Методы класса String

charAt – возвращает символ из строки, находящийся по индексу.
concat –

Методы класса String charAt – возвращает символ из строки, находящийся по индексу.
возвращает конкатенацию (объединение двух строк в одну).

Слайд 11

Методы класса String

length – возвращает количество символов в строке.
isEmpty – возвращает истину, если

Методы класса String length – возвращает количество символов в строке. isEmpty –
строка не содержит символов, иначе ложь. Работает быстрее, чем length.

Слайд 12

Методы класса String

contains – возвращает истину, если строка содержит хотя бы одно

Методы класса String contains – возвращает истину, если строка содержит хотя бы
совпадение со сравниваемой строкой.

Слайд 13

Методы класса String

startsWith – возвращает истину, если строка начинается с искомого символа или

Методы класса String startsWith – возвращает истину, если строка начинается с искомого
строки.
endsWith – возвращает истину, если строка заканчивается на искомый символ или строку.

Слайд 14

Методы класса String

trim – возвращает строку с удаленными начальными и конечными пробелами.
toLowerCase – возвращает

Методы класса String trim – возвращает строку с удаленными начальными и конечными
строку, в которой все заглавные символы исходной строки заменены на строчные.
toUpperCase – возвращает строку, в  которой все строчные символы исходной строки заменены на заглавные.

Слайд 15

Методы класса String

indexOf – возвращает индекс символа, с  которого найдено первое совпадение

Методы класса String indexOf – возвращает индекс символа, с которого найдено первое
с искомой строкой или символом. Поиск начинается с  начала строки. Если совпадение не найдено, возвращает –1.

Слайд 16

Методы класса String

lastIndexOf – возвращает индекс символа, с которого найдено первое совпадение с искомой

Методы класса String lastIndexOf – возвращает индекс символа, с которого найдено первое
строкой или символом. Поиск начинается с конца сроки. Если совпадение не найдено, возвращает –1.

Слайд 17

Методы класса String

substring – возвращает часть строки из исходной.

Методы класса String substring – возвращает часть строки из исходной.

Слайд 18

Методы класса String

replace – возвращает строку, заменяя в исходной строке символ или набор

Методы класса String replace – возвращает строку, заменяя в исходной строке символ
символов на другой символ или набор символов.

Слайд 19

Методы класса String

split – позволяет разбить строку на подстроки по определенному разделителю.

Методы класса String split – позволяет разбить строку на подстроки по определенному
Разделитель – какой-нибудь символ или набор символов передается в качестве параметра в метод.

Слайд 20

Задача 1

Подсчитать общее количество знаков «+», «-» и «*», входящих во вводимую с клавиатуры строку.

Задача 1 Подсчитать общее количество знаков «+», «-» и «*», входящих во вводимую с клавиатуры строку.

Слайд 21

Задача 2

Определить количество вхождений заданной подстроки в строку. Ввод строки и подстроки

Задача 2 Определить количество вхождений заданной подстроки в строку. Ввод строки и подстроки организовать с клавиатуры.
организовать с клавиатуры.

Слайд 22

Задача 2

Задача 2

Слайд 23

Задача 3

Дана строка, которая содержит имена пользователей, разделенные запятой – "Login1,LOgin2,login3,loGin4".
Необходимо

Задача 3 Дана строка, которая содержит имена пользователей, разделенные запятой – "Login1,LOgin2,login3,loGin4".
разбить эту строку на массив строк (чтобы отдельно были логины), и перевести их все в нижний регистр.

Слайд 24

Задача 4

Разработать программу, проверяющую, является ли введенное с клавиатуры слово (строка) палиндромом

Задача 4 Разработать программу, проверяющую, является ли введенное с клавиатуры слово (строка)
(читается одинаково в обе стороны).

Слайд 25

Задача 4

Задача 4

Слайд 26

Сравнение строк

Для сравнения строк используются методы equalsIgnoreCase() (без учета регистра) и equals() (с учетом регистра).

Сравнение строк Для сравнения строк используются методы equalsIgnoreCase() (без учета регистра) и equals() (с учетом регистра).

Слайд 27

Сравнение строк

Метод regionMatches() сравнивает отдельные подстроки в рамках двух строк.
ignoreCase: надо ли игнорировать регистр

Сравнение строк Метод regionMatches() сравнивает отдельные подстроки в рамках двух строк. ignoreCase:
символов при сравнении.
toffset: начальный индекс в вызывающей строке, с которого начнется сравнение.
other: строка, с которой сравнивается вызывающая.
oofset: начальный индекс в сравниваемой строке, с которого начнется сравнение.
len: количество сравниваемых символов в обеих строках.

String str1 = "Hello world";
String str2 = "I work";
boolean result = str1.regionMatches(6, str2, 2, 3);
System.out.println(result); // true.

Слайд 28

Сравнение строк

Методы int compareTo(String str) и int compareToIgnoreCase(String str) сравнивают строки и позволяют узнать больше ли

Сравнение строк Методы int compareTo(String str) и int compareToIgnoreCase(String str) сравнивают строки
одна строка, чем другая или нет.

Слайд 29

Сравнение строк

При применении оператора сравнения (==) для переменных ссылочного типа происходит сравнение

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