Java for Beginner
690 subscribers
591 photos
161 videos
12 files
916 links
Канал от новичков для новичков!
Изучайте Java вместе с нами!
Здесь мы обмениваемся опытом и постоянно изучаем что-то новое!

Наш YouTube канал - https://www.youtube.com/@Java_Beginner-Dev

Наш канал на RUTube - https://rutube.ru/channel/37896292/
Download Telegram
Всем привет! ✌️

Сегодня вместо еженедельного мотивационного поста хочу поделиться мыслями о канале.

Для многих из Вас, не важно подписчик или гость - этот канал один из тысячи пытающихся развиться на хайпе программирования.

И я Вас понимаю.

Сам периодически просматриваю подборки, где 90% это созданные для спама рекламы, псевдопрограммерские Java - каналы с парой постов в неделю.
Конечно же есть и интересные. Не спорю. Но их меньшинство.
Многие просто паразитируют на чужом контенте выкладывая ссылки на интересные видео и статьи.


Чем же отличается этот канал? 🤨

Тем, что это канал - библиотека. Канал, где Вы реально можете изучить java с нуля.
Тут уже есть для этого весь материал.
Есть задачи, есть голосования по тем темам которые Вам интересны, есть встречи где это можно все обсудить. Есть даже проекты в которых мы обучаемся командному взаимодействию и web-разработке.


Зачем мне все это? 🧐

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

Моя цель - объединить в канале тех, кто действительно хочет постоянно обучаться java, тех, кто болеет этим как и я ☺️
Кто хочет наладить постоянный обмен мнениями, взаимодействие, обсуждение.
Найти тех, кто не побоится задавать и отвечать на вопросы других людей.

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

И я откровенно этого не понимаю.
То ли это какой-то страх публичности. То ли ЧСВ.

Порой хочется переделать канал в закрытое сообщество с реально активными участниками))))


Поэтому обращусь к тем, кто читает сейчас этот пост 🫵

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

Не стесняйтесь, просить те темы, которые интересны лично Вам, возможно они еще кому-то понравятся!

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

Ведь это бесплатно🤣



И кстати, возможно среди Вас есть и те, кто хочет попробовать быть редактором канала. Пишите - я с радостью приму помощь 🙂

@Oleborn 😎
Please open Telegram to view this post
VIEW IN TELEGRAM
👍141
Давайте проверим активность на канале. Любопытно сколько людей реально постоянно читают 🧐
Anonymous Poll
61%
Я тут! Все ок! 😉
32%
И я тут! С вами! 🏝
6%
А я не тут. Я тама 🗿
5🔥1
Предлагаем темы для разбора и публикации! 📖

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

Голосование будет проводиться всю неделю, а статья или видео - выходить по выходным.

Примерные правила:
🟢 темы, не выше уровня middle, чтоб был интерес общим.
🟢Один человек - одна тема.
🟢Тема должна быть отдельным теоретически-практическим вопросом. Готовый проект - это не тема!

Жду Ваших предложений! 👏
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Выбираем темы для рассмотрения в следующие выходные! 🤨
Anonymous Poll
33%
OkHttp
17%
AOP
8%
HATEOS
42%
Minecraft Forge API
👍2
☄️ Оглавление для обучающих постов.
(периодически обновляемое)

Если хотите найти информацию по Java, ранее опубликованную на канале - для Вас подготовлено оглавление!

✔️ Пользуйтесь на здоровье!

🔜 Часть 1.
🔜 Часть 2.
🔜 Часть 3. SPRING
🔜 Часть 4. SPRING продолжение
🔜 Функциональное программирование
🔜 Reflection API
🔜 Модульность в Java
🔜 Multithreads in Java
🔜 Описание классов в Java
🔜 Comparable и Comparator
🔜 Collectors в Java
🔜 Основы криптографии в Java
🔜 Объектно-реляционное отображение (Аннотации JPA и Hibernate)
🔜 JavaMailSender в Spring Boot
🔜 Jackson
🔜 Gson
🔜 Liquibase
🔜 Flyway
🔜 Apache Maven

🟢Раздел 2: Базовый синтаксис Java
🟢Раздел 3: Типы данных и переменные


🔜 Установка IntelliJ IDEA Ulimate

Обновлено оглавление (12.07.25)

Читайте, используйте, будут вопросы - пишите! 🚀
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Java for Beginner pinned «☄️ Оглавление для обучающих постов. (периодически обновляемое) Если хотите найти информацию по Java, ранее опубликованную на канале - для Вас подготовлено оглавление! ✔️ Пользуйтесь на здоровье! 🔜 Часть 1. 🔜 Часть 2. 🔜 Часть 3. SPRING 🔜 Часть 4. SPRING…»
📌 Факт дня:

А вы знали, что первой социальной платформой, в которой появились виртуальное представление личности пользователя уже в современном понимании и виде, был Snapchat?

В 2016 году компания Snap приобрела Bitmoji и материнскую компанию Bitstrips за 64,2 миллиона долларов и добавила в Snapchat возможность настраивать цифровые аватары.

Proof

#facts
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥1
📌 Цитата дня: Георгий Лопато

"Автоматизация процессов начинается с автоматизации мышления."


Георгий Лопато, разработчик советских ЭВМ, сказал это в 1970 году на конференции в Минске.


Биография

#Citation #Biography
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
Комментарии в Java

1. Что такое комментарии в Java?

Комментарии — это части исходного кода, которые игнорируются компилятором Java и не включаются в скомпилированный байт-код. Они предназначены для добавления пояснений, документации или временного исключения кода из выполнения. В Java существуют три типа комментариев: однострочные, многострочные и Javadoc, каждый из которых имеет свои особенности и области применения.
Зачем нужны комментарии?


Документация: Объясняют назначение кода, классов, методов и сложных алгоритмов.
Читаемость: Упрощают понимание кода другими разработчиками или при возвращении к проекту спустя время.
Поддержка API: Javadoc-комментарии используются для генерации документации API.
Отладка: Позволяют временно исключать фрагменты кода без их удаления.
Командная работа: Унифицируют понимание кода в команде, особенно в больших проектах.



2. Синтаксис комментариев


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

2.1. Однострочные комментарии (//)
Описание: Начинаются с // и продолжаются до конца строки.
Применение: Используются для коротких пояснений или аннотаций к отдельным строкам кода.


Синтаксис:
// Это однострочный комментарий
int x = 10; // Устанавливаем начальное значение x


2.2. Многострочные комментарии (/* */)
Описание: Начинаются с /* и заканчиваются */, охватывая одну или несколько строк.
Применение: Используются для более длинных пояснений или временного исключения блока кода.


Синтаксис:
/* Это многострочный комментарий.
Он может занимать несколько строк.
Используется для описания сложной логики. */
int y = 20;


2.3. Javadoc-комментарии (/** */)
Описание: Начинаются с /** и заканчиваются */, используются для генерации документации API.
Применение: Документируют классы, методы, поля и пакеты, включая теги, такие как
@param, @return и т.д.

Синтаксис:
/**
* Вычисляет сумму двух чисел.
* @param a Первое число
* @param b Второе число
* @return Сумма чисел
*/
public int add(int a, int b) {
return a + b;
}


Примечания к синтаксису:
Комментарии не могут быть вложенными. Например, нельзя поместить /* */ внутрь другого /* */.
Javadoc-комментарии обрабатываются инструментом javadoc для создания HTML-документации.
Однострочные комментарии могут следовать за кодом в той же строке, в то время как многострочные и Javadoc-комментарии обычно размещаются перед кодом.



3. Типы комментариев и их особенности

3.1. Однострочные комментарии (//)
Назначение: Используются для кратких пояснений, аннотаций к переменным или временных заметок.
Особенности:
Игнорируются компилятором.
Подходят для пояснений, которые не требуют много текста.
Часто используются для "инлайн"-комментариев (например, после строки кода).


Пример:
int counter = 0; // Счетчик для отслеживания итераций
counter++; // Увеличиваем счетчик


3.2. Многострочные комментарии (/* */)
Назначение: Используются для описания сложной логики, временного исключения кода или добавления заметок, которые не помещаются в одну строку.
Особенности:
Могут охватывать несколько строк, что делает их удобными для больших пояснений.
Часто используются для комментирования блоков кода при отладке.
Не поддерживают вложенность (например, /* /* */ */ вызовет ошибку).


Пример:
/* Этот метод временно отключен для отладки.
Он будет восстановлен после тестирования.
int computeValue(int input) {
return input * 2;
}
*/


3.3. Javadoc-комментарии (/** */)
Назначение: Используются для документирования кода и генерации профессиональной документации API.
Особенности:
Поддерживают специальные теги (например,
@param, @return, @throws) для описания параметров, возвращаемых значений и исключений.
Используются инструментом javadoc для создания HTML-документации.
Обычно размещаются непосредственно перед классами, методами или полями.


#Java #для_новичков #beginner #java_syntax #commentaries
👍2
Пример:
/**
* Класс для управления данными пользователя.
* @author John Doe
* @version 1.0
*/
public class User {
/**
* Имя пользователя.
*/
private String name;

/**
* Возвращает имя пользователя.
* @return имя пользователя
*/
public String getName() {
return name;
}
}


Основные Javadoc-теги:
@param <имя> <описание>: Описывает параметр метода.
@return <описание>: Описывает возвращаемое значение.
@throws <тип_исключения> <описание>: Указывает исключения, которые может выбросить метод.
@author <имя>: Указывает автора кода.
@version <версия>: Указывает версию класса или метода.
@see <ссылка>: Ссылка на другой класс, метод или ресурс.


4. Правильное применение комментариев

Правильное использование комментариев улучшает читаемость, поддерживаемость и качество кода.

Вот рекомендации по их применению:

4.1. Однострочные комментарии
Когда использовать:
Для кратких пояснений к переменным, строкам кода или логике.
Для временных заметок или TODO-комментариев.


Лучшие практики:
Пишите кратко и по делу (например, // Инициализация счетчика).
Избегайте очевидных комментариев (например, // Увеличиваем x на 1 для x++).
Размещайте комментарий на той же строке или над ней, если он поясняет конкретную строку.


Пример:
int retries = 3; // Максимальное количество попыток подключения


4.2. Многострочные комментарии
Когда использовать:
Для описания сложной логики или алгоритмов.
Для временного исключения кода при отладке.
Для добавления заметок о контексте или ограничениях.


Лучшие практики:
Используйте для пояснений, которые не помещаются в одну строку.
Избегайте чрезмерного комментирования кода, который можно удалить.
Форматируйте комментарии для читаемости (например, выравнивайте строки).


Пример:
/* Алгоритм сортировки пузырьком.
Сравнивает соседние элементы и меняет их местами,
если они находятся в неправильном порядке. */
for (int i = 0; i < array.length - 1; i++) {
for (int j = 0; j < array.length - i - 1; j++) {
// ...
}
}


4.3. Javadoc-комментарии
Когда использовать:
Для документирования публичных и защищенных классов, методов и полей.
Для создания документации API, которая будет использоваться другими разработчиками.


Лучшие практики:
Пишите Javadoc для всех публичных элементов API.
Используйте теги (
@param, @return) для описания параметров и возвращаемых значений.
Пишите краткие, но полные описания, избегая избыточной информации.
Обновляйте Javadoc при изменении кода.


Пример:
/**
* Проверяет, является ли число четным.
* @param number Число для проверки
* @return true, если число четное, иначе false
* @throws IllegalArgumentException если число отрицательное
*/
public boolean isEven(int number) {
if (number < 0) {
throw new IllegalArgumentException("Число не может быть отрицательным");
}
return number % 2 == 0;
}


4.4. Общие рекомендации
Самодокументирующийся код: Пишите код так, чтобы он был понятен без комментариев, используя описательные имена переменных и методов.
Избегайте избыточности: Не комментируйте очевидные вещи (например, // Присваиваем 5 для x = 5).
Обновляйте комментарии: Устаревшие комментарии могут ввести в заблуждение.
Используйте TODO и FIXME: Отмечайте незавершенные задачи или проблемы в коде (например, // TODO: Добавить обработку ошибок).



5. Назначение комментариев

Комментарии выполняют несколько ключевых функций:

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

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

5.3. Поддержка API
Javadoc-комментарии создают профессиональную документацию, которая используется в библиотеках и фреймворках.

5.4. Отладка и сопровождение
Позволяют временно исключать код или оставлять заметки для будущих изменений.

5.5. Командная работа
Унифицируют понимание кода в команде, особенно в больших или распределенных проектах.

#Java #для_новичков #beginner #java_syntax #commentaries
👍1
6. Комментарии и работа под капотом

6.1. Обработка компилятором
Игнорирование комментариев: Компилятор Java полностью игнорирует все комментарии (однострочные, многострочные и Javadoc) при создании байт-кода. Они не включаются в .class-файлы.
Javadoc-обработка: Javadoc-комментарии обрабатываются отдельным инструментом javadoc, который извлекает их из исходного кода и создает HTML-документацию. Эти комментарии также не попадают в байт-код.


Пример:
public class Example {
// Это не попадет в байт-код
/* Это тоже не попадет */
/**
* Это обрабатывается javadoc, но не включается в байт-код
*/
public void method() {}
}


6.2. Память и производительность
Отсутствие влияния на память: Поскольку комментарии не включаются в байт-код, они не занимают память в Metaspace, куче или стеке во время выполнения программы.
Размер исходного кода: Комментарии увеличивают размер исходных .java-файлов, но это не влияет на скомпилированный код или производительность.
Javadoc и сборка: Генерация Javadoc-документации требует дополнительных ресурсов (памяти и процессорного времени) во время сборки проекта, но это происходит на этапе компиляции, а не выполнения.


6.3. Инструменты и Javadoc
Инструменты анализа: IDE (например, IntelliJ IDEA, Eclipse) используют Javadoc-комментарии для автодополнения, подсказок и генерации документации. Это улучшает разработку, но не влияет на выполнение.
Рефлексия: Комментарии не доступны через API рефлексии, так как они не включаются в байт-код. Однако Javadoc-теги могут быть использованы фреймворками (например, Spring) через предварительную обработку исходного кода.


6.4. Оптимизация и комментарии
Отсутствие накладных расходов: Поскольку комментарии не влияют на байт-код, они не создают дополнительных затрат на производительность во время выполнения.
Размер документации: Чрезмерное использование Javadoc-комментариев может увеличить размер сгенерированной документации, но это редко является проблемой.
Обфускация: Инструменты, такие как ProGuard, не затрагивают комментарии, так как они отсутствуют в байт-коде.

6.5. Ошибки, связанные с комментариями
Устаревшие комментарии: Неправильные или устаревшие комментарии могут ввести в заблуждение, особенно если код изменился, а комментарии — нет.
Ошибки в Javadoc: Неправильное использование тегов (например, @param для несуществующего параметра) может вызвать предупреждения при генерации документации.
Комментирование кода: Длительное оставление закомментированного кода может затруднить чтение и сопровождение. Лучше использовать системы контроля версий для хранения старого кода.

Пример устаревшего комментария:
// Умножает число на 2
int multiplyByThree(int x) {
return x * 3; // Комментарий не соответствует коду
}


7. Лучшие практики

Пишите самодокументирующийся код: Используйте описательные имена переменных и методов, чтобы минимизировать необходимость комментариев.
// Хорошо: имя метода понятно без комментария
public double calculateTotalPrice(List<Item> items) {
return items.stream().mapToDouble(Item::getPrice).sum();
}


Избегайте очевидных комментариев: Не пишите комментарии, которые дублируют очевидную логику.
// Плохо: избыточный комментарий
x = x + 1; // Увеличиваем x на 1


Обновляйте комментарии: Убедитесь, что комментарии соответствуют текущему состоянию кода.
Используйте Javadoc для публичного API: Документируйте все публичные классы, методы и поля с помощью Javadoc.
Форматируйте многострочные комментарии: Используйте выравнивание и перенос строк для улучшения читаемости.

/*
* Этот метод выполняет сложный расчет.
* Он учитывает несколько факторов:
* - Входные данные
* - Контекст выполнения
*/


Используйте TODO и FIXME: Отмечайте незавершенные задачи или проблемы.
// TODO: Добавить обработку ошибок
// FIXME: Исправить баг с отрицательными значениями


Ограничьте комментирование кода: Вместо длительного хранения закомментированного кода используйте системы контроля версий (например, Git).


#Java #для_новичков #beginner #java_syntax #commentaries
🔥4
Что выведет код?

public class Task140725 {
public static void main(String[] args) {
int a = 1 << 31;
int b = a >> 31;
int c = a >>> 31;

System.out.println(b + " " + c);
}
}


#Tasks
👍1
Варианты ответа:
Anonymous Quiz
0%
"0 0"
45%
"-1 1"
18%
"1 1"
36%
"-2147483648 1"
👍2