Академия Кода
2K subscribers
673 photos
2 videos
2 files
50 links
Академия кода. Полезный контент по программированию. По всем вопросам @evgenycarter
Download Telegram
Какая основная разница между String, StringBuffer, StringBuilder?

Класс String является неизменяемым (immutable) - модифицировать объект такого класса нельзя, можно лишь заменить его созданием нового экземпляра.

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

Класс StringBuilder был добавлен в Java 5 и он во всем идентичен классу StringBuffer за исключением того, что он не синхронизирован и поэтому его методы выполняются значительно быстрей.

#java

Подписывайтесь на канал 👉@cod_academy
👍1
Вложенные классы

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

На картинке приведен синтаксис для записи вложенного класса. Здесь класс Outer_Demo – это внешний класс, а класс Nested_Demo – вложенный класс.

Вложенные классы в Java делятся на два типа:

☕️ Нестатические вложенные классы – нестатические члены класса.
☕️ Статические вложенные классы – статические члены класса.


#java

Подписывайтесь на канал 👉@cod_academy
👍3
Внутренние классы (нестатические вложенные классы)

Внутренние классы — это механизм безопасности в Java. Создать такой класс довольно просто — нужно написать класс внутри класса. Внутренний класс может быть закрытым (private), и после того, как Вы объявляете внутренний класс закрытым, он не может быть доступен из объекта вне класса.

На картинке Outer_Demo – внешний класс, Inner_Demo – внутренний класс, display_Inner() – метод, внутри которого мы создаем внутренний класс, и этот метод вызывается из основного метода.

#java

Подписывайтесь на канал 👉@cod_academy
👍3
Опишите иерархию исключений.

Исключения делятся на несколько классов, но все они имеют общего предка — класс Throwable, потомками которого являются классы Exception и Error.

Ошибки (Errors) представляют собой более серьёзные проблемы, которые, согласно спецификации Java, не следует обрабатывать в собственной программе, поскольку они связаны с проблемами уровня JVM. Например, исключения такого рода возникают, если закончилась память доступная виртуальной машине.

Исключения (Exceptions) являются результатом проблем в программе, которые в принципе решаемы, предсказуемы и последствия которых возможно устранить внутри программы. Например, произошло деление целого числа на ноль.

#java

Подписывайтесь на канал 👉@cod_academy
👍4
JSON, сериализация

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

В данном примере кода рассмотрим пример сериализации данных.

#java

Подписывайтесь на канал 👉@cod_academy
👍3
Классы StringBuilder и StringBuffer

Классы StringBuffer и StringBuilder в Java используются, когда возникает необходимость сделать много изменений в строке символов.

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

В Java StringBuilder был введен начиная с Java 5. Основное различие между StringBuffer и StringBuilder такое, что методы StringBuilder не являются безопасными для потоков (несинхронизированные).

Рекомендуется использовать StringBuilder всякий раз, когда это возможно, потому что он быстрее, чем StringBuffer в Java. Однако, если необходима безопасность потоков, наилучшим вариантом являются объекты StringBuffer.

#java

Подписывайтесь на канал 👉@cod_academy
👍4
substring

Метод substring() в Java имеет два варианта и возвращает новую строку, которая является подстрокой данной строки. Подстрока начинается с символа, заданного индексом, и продолжается до конца данной строки или до endIndex-1, если введен второй аргумент.

#java

Подписывайтесь на канал 👉@cod_academy
👍3
Список исключений

Выше приведён список контролируемых исключений (Checked Exceptions) в Java, определенных в java.lang.

#java

Подписывайтесь на канал 👉@cod_academy
👍3
Как разделить строку на слова?

Легко с помощью метода split. Он возвращает массив строк, вычисленных путем разделения переданной строки вокруг переданного регулярного выражения.

#java

Подписывайтесь на канал 👉@cod_academy
👍2
Метод Math.pow()

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

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

Заметьте, для вывода на экран целого значения используется "%.0f", так как метод возвращает double значение.

#java

Подписывайтесь на канал 👉@cod_academy
👍1