JavaStart
912 subscribers
904 photos
28 videos
614 links
Учи Java вместе с нами!
Наша платформа с курсом - https://javastart.tech
Ютуб с обучающими видео - https://www.youtube.com/@javastart_tech
Download Telegram
Циклы в Java. Часть 2. Цикл while.

Этот цикл в Java структурно выглядит так:

while (expression) {
  statement(s)
}

Здесь:

expression – условие цикла, выражение, которое должно возвращать boolean значение.

statement(s) – тело цикла (одна или более строк кода).

Перед каждой итерацией будет вычисляться значение выражения expression. Если результатом выражения будет true, выполняется тело цикла – statement(s).

Рассмотрим код на Картинке 2.
Мы создали числовую переменную (счетчик), равную 3. И в цикле в каждой итерации уменьшаем ее на 1. Когда переменная становится меньше 0, то цикл завершается и мы выходим из него.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3😁3👍2
Циклы в Java. Часть 4. Цикл for.

Цикл for в Java цикл выглядит так:

for (initialization; termination; increment) {
statement(s)
}

Здесь:

initialization – выражение, которое инициализирует выполнение цикла. Исполняется только раз в начале цикла. Чаще всего в данном выражении инициализируют счетчик цикла.

termination – boolean выражение, которое регулирует окончание выполнения цикла. Если результат выражения будет равен false, цикл for прервется.

increment – выражение, которое исполняется после каждой итерации цикла. Чаще всего в данном выражении происходит инкрементирование или декрементирование переменной счетчика.

statement(s) – тело цикла.

Выражения initialization, termination, increment опциональны. Если опустить каждое из них, мы получим бесконечный цикл:

// бесконечный цикл
for ( ; ; ) {
// код тела цикла
}

На Картинке 2 мы создаем цикл, инициализируя счетчик (i = 1), в каждой итерации цикла счетчик увеличивается на 1. Как только счетчик i становится равен 4, цикл завершается из-за условия i < 4 и мы выходим из цикла.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥2
Какой оператор в Java используется для сравнения примитивных типов данных и для сравнения объектов (ссылок на эти объекты в памяти)?
Anonymous Quiz
2%
<>
93%
==
3%
=
0%
><
2%
Посмотреть ответ
4👍2🔥2🎉1🤓1
Циклы в Java. Часть 5. Цикл for each.

Цикл for each  – разновидность цикла for для итерации коллекций и массивов в Java.

Структура for each выглядит так:

for (String var : listOfStrings) {
statement(s)
}

Здесь:

listOfStrings – переменная, на которую ссылается существующий список или массив.

String var – определение новой переменной того же типа (String), что и коллекция listOfStrings.

statement(s) – тело цикла.

Данную конструкцию можно прочитать так: “Для каждого var из listOfStrings сделать...”.

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

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍62👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
😁63🤓2💯1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁642👍1🔥1
Что такое легаси код?

Часто в вакансиях можно встретить упоминание легаси кода (“...разбираться в легаси коде…”, “...фиксить баги в легаси коде…”, “...рефакторить легаси код…”).

Легаси – термин, который трактуют по-разному.
У данного термина с десяток определений, которые плюс–минус все вертятся вокруг феномена “старого” кода, вот, например, парочка популярных:

Легаси – это устаревший код, который больше не поддерживается, не обновляется, но используется;

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

В целом, на этом остановимся (хотя можно еще найти вариации), главное чтобы общий смысл был ясен: легаси – это наследство в негативном ключе.

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

Общие характеристики легаси:

Не нужно чтобы все пункты совпали, достаточно одного.

– код написан разработчиками, с которыми больше нет возможности связаться. Из-за этого нынешняя команда не может понять как работают некоторые целые модули;

– код модуля написан давно на другом языке программирования или старом фреймворке, его активно используют в актуальной программе, но все новые функции добавляются через более новые технологии;

– код, который оставлен лишь для обратной совместимости: для поддержки старых версий программ или операционных систем.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍54👨‍💻2
О чем говорит ключевое слово final в Java?

Модификатор final может применяться к переменным, параметрам методов, полям и методам класса или самим классам:

– Класс не может иметь наследников;

– Метод не может быть переопределен в классах наследниках;

– Параметры методов не могут изменять своё значение внутри метода;

– Локальные переменные не могут быть изменены после присвоения им значения.

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍632👨‍💻2
Где хранятся примитивные типы данных в Java?
Anonymous Quiz
31%
Heap
12%
Они нигде не хранятся
49%
Stack
8%
Посмотреть ответ
👍43🔥1👨‍💻1
Обязательно ли за каждым блоком try-catch должен следовать блок finally?
Anonymous Quiz
88%
Не обязательно
10%
Обязательно
2%
Посмотреть ответ
👍42🔥1👨‍💻1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11💯32👨‍💻1
Какие типы классов бывают в Java?

Вопрос из собеседования - перечислить типы классов, которые бывают в Java.

1) Top level class (Обычный класс):
     - Abstract class (Абстрактный класс);
     - Final class (Финализированный класс).

2) Interfaces (Интерфейс);

3) Enum (Перечисление);

4) Nested class (Вложенный класс):
    - Static nested class (Статический вложенный класс);
    - Member inner class (Простой внутренний класс);
    - Local inner class (Локальный класс);
    - Anonymous inner class (Анонимный класс).

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍852👨‍💻1
Исключения в Java. Часть 1.

Что такое исключение (Java Exception)?

Исключение (или exception) в Java представляет проблему, которая возникает в ходе выполнения программы.

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

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

– Пользователь ввел недопустимые данные;

– Файл, который необходимо открыть, не найден;

– Соединение с сетью потеряно в процессе передачи данных либо JVM исчерпала имеющийся объем памяти;

– Объект, который мы ищем в базе данных, не существует;

– Деление на ноль;

– И еще очень множество примеров.

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

Можно даже создавать свои исключения (их называют кастомными) на тот или иной случай.

В следующих постах подробно рассмотрим иерархию исключений – очень важный раздел в Java, о котором спрашивают практически на любом собеседовании java–разработчика или стажера!

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍73👨‍💻2
Исключения в Java. Часть 2. Иерархия исключений (exceptions).

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

Все классы исключений в Java представляют подтипы класса java.lang.Exception. Класс исключений является подклассом класса Throwable. Помимо класса исключений существует также подкласс ошибок, образовавшихся из класса Throwable.

Контролируемые исключения (checked) – представляют собой вид исключений, которые происходят на стадии компиляции, их также именуют исключениями периода компиляции. Обозначенные исключения не следует игнорировать в ходе компиляции, они требуют должного обращения (разрешения) со стороны программиста.

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

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

👩‍💻 Наш практический курс Java–разработчика

JavaStart. Подписаться
Please open Telegram to view this post
VIEW IN TELEGRAM
👍52👨‍💻2
Please open Telegram to view this post
VIEW IN TELEGRAM
💯14👍4😁2