Java Developer – Telegram
Java Developer
15.7K subscribers
1.86K photos
140 videos
2 files
2.09K links
Авторский канал действующего разработчика — интересные заметки, новые технологии, библиотеки и фреймворки

Сотрудничество: @bape_ads
Прайс: @bape_media

РКН: https://clck.ru/3GHfTK

Реклама на бирже: https://telega.in/c/java_tg
Download Telegram
👩‍💻 Цикл foreach

JDK 1.5 представила новый цикл for, известный как цикл foreach или расширенный цикл for, который позволяет последовательно пройти весь массив без использования индекса переменной.

Код на картинке выводит в консоль все элементы массива array.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
22%
true
9%
false
58%
Compile error
11%
Runtime error
👩‍💻 Из каких частей состоит JDBC?

JDBC состоит из двух частей:

JDBC API — содержит набор классов и интерфейсов, определяющих доступ к базам данных. Эти классы и методы объявлены в двух пакетах — java.sql и javax.sql;

JDBC-драйвер — компонент, специфичный для каждой базы данных. JDBC превращает вызовы уровня API в «родные» команды того или иного сервера баз данных.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код сверху?
Anonymous Quiz
35%
15
42%
123
22%
Ошибка компиляции
👩‍💻 Конструкторы

Конструкторы — это методы класса в Java, которые вызываются при создании нового объекта этого класса. Их основная задача — инициализировать поля нового объекта.

Существует два типа конструкторов в Java:

Конструктор по умолчанию — конструктор без параметров, который создается компилятором, если в классе не определен ни один конструктор.

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

Конструктор на картинке принимает один параметр x и инициализирует поле класса значением этого параметра. Ключевое слово this используется для ссылки на текущий объект класса.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Как между собой связаны Iterable и Iterator?

Ответ: Интерфейс Iterable имеет только один метод - iterator(), который возвращает Iterator.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Побитовые операции

Побитовые операции в Java позволяют работать с двоичным представлением чисел на уровне отдельных битов. В Java доступны следующие побитовые операции:

& (побитовое AND) — возвращает 1 в каждом разряде двоичного представления, если оба операнда содержат 1, в противном случае — 0.

| (побитовое OR) — возвращает 1 в каждом разряде двоичного представления, если хотя бы один операнд содержит 1, в противном случае — 0.

^ (побитовое исключающее OR) — возвращает 1 в каждом разряде двоичного представления, если только один из операндов содержит 1, в противном случае — 0.

~ (побитовое NOT) — инвертирует каждый бит операнда. 1 становится 0 и наоборот.

<< (сдвиг влево) — сдвигает биты левого операнда на указанное количество разрядов влево. Недостающие биты заполняются нулями.

>> (сдвиг вправо) — сдвигает биты левого операнда на указанное количество разрядов вправо. Недостающие биты заполняются нулями. Оставшиеся биты соответствуют знаку операнда.

>>> (беззнаковый сдвиг вправо) — сдвигает биты левого операнда на указанное количество разрядов вправо. Недостающие биты заполняются.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Какое ключевое слово используется в Java для создания нового объекта?
Anonymous Quiz
3%
create
89%
new
1%
instance
7%
object
👩‍💻 Класс POJO

Класс POJO — это простой Java-класс, который не зависит от каких-либо фреймворков или библиотек и следует определенным правилам. POJO означает "Plain Old Java Object" (Простой старый Java-объект) и используется для передачи данных между различными слоями приложения.

Правила для POJO класса включают в себя:

Класс должен быть public и иметь пустой конструктор;

Переменные экземпляра класса должны быть private и иметь геттеры и сеттеры для доступа к ним;

Должны быть реализованы методы toString(), equals() и hashCode();

Класс не должен реализовывать никаких интерфейсов или наследоваться от других классов, которые не являются также POJO.

На картинке пример POJO класса в Java для представления пользователя.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Какие интерфейсы представляют возможность хранить объекты в виде пары «ключ-значение»?
Anonymous Quiz
8%
java.util.SortedSet и java.util.Collection
5%
java.util.Collection и java.util.Set
11%
java.util.Set и java.util.SortedMap
56%
java.util.SortedMap и java.util.Map
16%
java.util.Map и java.util.List
4%
java.util.List и java.util.SortedSet
👩‍💻 Enum в Java

Enum в Java — это перечислимый тип данных, который представляет собой набор именованных констант. Каждая константа представляет определенное значение из заданного списка значений.

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

В примере на картинке мы создаем Enum с именем "DayOfWeek", который содержит 7 констант: "MONDAY", "TUESDAY", "WEDNESDAY", "THURSDAY", "FRIDAY", "SATURDAY" и "SUNDAY". Константы перечислены через запятую, заключенные в скобки {}.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
Вопрос с собеседования

Почему строка является популярным ключом в HashMap в Java?

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

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Иерархия коллекций Java Collection Framework

Collection — базовый интерфейс, предоставляющий методы для работы с группами объектов;

List — интерфейс, представляющий упорядоченную коллекцию элементов, которые могут дублироваться;

Set — интерфейс, представляющий неупорядоченную коллекцию уникальных элементов;

Queue — интерфейс, представляющий коллекцию элементов, расположенных по порядку;

Deque — интерфейс, представляющий двустороннюю очередь, в которой элементы могут добавляться и удаляться как с конца, так и с начала;

Map — интерфейс, представляющий ассоциативную коллекцию пар "ключ-значение";

SortedSet — интерфейс, представляющий отсортированное множество уникальных элементов.

SortedMap — интерфейс, представляющий отсортированную ассоциативную коллекцию пар "ключ-значение".

Реализации этих интерфейсов можно найти в стандартной библиотеке Java. Например, ArrayList и LinkedList реализуют интерфейс List. HashSet и TreeSetинтерфейс Set. HashMap и TreeMapинтерфейс Map и т.д.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
1
Что выведет код сверху?
Anonymous Quiz
7%
3
8%
2
11%
2.8
53%
2.857142857142857
21%
Ошибка компиляции
📌 Крестики-Нолики на Java — разбор

Создание и описание показано здесьКЛИК
Ссылка на полный, закомментированный проект — КЛИК

Метод printBoard() отвечает за отрисовку игрового поля 3x3;

Метод checkWinner() проверяет текущее состояние игровой доски на наличие победителя. Если такой имеется, метод возвращает символ победителя (X или 0). В противном случае, если все клетки заполнены и нет победителя, функция возвращает «ничью»;

Главный метод main() является точкой входа. В нём происходит инициализация переменных, создание игровой доски, вывод приветствия и текущего состояния доски. Затем игрокам предлагается вводить свои ходы до тех пор, пока не будет победителя или ничьи. После окончания игры выводится результат (победитель или ничья) и программа завершается.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Объединение двух массивов

Наиболее лаконичный способ объединить элементы двух массивов — это воспользоваться классом ArrayUtils из Commons Lang.

Подробнее можно ознакомиться здесь.

Зависимость Maven:

<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.13.0</version>
</dependency>

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 FileOutputStream или FileWriter?

Запись файлов в Java осуществляется двумя способами — FileOutputStream и FileWriter. Какой именно метод выбрать, зависит от конкретной задачи.

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

У FileWriter другое призвание — работа с потоками символов. Так что если вы пишете текстовые файлы, выбирайте этот метод.

➡️ Java Developer
Please open Telegram to view this post
VIEW IN TELEGRAM