Занятие №4 String работа со строками.

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

Объявляем переменные String

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

листинг 4.1

В JAVA статические строки реализуются через класс String. Объект строки автоматически создается при использовании строковой литералы. А также для строк доступна операция +, позволяющая соединить несколько строк в одну это называется concatenation. Если один из операндов не строка, то он автоматически преобразуется в строку. Так же для этого имеется свой метод concat() доставшийся нам из ранних версий java  Все эти примеры вы можете видеть в листинге 4.2

листинг 4.2

Последовательность выполнения операторов.

Это одна из ошибок новичков, по этому тут стоит разобраться. Допустим у нас есть переменная age («возраст») и мы хотим в ней сохранить строку возраста и и число возраста человека. Но нам необходимо произвести некое вычисление в переменной age типа String не заводя новой переменной типа int. Если мы сделаем так:

листинг 4.3

То возраст нашего человека будет не девять, как мы думаем, у нас произойдет слияние строк, конкатенация описанная выше. А что бы этого не произошло нам надо поставить скобки в математическом вычислении, то есть выполнить последовательность операторов. Верный вариант выполнения вычисления в листинге 4.4

листинг 4.4

Теперь разберем основные методы в String которыми вы в будущем наверняка будите работать.

Метод indexOf();

Этот метод дает возможность поиска заданного символа в строке, с присвоением  переменной типу int  его номера в строке. Обратите внимание что в JAVA исчисления начинается не с единицы, а с нуля. То есть машины начинает считать с 0, а не как человек с 1. так же имейте ввиду пробел в предложении является то же символом, запомните это очень важно.  Все этом можно увидеть в листинге 4.5

листинг 4.6

Как видно из листинга 4.6 Буква «е», а точнее символ, присвоился переменной порядковый номер из строки. Если посчитать с нуля до четырех, то порядковый номером нашего символа будет «е».

Метод  getChars();

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

В листинге 4.7 демонстрируется вариант использования метода getChars();

листинг 4.7

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

В JAVA можно производить сравнение строк, на возможность определения одинаковые ли они. И вы конечно вспомнили об операторе == которым можно проводить сравнения чисел. В случаи со String происходит все иначе, точнее было  до JAVA 8,  с помощью оператора == сравниваются ссылки на объект. Рассмотрим пример:

У нас есть две переменные с одинаковым значением, но ссылки на объект у них разные, так как у нас есть переменная «а» которая ссылается на свой объект и переменная «b» которая ссылается на свой объект. И если мы используем оператор == ,то у нас программа покажет что они разные и она будет права, ведь ссылки на объект у них разные, До версии JAVA 8 вывод такой программы был бы false . Начиная с JAVA 8 таким оператором можно пользоваться но я бы не советовал, так как его использования возможно будет конфликтовать с другими версиями JAVA, и сравнения строк не произойдет.

Метод equals(); и equalsIgnorCase();

Для сравнения строк  используется метод equals(); так же есть похожий методы сравнения строк equalsIgnoreCase который игнорирует заглавные буквы и сравнивает последовательность символов в строке. Реализацию методов можно увидеть из листинга 4.7.1

листинг 4.7.1

Методы редактирование строки.

Здесь опишем несколько методов позволяющих редактировать строки.

Метод substring()

Метод substring()  перегруженный метод, что бы вам было понятно имеет два варианта исполнения. В первом случаи в параметр метода задается порядковый номер символа и начиная от этого символа, отображается остаток строки. Второй вариант этого метода, когда задаются два параметра, первый начало и конец строки для вывода. Что бы вам было наглядно понятно посмотрите пример листинга 4.7.2

листинг 4.7.2

Метод replace();

Этот метод позволяет производить замену символа или символов в строке, для этого в параметре метода указывается символ который необходимо заменить, вторым параметром указывается то, на что необходимо произвести замену. Посмотрим листинг 4.7.3 реализацию данного метода.

листинг 4.7.3

Метод toLowerCase(); и toUpperCase();

Эти два метода как видно из названия преобразуют строку toLowerCase в нижний регистр, а toUpperCase в верхний регистр. Посмотрим пример в листинге 4.7.4

листинг 4.7.4

Метод trim();

Этот метод позволяет удалить все пробелы в начале и в конце строки. Смотрим листинг 4.7.5

Таблица методов String.

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

Домашнее задание.

  1. Изучите внимательно таблицу, почитайте о методах и их действиях.
  2. Объявить переменную s типа String присвоить ей значение «nookery.ru» Вызывать метод length() переменной s и посмотреть результат вывода.
  3. Объявить переменную s типа String присвоить ей значение «nookery.ru» Использовать соответствующий метод замены, чтобы вывод на экране был текст «java like»
  4. Это задание будет не простым, вам необходимо в нем реализовать метод из таблицы что бы результат его был таким:

    Условия задания следующие, объявите две переменные типа String в одну из них присвойте данные «Мир вокруг нас прекрасен». Во вторую переменную присвойте «Мир» Сделайте реализацию кода с помощью метода из таблицы с выводом на экран таким образом, что бы вывод был как в приведенном примере выше.

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.