<MyRusakov.ru />

Создание крупного проекта на Java с нуля

Создание крупного проекта на Java с нуля

Данный курс научит Вас создавать крупные проекты на Java грамотно и быстро. В курсе Вы увидите создание большой и сложной программы на Java абсолютно с нуля.

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

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

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Объект String в JavaScript

Объект String в JavaScript

Объект String используется для работы со строками. И, наверное, в любом языке, в том числе, и в JavaScript, строки занимают очень важное место в прораммировании. И сейчас я Вам расскажу о конструкторе, о свойстве и об основных методах объекта String в JavaScript.

Как и полагается, изучения класса String начинаем с его конструктора, который и создаёт объект String.

var str = new String("javascript");
document.write(str);

Тут всё очевидно и понятно, но всё-таки. В начале создаётся новый объект вызовом конструктора класса String с параметром в виде строки, которую мы хотим получить. Следующим оператором мы выводим этот объект в окно браузера.

Теперь свойство, которое используется очень часто, и его необходимо обязательно знать. Это свойство называется length. Оно позволяет узнать длину строки. Безумно часто используется при работе со строками в JavaScript.

document.write(str.length);

Теперь перейдём к основным методам JavaScript. Первый метод позволяет получить символ по номеру в строке. Нумерация начинается с нуля, поэтому первый символ имеет индекс 0. Давайте используем метод charAt():

var str = new String ("string в javascript javascript");
document.write(str.charAt(0) + str.charAt(3));

В начале мы создаём экземпляр объекта String. Дальше мы, используя метод charAt() получаем 1-ый символ ("s"), потом соединяем с 4-ым ("i") и печатаем получившуюся строку ("si").

Следующий метод, который обязательно надо знать - это indexOf(). Данный метод занимается поиском подстроки в исходной строке и возвращает первый индекс вхождения. Например:

document.write(str.indexOf("ipt"));

Разумеется, не забывайте, что строку, созданную в предыдущем примере никто не отменял. В данном случае Вы увидите, что возвращено будет число "16". Обратите внимание, что если совпадений будет найдено несколько, то вернётся самое первое. А если не найдено ни одного, то вернётся "-1". Также у метода indexOf() существует и второй необязательный параметр, означающий, от какого символа вести поиск:

document.write(str.indexOf("ipt", 17));

В данном случае, результатом выполнения скрипта будет число "27". Очевидно, что данный метод используется в первую очередь для поиска.

Ещё один метод, который применяется при замене подстроки. Метод называется replace() и принимает два параметра: подстроку, которую надо заменить, и подстроку, на которую надо заменить (заменяется только 1-е вхождение):

document.write(str.replace("javascript", "html"));

На выходе получится такая строка: "string в html javascript". Думаю, что данный метод в коментариях не нуждается.

Следующий метод объекта String позволяет получить из исходной строки её часть. Метод называется slice(). Он принимает два параметра: первый индекс, с которого должна начинаться полученная строка, и второй индекс, означающий номер последнего символа, который войдёт в возвращённую строку. В общем, проще показать на примере:

document.write(str.slice(2, 5));

В результате в окне браузера появится строка: "rin". Обратите внимание, что нумерация снова начинается с нуля (и вообще, привыкайте, что нумерация всегда начинается с нуля). Также заметьте, что индекс с номером "2" в результирующую строку вошёл, а индекс с номером "5" уже не вошёл, потому что второй параметр равен как раз 5.

Также у метода slice() есть ещё одна разновидность. Если Вы не укажете второй параметр, то будет возвращена строка, которая начинается с первого индекса и до конца исходной строки.

document.write(str.slice(2));

В результате получится такая строка: "ring в javascript javascript".

И последние два часто используемых метода - это toLowerCase() и toUpperCase(), которые приводят исходную строку к нижнему и верхнему регистру соответственно. Пример:

document.write(str.toLowerCase());
document.write(str.toUpperCase());

Я, думаю, что Вы догадались о том, какой будет результат, но всё-таки советую посмотреть и запомнить эти два очень часто используемых метода.

Вот и все методы, которые мне хотелось рассмотреть в объекте String. Разумеется, это далеко не все. Однако, они являются самыми часто используемыми. И при работе со строками Вы будете их применять многократно.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (17):

sync.o sync.o 02.07.2011 09:39:40

А чем отличается метод slice() от substring()? Кроме того, что slice() работает с отрицательными значениями?

Ответить

Admin Admin 02.07.2011 13:59:16

Метод substring() работает исключительно со строками, тогда как slice() может работать ещё и с массивами. Это и есть главное отличие.

Ответить

star05 star05 18.05.2012 22:42:32

Есть несколько неточностей: 1. В строке ***document.write(str.replace("javascript", "html");*** в конце не хватает закрывающей скобки. 2. При использовании в таком формате не получается на выходе "string в html html". На выходе получается "string в html javascript". Чтобы получился "string в html html" нужно исеользовать document.write(str.replace(/javascript/g,"html"));

Ответить

Admin Admin 18.05.2012 23:25:13

Спасибо, исправил!

Ответить

star05 star05 18.05.2012 22:46:29

Еще одна неточночность: при вводе document.write(str.slice(2, 5)); на выходе получается текст тольео до 4-го символа "rin", а не "ring".

Ответить

Admin Admin 18.05.2012 23:25:19

Спасибо, исправил!

Ответить

BotaniQue BotaniQue 05.07.2012 18:28:02

Какая разница между CharAt и Slice ?

Ответить

Margo Margo 12.12.2012 20:36:33

метод charAt() работает только с 1 символом(Михаил в примере хорошо это продемонстрировал, благодаря конкатенации (сложению) в результате получилось 2 символа, а не 1). А метод slice() предназначен для работы с множеством символов, и определить в результате не один, а несколько символов без использования сложения. Нк как-то так..

Ответить

dedok41 dedok41 27.12.2013 23:41:24

Здравствуйте, Михаил! Метод charAt() работает только на чтение символа строки, а есть обратная процедура: запись отдельного символа в требуемое место строки? К примеру, нельзя записать str.charAt(3)=’a’; (ну, записать, конечно, можно, но это не работает). В PHP все просто, там есть операция взятия символа по номеру str{k}, которая работает и на чтение, и на запись, такая конструкция возможна как до знака равенства, так и после. Ничего не вижу, разве что разбить строку посимвольно на массив, сделать что-нибудь похожее на split, и уже потом работать с каждым символом как с элементом индексного массива. Но для функции split нужен разделитель…

Ответить

dedok41 dedok41 27.12.2013 23:47:59

И вдогонку. Ради шутки попробовал str.charTo(2)='a'. Естественно, не работает. А если серъезно, почему нет такого метода?

Ответить

alexandrdante alexandrdante 27.12.2013 23:58:19

Спросите у разработчиков языка) наверное,потому,что в javascript не существует такого понятия как символы. Любой символ - это строка с определённым символом

Ответить

dedok41 dedok41 28.12.2013 11:16:48

Спасибо, Александр, за оперативный ответ. Думаю, разработчики языка как небожители, до них и высоко и далеко. На всякий случай заглянул к Кантору (http://javascript.ru/String). Действительно, нет таких методов работы со строками, символы можно только считывать, но не менять, а жаль. Но, все-таки, к строке можно обращаться как к массиву символов, т.е. записи str.charAt(i) и str[i] эквивалентны. Проверил, работает, код компактнее, но работают квадратные скобки, естественно, только на чтение. Значит, остается вручную резать строку посимвольно на обычный массив, а после обработки обратно преобразовывать в строку, как, например, в функции join. Но, это будет слишком громоздко и медленно.

Ответить

alexandrdante alexandrdante 28.12.2013 11:28:23

да...поэтому не очень удобно использовать) ну,язык то весьма примитивный,так что о чём тут говорить)

Ответить

dedok41 dedok41 28.12.2013 17:28:57

Вы правы, Александр, язык примитивный. Но есть одно неоспоримое преимущество, из-за которого приходится выжимать из этого языка все, что можно. Ведь когда выполняешь длительные расчеты на PHP, час и более, понятия не имеешь, что там программа наработала, пока расчеты не закончатся, даже если все происходит на локальном сервере. А в JS все отладочные и промежуточные контрольные распечатки идут на мониторе сразу же, синхронно с расчетами. Особенно это важно при отладке алгоритма, например, в случае зацикливания.

Ответить

alexandrdante alexandrdante 28.12.2013 17:31:02

ну,тоже верно) Все языки важны

Ответить

dedok41 dedok41 28.12.2013 17:37:03

Спасибо за диалог, с наступающим!

Ответить

alexandrdante alexandrdante 28.12.2013 17:37:53

Вас также =)

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.