Курсы по программированию

Формула программиста

основатель — Волосатов Евгений Витольдович
Поздравляю с 1 сентября! Система начисления Байтов работает.

J4. Типы / TYPE - Непримитивный тип String

  • На этом уроке мы немного поговорим о классе String.
    Им также удобно пользоваться, как и примитивными типами.
    Однако есть некоторые особенности реализации этого класса,
    о которых необходимо знать при разработке программ.
  • Дата отправки отчёта: 27 декабря 2018 г.
  • Задание выполнено: за 1 час. 25 мин.
  • Чему научился: тип String не относится к примитивным

    Присваиваемое значение заключается в "двойные кавычки"

    'Апострофы' применяй в JAVA для присвоения одиночных символов.
    "Кавычки  " применяй в JAVA для присвоения неодиночных символов, строк текстов.

    Пустая строка допускается

    Допустимы экранирование спецсимволов ' " \

    Переменные типа String не редактируются (не меняются, а копируются с изменениями) в месте их хранения в памяти
    При редактировании переменной типа String создаётся новая копия с изменениями

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

    Проблему тормозов решает класс StringBuilder, умело редактирующий string с оптимизацией расходования памяти

    При использовании знака сложения текста и чисел работает конкатенация, учитывай! Скобки помогают отключить конкатенацию:
    "ответ: " + 5 + 7 возвратит "ответ: 57"
    "ответ: " + (5+7) возвратит "ответ: 12"

    Сравнение разных переменных String С ОДИНАКОВЫМ ЗНАЧЕНИЕМ возвратит true
    Сравнение разных переменных String С ОДИНАКОВЫМ ЗНАЧЕНИЕМ возвратит false ЕСЛИ ПРЕДПРИНИМАЛОСЬ РЕДАКТИРОВАНИЕ
  • Оценка видео-уроку:
Отчёт от 17947 за J4. Типы / TYPE - Непримитивный тип String


Отчёт от 17947 за J4. Типы / TYPE - Непримитивный тип String




Оцени работу

 
Сохранить страницу:

  • Отчёт оценивали:
    19022Олег Чудновский+1   1Евгений Волосатов+1   20619Артём Нагорный0   3922Александр+1   6203Николай Миролюбов+1   13417Chip+1   11019Trira+1   20627masa0   14981DimanDOS+1   791Валерий Жданов+1   17606Виктор+1   7119Новопашин Владимир+1   10895Danil42Russia+1  

Начинаем практику по языку C#





Если вы пришли без приглашения -
введите тысяча двадцать четыре (цифрами).
Чтобы стать хорошим программистом — нужно писать программы. На нашем сайте очень много практических упражнений.

После заполнения формы ты будешь подписан на рассылку «C# Вебинары и Видеоуроки», у тебя появится доступ к видеоурокам и консольным задачам.

Несколько раз в неделю тебе будут приходить письма — приглашения на вебинары, информация об акциях и скидках, полезная информация по C#.

Ты в любой момент сможешь отписаться от рассылки.


Научился: Научился определять длину расширенной строки, копировать строки, конкатенировать. Набрал пример из урока, сконкатенировал строки "дом" и "2", получилось "дом2" :D. В моем случае нет отдельного типа String, поэтому я его смоделировал вручную, создав схожую immutable-реализацию. Проверил оптимизацию компилятора на хранение по одному адресу одинаковых строковых констант. Радует то, что оптимизация работает даже без дополнительных ключей компилятора :)



Научился: теперь понял почему цикл со стрингом заставляет программу подглючивать. Оказывается создается много ссылок и тратиться память.