Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
41
Добавлен:
12.05.2015
Размер:
624.64 Кб
Скачать

Класс String

Хотя класс string будет подробно рассмотрен в Части II этой книги, крат­кое его рассмотрение необходимо уже теперь, потому что в некоторых при­мерах программ, показанных в конце Части I, мы будем использовать стро­ки, string – это, пожалуй, чаще всего используемый класс в библиотеке классов Java. Причина очевидна – строки являются очень важной частью программирования.

Для начала важно понять, что каждая строка, которую вы создаете, в дейст­вительности является объектом типа string. Даже строчные константы – это фактически string-объекты. Например, в утверждении

System.out.println("This is a String, too");

строка "This is a String, too" является string-константой. К счастью, Java об­рабатывает string-константы так же, как другие машинные языки обраба­тывают "нормальные" строки, так что вас это не должно беспокоить.

Кроме того, нужно понять, что объекты типа string неизменяемы. Если string-объект создан, то его содержимое не может быть изменено. Хотя данное утверждение похоже на серьезное ограничение, однако это не так по двум причинам:

  • если нужно изменить строку, то всегда можно создать ее новую модифи­цированную копию;

  • Java определяет класс просмотра (peer class) для string, называемый stringBuffer, который позволяет строкам стать изменяемыми, так что все нормальные манипуляции со строками все еще доступны в Java. (stringBuffer описан в Части II этой книги.)

Строки можно создать множеством способов. Самый простой – с помощью следующего утверждения:

String myString = "Это тест";

Как только вы создали string-объект, то можете использовать его везде, где допустима строка. Например, следующее утверждение выводит mystring-объект на экран дисплея:

System.out.println(myString);

Java определяет одну операцию для string-объектов, которая обозначается знаком плюс (+). Она используется для сцепления (конкатенации) двух строк. Например, такой оператор:

String myString = "Мне"'+ " нравится программировать на " + "Java.";

приводит к следующему содержимому объекта myString: "Мне нравится программировать на Java".

Предыдущие концепции демонстрирует следующая программа:

// Демонстрация строк, class StringDemo {

public static void main(String args[]) {

String strObl = "Первая строка";

String strOb2 = "Вторая строка";

String strObS = strObl + " и " + Str0b2;

System.out.println(strObl); System.out.println(strOb2); System.out.println(strObS); } }

Вывод, выполняемый этой программой:

Первая трока

Вторая строка

Первая строка и Вторая строка

Класс string содержит несколько полезных методов. Используя equals о, можно проверять две строки на равенство. Длину строки можно получить, вызывая метод lengtho. Вызывая charAto, можно получить символ строки с указанным индексом (номером). Общие формы из этих трех методов:

boolean equals(String object)

int length()

char charAt(int index)

Ниже приведена программа, которая демонстрирует эти методы:

// Демонстрация некоторых методов класса String, class StringDemo2 {

public static void main(String args(]) (

String strObl = "Первая строка"; String strOb2 = "Вторая строка"; String strOb3 = strObl;

System.out.printIn("Длина strObl: " + strObl. length ());

System.out.println("Символ с индексом 3 в strObl: " + strObl.charAt(3));

if(strObl.equals(strOb2))

System.out.println("strObl == strOb2"); else

System.out.println("strObl != strOb2");

if(strObl.equals(strOb3))

System.out.println("strObl == strOb3"); else

System.out.println("strObl != strObS"); } }

Эта программа генерирует следующий вывод:

Длина strObl: 12

Символ с индексом 3 в strObl: в

strObl != strOb2

strObl == strOb3

Можно, конечно, создавать и массивы строк, аналогично тому, как создают­ся массивы любого другого типа объектов. Например:

// Демонстрирует String-массивы, class StringDemoB {

public static void main(String args[]) { String str[] = { "один", "два", "три" };

forfint i=0; i<str.length; i++)

System.out.println("str[" + i + "]: " + str[i]); ) }

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

str [0] : один str [1] : два str [2] : три

Как вы увидите в следующем разделе, массивы строк играют важную роль во многих Java-программах.

Соседние файлы в папке JavaLit