Строки в Java

Содержание

Слайд 2

Класс String в Java Пример 1: Способы создания строк

Класс String в Java

Пример 1: Способы создания строк

Слайд 3

Класс String в Java Строка в языке Java – это не

Класс String в Java

Строка в языке Java – это не

массив символов типа char, а объект соответствующего класса.
Для работы со строками в Java используются классы String, StringBuffer и StringBuilder_пакета java.lang.
Cимволы в строках хранятся в кодировке Unicode, в которой каждый символ занимает два байта. Тип каждого символа char. Каждый символ строки имеет индекс. Индекс первого символа строки равен нулю.
Строку String можно создать с использованием оператора new. Конструкторы класса String позволяет инициализировать строки различными способами, например, пустой строкой, строковой константой, массивом символов.Также каждая строковая константа порождает объект класса String (пример 1).
Класс String позволяет создавать строковые объекты, которые нельзя изменить. Методы класса, модифицирующие объект String, реально не изменяют его, а создают дополнительный объект String.
Ссылку на объект класса String можно изменить так, чтобы она указывала на другой объект и тем самым на другую строку.
Классы StringBuffer и StringBuilder допускают изменения в строке.
Строки можно объединять, используя операцию конкатенации (+), это единственная операция, применимая для строк. Все остальные манипуляции со строками выполняются с помощью методов.
Поскольку объект класса String неизменяем, то результатам сложения s4 = s4 + “lo” (пример 1) будет новый объект. Одинаковые строковые константы размещаются в одном пуле строк (пример 1, ссылки s1, s2 и s3 – ссылаются на одну и ту же область памяти (объект) с константой “hello” ).
Если использовать операцию сравнения ( == ) со строками, то она будет сравнивать ссылки на строки, а не сами строки (пример 1).
Для чтения символа строки с указанным номером используется метод charAt(). Символы строки нумеруются с нуля.
Слайд 4

Класс String в Java Пример 2: Объединение и сравнение строк

Класс String в Java

Пример 2: Объединение и сравнение строк

Слайд 5

Класс String в Java Пример 3: Поиск в строке, разделение строки

Класс String в Java

Пример 3: Поиск в строке, разделение строки

Слайд 6

Класс String в Java В примере 2 показано использование методов класса

Класс String в Java

В примере 2 показано использование методов класса

System.String, которые используются для объединения (конкатенации) и сравнения строк.
Метод concat выполняет сцепление (конкатенацию) строк.
Метод join объединяет несколько строк через символ разделитель.
Метод compareTo сравнивает две строки и возвращают число. Если первая строка по алфавиту стоит выше второй, то возвращается число больше нуля. В противном случае возвращается число меньше нуля. И третий случай - если строки равны, то возвращается число 0.
Метод compareTo предназначен в основном для использования при сортировке строк.
Для сравнения строк удобно использовать метод equals. Метод equals возвращает true, если строки равны и false – в противном случае. Метод equalsIgnoreCase сравнивает строки без учета регистра.
С помощью метода indexOf мы можем определить индекс первого вхождения отдельного символа или подстроки в строке (пример 3).
Подобным образом действует метод lastIndexOf, только находит индекс последнего вхождения символа или подстроки в строку.
С помощью метода Split можно разделить строку на массив подстрок. В качестве параметра функция Split принимает регулярное выражение, которое задает разделители подстрок в строке (пример 3). 
Слайд 7

Класс String в Java Пример 4: Обрезка начальных и конечных пробелов строки, извлечение подстроки

Класс String в Java

Пример 4: Обрезка начальных и конечных пробелов

строки, извлечение подстроки
Слайд 8

Класс String в Java Пример 5: Замена в строке

Класс String в Java

Пример 5: Замена в строке

Слайд 9

Класс String в Java Пример 6.1: Форматирование строк

Класс String в Java

Пример 6.1: Форматирование строк

Слайд 10

Класс String в Java Пакет java.io содержит класс PrintStream, который содержит

Класс String в Java

Пакет java.io содержит класс PrintStream, который содержит

методы printf и format.
Объект System.out — это объект PrintStream, поэтому вы можете вызывать методы PrintStream используя System.out. Например: System.out.format(.....);
Синтаксис методов одинаков: public PrintStream format(String format, Object... args)
где format — это строка которая определяет шаблон, согласно которому будет происходить форматирование, args — это список переменных, для печати по заданному шаблону. 
Строка format содержит обычный текст и специальные форматирующие символы. Эти символы начинаются со знака процента (%) и заканчиваются символом, который определяет тип переменной для форматирования. 
Следующая таблица содержит некоторые форматирующие символы и флаги:
Слайд 11

Класс String в Java

Класс String в Java

Слайд 12

Класс String в Java Пример 6.2: Форматирование строк

Класс String в Java

Пример 6.2: Форматирование строк

Слайд 13

Класс String в Java Пример 6.3: Использование класса Formatter

Класс String в Java

Пример 6.3: Использование класса Formatter

Слайд 14

Класс StringBuilder в Java Пример 7: Создание строк StringBuilder

Класс StringBuilder в Java

Пример 7: Создание строк StringBuilder

Слайд 15

Класс StringBuilder в Java Пример 8: Использование методов класса StringBuilder

Класс StringBuilder в Java

Пример 8: Использование методов класса StringBuilder

Слайд 16

Класс StringBuilder в Java Объекты типа StringBuilder отличаются от объектов типа

Класс StringBuilder в Java

Объекты типа StringBuilder отличаются от объектов типа String тем, что они

могут быть изменены. По сути они представляют из себя массивы переменной длины, содержащие последовательность символов. Длина и содержание последовательности могут быть изменены вызовом соответствующих методов.
StringBuilder необходимо использовать в случаях, когда это поможет упростить код или если это необходимо для лучшей производительности. Если вам необходимо объединить большое количество строк, использование StringBuilder будет более эффективным.
Класс StringBuilder как и класс String, имеет метод length(), который возвращает длину последовательности символов объекта.
В отличие от строк String, в StringBuilder, помимо длины есть capacity — количество символов под которое выделена память. Емкость (capacity), возвращаемая методом capacity(), всегда больше или равна длине строки (обычно больше) и автоматически будет увеличина при необходимости.
Конструкторы StringBuilder:
Слайд 17

Класс StringBuilder в Java Класс StringBuilder содержит несколько методов относящихся к

Класс StringBuilder в Java

Класс StringBuilder содержит несколько методов относящихся к длине и

емкости, которых нет в классе String:
Некоторые методы (например, append(), insert(), или setLength()) могут увеличить длину последовательности символов в stringbuilder’е , так что длина может оказаться больше текущей емкости. Когда это происходит — емкость автоматически увеличивается.
Основные функции StringBuilder, которых нет в String: append() и insert(), которые перегружены для приема разного типа данных. Каждый конвертирует аргумент в строку и добавляет её в строку stringbuilder’а. Метод append всегда добавляет символы в конец существующей последовательности, тогда как метод  insert добавляет символы в указанное место.
Слайд 18

Класс StringBuilder в Java Некоторые методы класса StringBuilder:

Класс StringBuilder в Java

Некоторые методы класса StringBuilder:

Слайд 19

Класс StringBuilder в Java Вы можете использовать любой метод класса String

Класс StringBuilder в Java
Вы можете использовать любой метод класса String на объекте

класса StringBuilder предварительно сконвертировав его в строку методом toString(). Затем из строки можно опять сделать stringbuilder, используя конструктор: StringBuilder(String str).  
Слайд 20

Класс StringBuilder в Java Пример 9: Извлечение всех больших букв из строки

Класс StringBuilder в Java

Пример 9: Извлечение всех больших букв из

строки