Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Java_Лекция 2 / String1.ppt
Скачиваний:
31
Добавлен:
14.04.2015
Размер:
785.92 Кб
Скачать

Метод substring()

Вы можете извлечь подстроку с помощью метода substring (). Он имеет две формы. Первая:

String substring(int startlndex)

Здесь startlndex специфицирует индекс символа, с которого начнется подстрока. Эта форма возвращает копию подстроки, которая начинается с номера startlndex и простирается до конца строки вызова.

Вторая форма substring!) позволяет указывать как начальный, так и конечный индексы подстроки:

String substring(int startlndex, int endlndex)

Здесь startlndex указывает начальный индекс; endindex определяет индекс последнего символа подстроки. Возврашаемая строка содержит все символы от начального до конечного индекса (но не включая символ с конечным индексом).

Метод substring()

// Замена подстроки,

Вывод этой программы:

class StringRepIace {

This is a test. This is, too.

public static void main(String args[]) {

Thwas is a test. This is, too.

String org = "This is a test. This is, too.";

Thwas was a test. This is, too.

String search = "is";

Thwas was a test. Thwas is, too.

String sub = "was";

Thwas was a test. Thwas was, too.

String result = "";

 

int i ;

 

do {

 

// заменить все совпавшие подстроки

 

System.out.println(org) ;

 

i = org.indexOf(search) ;

 

if(i != -1) {

 

result = org.substring(0, i);

 

result = result + sub;

 

result = result + org.substring(i + search.length());

 

org = result; } }

 

while(i != -1);

 

} }

 

Метод concat()

Можно сцеплять две строки, используя метод concat о , с такой сигнатурой:

String concat(String str)

Данный метод создает новый объект, включающий строку вызова с содержимым объекта str, добавленным в конец этой строки, concat () выполняет ту же функцию, что и операция конкатенации +.

Например, фрагмент

String s1 = "one";

String s2 = s1.concat("two");

Помещает строку "onetwo" в s2. Он генерирует тот же результат, что следующая последовательность:

String s1 = "one";

String s2 = s1 + "two";

Метод replace()

Метод replace () заменяет все вхождения одного символа в строке вызова другим символом.

String replace(char original, char replacement)

Здесь original определяет символ, который будет заменен символом, указанным в replacement.

Строка, полученная в результате замены, возвращается в вызывающую программу. Например,

String s = "Hello".replace(‘l', 'w');помешает в s строку "Hewwo".

Метод trim()

Метод trim() возвращает копию строки вызова, из которой удалены любые ведущие и завершающие пробелы.

String trim()

Пример:

 

 

String s = "

Hello World

".trim();

Этот оператор помещает в строку s "Hello World".

Метод trim о весьма полезен, когда вы обрабатываете команды пользователя.

Например, следующая программа запрашивает у пользователя название штата и затем отображает столицу этого штата. Она использует trim о для удаления любых ведущих и завершающих пробелов, которые, возможно, по неосторожности были введены пользователем.

Метод trim()

// Использование trim() для обработки команд,

import java.io.*; class UseTrim (

public static void main(String args [ ]) throws lOException {

// создать BufferedReader, использующий System.in

BufferedReader br = new

BufferedReader(new

InputStreamReader(System.in)); String str;

System.out.println("Enter 'stop1 to quit."); System.out.println("Enter State: ");

do {

 

str = br.readLine();

 

str = str.trimO;

// удалить пробелы

if(str.equals("Illinois")) System.out.println("Capital is Springfield."); else if(str.equals("Missouri"))

System.out.println("Capital is Jefferson City.");

else if(str.equals("California")) System.out.println("Capital is Sacramento."); else if(str.equals("Washington")) System.out.println("Capital is Olympia.");

// ... } while{!str.equals("stop"));

} }

Преобразование данных, использующее метод valueOf()

Метод vaiueOf () преобразует данные из их внутреннего формата в удобную для чтения форму.

Это статический метод, который перегружен в классе string для всех встроенных типов Java так, что каждый тип можно преобразовать в строку,

static String valueOf(double nит)

static String valueOf (long num)

static String valueOf (Object ob)

static String valueOf(char chars[ ])

vaiueOf о вызывается, когда необходимо строчное представление некоторого другого типа данных — например, во время операций конкатенации.

Вы можете вызывать этот метод прямо, с любым типом данных в аргументе, и получать разумное строчное представление.

Все простые типы преобразуются к их обычному string-представлению.

Любой объект, который вы передаете в метод valueOf (), возвращает результат обращения к методу toString().

Для большинства массивов valueOf о возвращает строку, которая указывает, что это — массив некоторого типа. Для массивов типа char, однако, создается string-объект, который содержит символы этого массива. Существует специальная версия vaiueOf (), которая позволяет указывать подмножество char-массива. Она имеет следующую общую форму:

static String valueOf(char chars[ ], int staxrtlndex, int numChars)

Здесь chars — массив, который содержит символы; startindex индекс в массиве символов, в котором начинается желательная подстрока; numChars указывает длину подстроки.

Изменение регистра символов в строке

Метод toLowerCase () преобразует вер символы в строке с верхнего регистра на нижний. Метод toUpperCase() преобразует все символы в строке с нижнего регистра на верхний. Неалфавитные символы, типа цифр, остаются незатронутыми.

String toLowerCase()

String toUpperCase()

Оба метода возвращают объект типа string, который содержит верхне- или нижнерегистровый эквивалент вызывающего String-объекта.

// Демонстрирует toUpperCaseО и toLowerCase(). class ChangeCase {

public static void main(String args [ ]) { String s = "Это тест."; System.out.println("Оригинал: " + s);

String upper = s.toUpperCase(); String lower = s.toLowerCase(); System.out.println("Uppercase: " + upper); System.out.println("Lowercase: " + lower); }

Вывод, выполненный этой программой: Оригинал: Это тест.

Uppercase: ЭТО ТЕСТ. Lowercase: это тест.

Класс StringBuffer

StringBuffer — это класс, равный по положению классу String.

Он обеспечивает много функциональных возможностей для строк.

String представляет неизменяемые символьные последовательности фиксированной длины.

StringBuffer представляет возрастающие и перезаписываемые символьные последовательности. StringBuffer может вставлять символы и подстроки в середину строки или добавлять их в конец строки.

StringBuffer растет автоматически, чтобы создать место для таких добавлений, и часто имеет больше предварительно выделенной памяти, чем фактически необходимо для роста.

Конструкторы StringBuffer

StringBuffer() StringBuffer(int size) StringBuffer(String str)

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

Вторая версия принимает целочисленный аргумент, который явно устанавливает размер буфера.

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

Соседние файлы в папке Java_Лекция 2