Java for Beginner
719 subscribers
662 photos
174 videos
12 files
1.03K links
Канал от новичков для новичков!
Изучайте Java вместе с нами!
Здесь мы обмениваемся опытом и постоянно изучаем что-то новое!

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

Наш канал на RUTube - https://rutube.ru/channel/37896292/
Download Telegram
Для Linux (на примере Ubuntu)

Установите JDK:
Через пакетный менеджер (рекомендуется для простоты):
sudo apt update
sudo apt install openjdk-17-jdk


Для Java 21 или 24 замените openjdk-17-jdk на openjdk-21-jdk или openjdk-24-jdk, если они доступны в репозитории.

Через архив:
Скачайте .tar.gz с сайта OpenJDK.
Распакуйте в /usr/lib/jvm/:
sudo tar -xzf jdk-17.tar.gz -C /usr/lib/jvm/


Настройте переменную JAVA_HOME:
sudo nano /etc/environment


Добавьте:

JAVA_HOME="/usr/lib/jvm/jdk-17"


Обновите PATH:
nano ~/.bashrc


Добавьте:
export PATH=$JAVA_HOME/bin:$PATH


Примените изменения:
source ~/.bashrc


Проверьте установку:
В терминале выполните:
java -version
javac -version


Ожидаемый вывод:
openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment (build 17.0.8+7)
javac 17.0.8



Шаг 3: Проверка и первые шаги

Напишите простую программу:
Создайте файл HelloWorld.java:
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}


Скомпилируйте и запустите:
В терминале или командной строке перейдите в папку с файлом:
cd путь/к/папке


Скомпилируйте:
javac HelloWorld.java


Запустите:
java HelloWorld


Ожидаемый вывод:
Hello, World!


Если возникли ошибки:
Убедитесь, что JAVA_HOME и PATH настроены правильно.
Проверьте, что вы используете правильную версию JDK (java -version и javac -version).
Убедитесь, что файл называется точно
HelloWorld.java (с учётом регистра).

#Java #для_новичков #beginner #JDK_install
🔥4
Обзор платформ для разработки на Java

Для написания и запуска Java-программ вам нужна платформа, где вы будете писать код, компилировать его и запускать. Выбор инструмента зависит от вашего уровня подготовки, целей и предпочтений. Ниже представлен обзор доступных вариантов — от простых текстовых редакторов до профессиональных IDE, включая новые российские разработки OpenIDE и GigaIDE, а также Cursor с поддержкой ИИ.


1. Текстовые редакторы (Блокнот, Notepad++, VS Code)

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

Блокнот (Notepad):
Плюсы: Бесплатный, предустановлен на Windows, минималистичный.
Минусы: Нет подсветки синтаксиса, автодополнения, отладки. Подходит только для простейших программ.
Когда использовать: Для первых шагов, чтобы понять, как работает компиляция (javac) и запуск (java) вручную.


Пример:
Напишите код в HelloWorld.java в Блокноте, сохраните, затем скомпилируйте и запустите через командную строку:
javac HelloWorld.java
java HelloWorld


Notepad++:
Плюсы: Бесплатный, легкий, поддерживает подсветку синтаксиса для Java, плагины для автодополнения.
Минусы: Нет встроенной отладки или интеграции с JDK. Требуется ручная компиляция.
Когда использовать: Для небольших программ или если вы хотите минималистичную среду.



Visual Studio Code (VS Code):

Плюсы: Бесплатный, легкий, поддерживает плагины (например, «Java Extension Pack»), автодополнение, отладку и интеграцию с JDK. Популярен среди Java-разработчиков как легкая альтернатива IDE.
Минусы: Требует настройки плагинов для полноценной работы с Java.
Когда использовать: Если вы хотите современный редактор с поддержкой Java, но без громоздкости полноценной IDE.

Настройка:
Установите VS Code с code.visualstudio.com.
Установите расширение «Java Extension Pack» через Marketplace.
Укажите путь к JDK (установленному ранее, например, Java 17).


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


2. Интегрированные среды разработки (IDE)

IDE — это мощные инструменты, которые объединяют редактор кода, компилятор, отладчик и другие функции. Они идеальны для разработки сложных проектов и обучения, так как автоматизируют многие процессы. Рассмотрим популярные IDE, включая IntelliJ IDEA, OpenIDE, GigaIDE и Cursor.


IntelliJ IDEA:
Плюсы: Лидер среди IDE для Java. Умное автодополнение, мощная отладка, интеграция с фреймворками (Spring, Maven, Gradle), поддержка версий Java (включая 17, 21, 24 LTS). Community Edition бесплатна и подходит для большинства задач.
Минусы: Community Edition ограничена по сравнению с Ultimate (платной). Может быть тяжеловесной для слабых ПК. Не смотря на то, что корни проекта идут из России, доступ ограничен из-за санкций 😡.
Когда использовать: Для любых Java-проектов, от учебных до профессиональных.


Eclipse:
Плюсы: Бесплатный, open-source, поддерживает Java и множество плагинов, подходит для больших проектов.
Минусы: Менее интуитивный интерфейс, чем у IntelliJ IDEA. Требует больше ручной настройки.
Когда использовать: Если вы хотите бесплатную IDE с долгой историей и широкой поддержкой.


NetBeans:
Плюсы: Бесплатный, простой в использовании, хорошая поддержка Java EE и Maven.
Минусы: Менее популярен, чем IntelliJ IDEA или Eclipse, медленнее обновляется.
Когда использовать: Для учебных проектов или если вам нужна простая IDE.


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


#Java #для_новичков #beginner #IDEA's
👍3
OpenIDE:
Плюсы: Российская IDE с открытым исходным кодом, основана на IntelliJ IDEA Community Edition. Поддерживает Java 24, Spring, Docker, Maven, Gradle и интеграцию с российским GitFlic. Не зависит от зарубежных серверов, что исключает риски блокировки. Имеет собственный маркетплейс с более чем 300 плагинами. Работает быстрее оригинальной IntelliJ IDEA за счет удаления телеметрии и проприетарных компонентов. Встроенная поддержка Spring и Docker. Удалена вся телеметрия IntelliJ IDEA.
Минусы: Находится на стадии бета-тестирования. Поддерживает только Java и Kotlin, хотя в планах добавление Go, TypeScript, Rust. Некоторые функции, например работа с базами данных, пока ограничены.
Когда использовать: Для российских разработчиков, которым важна независимость от зарубежных сервисов и открытый код. Подходит для проектов, требующих поддержки Java 24 и Spring.


GigaIDE:
Плюсы: Российская IDE от Сбера, также основана на IntelliJ IDEA Community Edition. Поддерживает Java, Kotlin, Groovy, Scala, Python, JavaScript, TypeScript, SQL. Включает AI-ассистент GigaCode для автодополнения и генерации кода. Интеграция с GitVerse, GitHub, Bitbucket. Доступна в версиях Desktop и Cloud. Поддержка Spring Framework ожидается в профессиональной версии.
Минусы: Код закрыт, процесс разработки менее прозрачен, чем у OpenIDE. Зависимость от одной компании (Сбер) может быть риском. Работа с базами данных ограничена, требуется плагин Database Navigator.
Когда использовать: Для разработчиков, которым нужен привычный интерфейс IntelliJ IDEA с AI-ассистентом и поддержкой множества языков. Подходит для корпоративных проектов в России.


Cursor:
Плюсы: Современная IDE на базе VS Code с мощным AI-ассистентом, который понимает контекст проекта, предлагает сложные конструкции кода и помогает с рефакторингом. Поддерживает более 30 языков, включая Java. Упрощает написание кода для новичков благодаря ИИ.
Минусы: Платная подписка (от $20/месяц с квотами на AI-запросы). Требует настройки для полноценной работы с Java (установка Java Extension Pack). UI может быть менее удобным для профессиональных разработчиков по сравнению с IntelliJ IDEA.
Когда использовать: Для новичков или разработчиков, которые хотят использовать ИИ для ускорения кодирования. Подходит для небольших проектов или экспериментов.


Рекомендация: Для новичков я советую IntelliJ IDEA Community Edition как основной выбор благодаря интуитивному интерфейсу и мощным функциям. OpenIDE и GigaIDE — отличные альтернативы для российских разработчиков, особенно если важна независимость от зарубежных сервисов. Cursor подойдет, если вы хотите попробовать ИИ-поддержку, но требует дополнительных затрат и настройки для Java.



Установка и настройка IntelliJ IDEA

Теперь давайте разберем, как установить и настроить IntelliJ IDEA Community Edition для разработки на Java. Мы будем использовать Java 17 (LTS), но шаги подойдут и для Java 21 или 24.

Шаг 1: Скачивание IntelliJ IDEA
Перейдите на официальный сайт: www.jetbrains.com/idea/download.
Выберите Community Edition (бесплатная версия) для вашей операционной системы:
Windows: .exe.
macOS: .dmg.
Linux: .tar.gz или пакет для дистрибутива.
Нажмите «Download» и сохраните установочный файл.


Шаг 2: Установка IntelliJ IDEA
Для Windows
Запустите скачанный .exe файл.
Следуйте инструкциям мастера установки:
Выберите папку установки (например, C:\Program Files\JetBrains\IntelliJ IDEA Community Edition).
Установите флажки для создания ярлыка на рабочем столе и добавления в PATH (опционально).
Выберите ассоциацию файлов .java с IntelliJ IDEA.
Нажмите «Install» и дождитесь завершения установки.
Запустите IntelliJ IDEA, выбрав «Run IntelliJ IDEA» в конце установки.


Для macOS
Откройте .dmg файл и перетащите IntelliJ IDEA в папку «Программы» (Applications).
Запустите IntelliJ IDEA из папки «Программы» или через Spotlight.


Для Linux (на примере Ubuntu)
Распакуйте .tar.gz:tar -xzf ideaIC-*.tar.gz -C ~/idea
Перейдите в папку bin и запустите IDE:cd ~/idea/idea-IC-*/bin
./
idea.sh
Следуйте инструкциям установщика (обычно это GUI-мастер).


#Java #для_новичков #beginner #IDEA's
👍4🔥1
Краткая установка и настройка OpenIDE, GigaIDE и Cursor

OpenIDE
Скачивание:
Перейдите на openide.ru или GitFlic для загрузки.
Выберите версию для Windows, macOS или Linux.


Установка:
Windows: Запустите .exe и следуйте мастеру установки.
macOS: Откройте .dmg и перетащите OpenIDE в «Программы». После установки выполните в терминале:xattr -c /Applications/
OpenIDE.app
Linux: Распакуйте .tar.gz и запустите скрипт openide.sh из папки bin.

GigaIDE
Скачивание:
Перейдите на
gitverse.ru/features/gigaide. Требуется авторизация через Сбер ID или cloud.ru.
Выберите GigaIDE Desktop для Windows, macOS или Linux.


Установка:
Windows: Запустите .exe и следуйте инструкциям.
macOS: Откройте .dmg и перетащите GigaIDE в «Программы». Выполните:xattr -c /Applications/GIGA\ IDE\ CE\
2024.1.1.app
Linux: Распакуйте .tar.gz и запустите gigaide.sh из папки bin.

Cursor
Скачивание:
Перейдите на
cursor.com и скачайте версию для Windows, macOS или Linux. Требуется регистрация для доступа к AI-функциям.

Установка:
Windows: Запустите .exe и следуйте инструкциям.
macOS: Перетащите .dmg в «Программы».
Linux: Распакуйте .tar.gz и запустите
cursor.sh.


Полезные советы для новичков


Выбор IDE: Начните с IntelliJ IDEA Community для универсальности. Используйте OpenIDE или GigaIDE для работы в российской инфраструктуре. Cursor подойдет для экспериментов с ИИ, но требует затрат.
Изучите горячие клавиши: Например, в IntelliJ IDEA и OpenIDE/GigaIDE: Ctrl+Alt+L (форматирование кода), Alt+Enter (исправление ошибок).
Практикуйтесь: Создайте простые программы, такие как калькулятор, в каждой IDE, чтобы сравнить их.
Ресурсы:
IntelliJ IDEA:
www.jetbrains.com/idea/documentation.
OpenIDE:
openide.ru.
GigaIDE:
gitverse.ru/features/gigaide.
Cursor:
cursor.com/docs.
Stack Overflow для решения проблем.


#Java #для_новичков #beginner #IDEA's
👍5
Основы работы с терминалом в Java


Зачем работать с терминалом?

Терминал (или командная строка в Windows) — это фундаментальный инструмент для разработчиков Java.

Хотя IDE, такие как IntelliJ IDEA, автоматизируют многие процессы, знание терминала важно по следующим причинам:
Полный контроль: Вы понимаете каждый шаг компиляции и запуска.
Обучение: Работа в терминале помогает разобраться, как Java преобразует код в исполняемые программы.
Реальные проекты: На серверах, в CI/CD-системах (например, Jenkins) и скриптах терминал используется для автоматизации.
Отладка: Знание терминала помогает решать проблемы, когда IDE недоступна или возникают ошибки.

Для работы вам нужен установленный JDK (Java Development Kit). Если JDK ещё не установлен, обратитесь к моей предыдущей инструкции по установке Java 17, 21 или 24 LTS.


Основные команды: javac и java

Java-программы проходят два основных этапа:
Компиляция: Команда javac (Java Compiler) преобразует исходный код (файлы .java) в байт-код (файлы .class), который является платформонезависимым.
Запуск: Команда java исполняет байт-код на виртуальной машине Java (JVM).



Предварительные проверки

Перед началом убедитесь, что JDK настроен:

Откройте терминал:
Windows: Win + Rcmd или PowerShell.
macOS/Linux: Откройте приложение «Терминал».


Проверьте версии:
java -version
javac -version


Ожидаемый вывод (для Java 17, например):
openjdk version "17.0.8" 2023-07-18
OpenJDK Runtime Environment (build 17.0.8+7)
javac 17.0.8


Если команды не работают, проверьте переменные JAVA_HOME и PATH:
Windows: Убедитесь, что JAVA_HOME указывает на папку JDK (например, C:\Program Files\Java\jdk-17), а %JAVA_HOME%\bin добавлен в PATH.
macOS/Linux: Проверьте, что JAVA_HOME установлена (например, export JAVA_HOME=/usr/lib/jvm/jdk-17) и добавлена в PATH в ~/.zshrc или ~/.bashrc.


Шаг 1: Подготовка рабочего пространства

Создайте папку для проекта:
mkdir java-projects
cd java-projects


Напишите простую программу:Создайте файл
HelloWorld.java в текстовом редакторе (например, Notepad++, VS Code или Блокнот):
public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}


Убедитесь, что имя файла точно совпадает с именем класса (HelloWorld.java), включая регистр.
Сохраните файл в папке java-projects.



Шаг 2: Компиляция с помощью javac

Команда javac компилирует исходный код в байт-код.

Перейдите в папку с файлом:
cd java-projects


Скомпилируйте программу:
javac HelloWorld.java


Если всё успешно, в папке появится файл HelloWorld.class — это байт-код.

Если возникла ошибка, проверьте:
Имя файла совпадает с именем класса.
Код не содержит синтаксических ошибок (например, пропущена ; или скобка).
JDK установлен (javac -version работает).



Полезные опции javac

-d <папка>: Указывает, куда сохранить .class файлы.

Например:
javac -d bin HelloWorld.java


Создает папку bin и помещает туда HelloWorld.class.

-cp <путь> или -classpath <путь>: Указывает путь к библиотекам или другим .class файлам, если программа использует зависимости.

Например:
javac -cp lib/my-lib.jar HelloWorld.java


-source <версия>: Указывает версию Java для компиляции (например, -source 17).
-target <версия>: Указывает версию байт-кода (обычно совпадает с -source).
-encoding <кодировка>: Указывает кодировку исходного файла (полезно для русских символов на Windows):


javac -encoding UTF-8 HelloWorld.java


-g: Добавляет отладочную информацию в .class файлы для упрощения отладки.
--release <версия>: Компилирует для конкретной версии Java, автоматически настраивая совместимость (например, --release 17).


Компиляция нескольких файлов

Если у вас несколько .java файлов, скомпилируйте их все:
javac *.java


Или укажите конкретные файлы:

javac Main.java Helper.java


#Java #для_новичков #beginner #Java_terminal
🔥1
Шаг 3: Запуск с помощью java

Команда java запускает скомпилированный байт-код на JVM.

Запустите программу:
java HelloWorld


Ожидаемый вывод:
Hello, World!


Указывайте имя класса (HelloWorld), а не файла (HelloWorld.class

Если использовали -d


Если .class файлы находятся в другой папке (например, bin), укажите путь через -cp:
java -cp bin HelloWorld



Полезные опции java

-cp <путь> или -classpath <путь>: Указывает путь к .class файлам или библиотекам.

Например:
java -cp .:lib/my-lib.jar HelloWorld
(На Windows используйте ; вместо : для разделения путей.)


-Xmx<размер>: Устанавливает максимальный объем памяти для JVM (например, -Xmx512m для 512 МБ).
-Xms<размер>: Устанавливает начальный объем памяти (например, -Xms256m).
-D<свойство>=<значение>: Устанавливает системные свойства. Например:java -Dfile.encoding=UTF-8 HelloWorld

--enable-preview: Включает экспериментальные возможности Java (например, для новых фич в Java 17+).
-jar <файл.jar>: Запускает приложение из JAR-файла (см. ниже).




Шаг 4: Дополнительные команды и процедуры

1. Создание и запуск JAR-файлов
JAR (Java Archive) — это архив, содержащий .class файлы и ресурсы. Он удобен для распространения программ.


Создание JAR:

Скомпилируйте программу:
javac -d bin HelloWorld.java


Создайте JAR:
jar cf myapp.jar -C bin .


Это создаст myapp.jar, содержащий все файлы из папки bin.
Для запуска через main добавьте манифест:
jar cfm myapp.jar Manifest.txt -C bin .


Где Manifest.txt содержит:
Main-Class: HelloWorld

(Добавьте пустую строку в конце файла.)


Запуск JAR:
java -jar myapp.jar



2. Работа с пакетами
Если ваш код использует пакеты (например, package com.example;), структура папок должна соответствовать имени пакета.

Пример:
package com.example;

public class HelloWorld {
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}


Сохраните файл в com/example/HelloWorld.java.

Компиляция:
javac com/example/HelloWorld.java


Запуск:
java -cp . com.example.HelloWorld

(Обратите внимание: используйте полное имя класса с точками, а не слэшами.)


3. Отладка с помощью jdb
JDK включает отладчик jdb для анализа программ.

Скомпилируйте с отладочной информацией:
javac -g HelloWorld.java


Запустите отладчик:
jdb HelloWorld


Основные команды jdb:
stop at HelloWorld:3 — установить точку останова на строке 3.
run — запустить программу.
next — выполнить следующую строку.
print variable — вывести значение переменной.



4. Генерация документации с javadoc

Команда javadoc создает HTML-документацию из комментариев в коде.

Пример кода с Javadoc-комментариями:
/
* Простая программа для вывода приветствия.
* @author Алексей
*/
public class HelloWorld {
/
* Главный метод программы.
* @param args аргументы командной строки
*/
public static void main(String[] args) {
System.out.println("Hello, World!");
}
}


Создание документации:

javadoc -d docs HelloWorld.java

Это создаст папку docs с HTML-файлами документации.


5. Управление зависимостями
Для проектов с внешними библиотеками (например, JAR-файлами):
Укажите библиотеки при компиляции:
javac -cp lib/my-lib.jar MyProgram.java


Укажите их при запуске:
java -cp .:lib/my-lib.jar MyProgram

Для больших проектов используйте системы сборки, такие как Maven или Gradle, которые автоматизируют работу с зависимостями.


6. Работа с модулями (Java 9+)
С Java 9 введена модульная система (JPMS).

Если ваш проект использует модули, создайте файл module-info.java:
module my.module {
requires java.base;
}


Компилируйте с учетом модулей:
javac --module-path lib -d bin com/example/HelloWorld.java module-info.java


Запускайте:
java --module-path bin -m my.module/com.example.HelloWorld


#Java #для_новичков #beginner #Java_terminal
👍2
Шаг 5: Частые ошибки и их решения

Ошибка: javac: command not found:
JDK не установлен или PATH не настроен. Проверьте java -version и javac -version. Настройте JAVA_HOME и добавьте %JAVA_HOME%\bin (Windows) или $JAVA_HOME/bin (macOS/Linux) в PATH.

Ошибка: Error: Could not find or load main class:
Проверьте, что файл .class существует.
Убедитесь, что вы используете имя класса (java HelloWorld), а не файла (java HelloWorld.class).
Если класс в пакете, укажите полное имя: java com.example.HelloWorld.
Проверьте -cp: java -cp bin HelloWorld.



Ошибка: Main method not found:

Убедитесь, что метод main имеет сигнатуру: public static void main(String[] args).

Кодировка (Windows):
Если русские символы отображаются некорректно, используйте:
javac -encoding UTF-8 MyProgram.java
java -Dfile.encoding=UTF-8 MyProgram


Ошибка: incompatible types или синтаксические ошибки:
Проверьте код на опечатки (например, пропущенные ; или неправильные типы).
Убедитесь, что версия Java соответствует (например, используйте --release 17).



Полезные советы для новичков

Практикуйтесь: Напишите программы, такие как калькулятор или обработчик текстовых файлов, чтобы освоить javac и java.
Организуйте проект:
Храните исходники в src (например, src/com/example/).
Компилируйте в bin: javac -d bin src/com/example/*.java.
Создавайте JAR для распространения.


Изучите документацию:
javac --help и java --help для списка опций.
Oracle Java Docs:
docs.oracle.com/en/java.

Переходите к IDE: После освоения терминала попробуйте IntelliJ IDEA, OpenIDE или GigaIDE для автоматизации.
Автоматизация: Для больших проектов изучите Maven или Gradle, чтобы упростить компиляцию и управление зависимостями.
Ресурсы: Stack Overflow, Oracle Tutorials, документация OpenJDK.


#Java #для_новичков #beginner #Java_terminal
👍2