Работа со строками

Обработка строк
Как и в большинстве других языков программирования, строка в Java – это последовательность символов. Но в отличие от многих языков, которые реализуют строки как символьные массивы, в Java строки реализуются как объекты типа String.
Каждая создаваемая строка в действительности является объектом типа String. Даже строчные константы – это фактически String-объекты. Например, в утверждении
System.out.println(“This is a String, too”);
строка “This is a String, too” является String-константой.
Для работы со строками определен класс String в стандартной библиотеке Java в пакете java.lang (этот пакет импортируется по умолчанию).
Конструкторы:

public String();      //создает пустую строку
public String(char value[ ]); //создает строку из массива символов
public String(byte bytes[ ]); //создает строку из массива байт

Пример:

String  str = new String(“ Какая-то строка”);
Можно также записать
String  str = “Какая-то строка”;
Для строк определена операция сложения, которая означает конкатенацию строк. Определена операция сложения с числом: сначала число преобразуется в строку, а потом соединяются строка с числом. Определена операция сложения строки с  любым  объектом.  Для  объекта  вызывается  метод  toString, затем – конкатенация строк.
Пример:
System.out.println(“Ошибка  “+e.toString);

Методы для работы со строками:

public int compareTo(String  anotherString);    //этот метод
// сравнивает 2 строки
public int indexOf(int ch); //ищет индекс в строке
public int indexOf(String str); //ищет указанную строку в строке
public int length(); //возвращает длину строки
public String substring(int beginIndex, int endIndex); //выделяет
//подстроку из строки
public String trim(); //удаляет из строки начальный и конечный пробелы
public char charAt(int index); //выбирает из строки символ с
// индексом index
public boolean equals(Object str); //проверяет равенство строк

 

Преобразование строки в число
Одной из наиболее обычных работ в программировании является преобразование строкового представления числа в его внутренний, двоичный формат. Java обеспечивает простой способ ее выполнения. В классах ByteShortInteger и Long определены  методы parseByte, parseShort(), parselnt() и parseLong(). Эти методы возвращают byte-, short-, int- или long-эквивалент числовой строки, с которой они вызываются. Подобные методы также существуют для классов Double и Float.
Программа, которая суммирует список чисел, введенных пользователем, преобразует строчное представление каждого числа в int-значение, используя метод parseInt().
import  java.io.*;
class ParseDemo {
public static void main(String args[])
throws IOException {
// создать объект BufferedReader, используя System.in
BufferedReader br = new BufferedReader(new
InputStreamReader(System.in));
String str;
int i;
int sum=0;
System.out.println("Вводите числа от 0 до quit.");
do {
str = br.readLine();
try {
i = Integer.parseInt(str) ;
} catch(NumberFormatException e) {
System.out.println(“Неправильный формат”);
i =0;
}
sum+=1;
System.out.println(“Текущая сумма” + sum);
}while (i!=0);
}
}

 

Конвертация чисел в строки
Чтобы конвертировать полное число в десятичную строку, используйте версии метода toString(), определенные в классах Byte, Short, Integer или Long. В классах Integer и Long определяются также методы toBinaryString(), toHexString() и toOctalString(), которые переводят внутримашинное значение в двоичную, шестнадцатеричную или восьмеричную строку соответственно.
Следующая программа демонстрирует двоичное, шестнадцатеричное и восьмеричное преобразование.

class StringConversions {
public static void main(String args[]) { int num = 19648;
System.out.println(num + " в двоичной форме: " + Integer.toBinaryString(num));
System.out.println(num + " в восьмеричной форме: " + Integer.toOctalString(num));
System.out.println(num + " в шестнадцатеричной форме: " + Integer.toHexString(num)); } }
Вывод этой программы:
19648 в двоичной форме: 100110011000000
19648 в восьмеричной форме: 46300
19648 в шестнадцатеричной форме: 4cc0

 

Добавить комментарий


Защитный код
Обновить

Разработчику

Скрипты