Это краткое руководство по языку программирования Java для начинающих. Это руководство отвечает на множество вопросов, которые возникают у начинающих программистов Java: например, какую среду разработки выбрать, как написать первую программу или как запускать программы Java.
Руководство будет полезно тем, кто выбрал язык программирования Java в качестве первого языка для изучения, а также для тех, кто уже имеет опыт в программировании на других языках.
Сейчас, в начале этой статьи я немного расскажу о Java. Затем, в этой же статье, я покажу вам самый простой и быстрый способ создать свою первую программу на Java. Также я расскажу о том, какие есть среды разработки и библиотеки для построения графического интерфейса. Мы выберем самую простую среду разработки и создадим первую оконную программу на Java.
Интересные факты о языке программирования Java
- Java - назван в честь острова
- Символ языка Java кружка с кофе т.к. первая виртуальная машина Java была создана для кофемашины
- Приложения для кнопочных телефонов были написаны на Java и сейчас приложения для Android пишут тоже на Java
- Никлаус Вирт (создатель языков Pascal, Modula, Oberon) утверждает, что Java использует идеи, заложенные в его Oberon.
- Csharp был создан как клон Java
- JavaScrypt не связан с языком Java, а просто так называется
- Программы, написанные на Java можно запустить на любом устройстве, для которого создана виртуальная машина Java
- Приложения для Android нельзя запустить на iPhone по политическим причинам, а не потому что для iPhone нет виртуальной машины.
Для чего нужно изучать язык Java
Причина №1: Переносимость
Главная фишка программ, написанных на языке программирования Java - это легкая переносимость между платформами. Это значит, что если вы напишите программу на Java, то эту программу можно будет запустить на компьютере с Windows, на компьютере с Linux или на MacBook под управлением macOS.
Это возможно благодаря тому, что программы написанные на Java, взаимодействуют не с операционной системой напрямую, а с некой прослойкой между программой и операционной системой. Такая прослойка называется виртуальной машиной Java.
Для программистов - это большой плюс. Вы пишите программу и ею могут пользоваться любые пользователи. Вы можете выложить ее на свой сайт для загрузки. Вам не нужно будет создавать отдельный дистрибутив для каждой операционной системы и ваши пользователи не увидят такую картину:
- Версия для Windows
- Версия для Mac
- Версия для Linux
Вместо этого у вас будет один дистрибутив для всех.
Причина №2: Разработка приложений для смартфонов
Java - это основной язык программирования для разработки приложений для смартфонов под управлением Android.
Изучив язык программирования Java, вы сможете разрабатывать приложения для смартфонов. А это сейчас очень перспективное направление и огромный рынок сбыта т.к. смартфоны есть почти у всех.
Причина №3: Разработка корпоративного софта
Раньше программы для управления бизнесом разрабатывались преимущественно на Delphi. Затем на его смену в России пришел 1С и занял огромную долю рынка. Сейчас так же 1С является лидером рынка корпоративного софта в России. Но если нужно разрабатывать не на 1С, то чаще всего выбирают именно Java. На Java разрабатывают софт для банковской сферы, софт для управления крупными холдингами.
Краткая характеристика Java и сравнение с другими языками программирования
Java - это полностью объектно ориентированный язык программирования. Если вы в школе изучали Pascal или Python, то вам будет немного трудно привыкать к такому подходу, когда любая сущность является объектом. А вместо привычных функций используются методы объектов.
Такой подход заставляет вас писать программы в соответствии с паттерном объектно-ориентированного программирования (ООП). А это сейчас популярный подход в разработке сложных приложений.
Чтобы представить какое место занимает Java среди других языков программирования, можно посмотреть на авторитетный рейтинг популярности языков программирования https://tiobe.com/tiobe-index/
Как видите Java находится на почетном 3 месте (на январь 2022). Популярнее него только языки Python и C.
Как изучить язык программирования Java
Порог вхождения в программирование на Java очень высокий. Он не относится к тем языкам, которые предлагают выбирать в качестве первого языка программирования. Это обусловлено несколькими факторами:
- Java-полностью объектно ориентированный язык программирования. Т.е. все в нем это объект. Это многим может показатья непривычным.
- Синтаксис Java довольно сложный. В нем очень много букв, образно выражаясь. Программные конструкции кажутся очень громоздкими, если сравнивать Java например с Python.
- Разработчику Java нужно разбираться во множестве технических тонкостей. Какую платформу Java использовать, какую IDE, какую библиотеку для построения GUI выбрать, какую систему сборки использовать. Как все это связать воедино.
Но пусть это вас не пугает. В этой статье я опишу, на мой взгляд, самый простой и удобный способ собрать свою первую программу на Java: консольную программу и настоящую программу с графическим оконным интерфейсом. Читайте статью далее - там я уже перехожу к практике.
А для дальнейшего изучения я бы порекомендовал вам онлайн курс по Java от SkillBox "Профессия Java-разработчик". Этот курс подойдет новичкам в программировании т.к. обучение начинается с самых основ: вы изучите синтаксис языка, объектно ориентированный подход в программировании, научитесь работать с базами данных и т.д. Также мне нравится, что у них упор делается на практику и вы будете работать над реальными проектами.
Учебная среда разработки для понимания основ ООП в Java
Чтобы понять суть языка программирования Java, я рекомендую начать обучение с помощью одной из учебных сред разработки. Это поможет вам визуально увидеть и понять, что же такое объектно-ориентированный подход в Java.
BlueJ
BlueJ - это бесплатная среда разработки, в которой вы сможете наглядно увидеть, что же такое объектно ориентированный подход в программировании. Эта среда разработки позволяет писать настоящие программы и при этом в ней очень простой интерфейс и приятная подсветка синтаксиса, которая делает код визуально понятным.
BlueJ можно бесплатно скачать с официального сайта https://www.bluej.org/.
Greenfoot
Greenfoot - это еще одна учебная среда разработки на Java. Она предназначена для создания игр. Каждый объект игры - это экземпляр одного из классов Java. Это очень хороший способ изучить объектно-ориентированное программирование, на мой взгляд.
Скачать можно тут: https://www.greenfoot.org/download
Создаем простейшую программу Java в блокноте и запускаем ее
Сейчас мы с вами приступим к созданию программ на Java. Для начала мы создадим простую программу прямо в блокноте, в обычном текстовом редакторе. Первая программа будет консольной - она напечатает на экране фразу "Привет, Мир". Вторая программа будет уже более серьезной - у нее будет оконный интерфейс, прямо как у обычных десктопных программ.
Программа №1. Привет мир.
Для разработки и для запуска программ Java вам нужно скачать JDK на этой странице https://www.oracle.com/java/technologies/downloads/
Java Development Kit (JDK) - это пакет для разработки. Он содержит компилятор, стандартные библиотеки для разработки и JRE - среду для запуска программ на Java.
JDK - это консольная программа. Это значит, что у него нет встроенного редактора кода - вам потребуется писать код в блокноте или любом другом текстовом редакторе. Для компиляции вашей программы нужно будет запустить компилятор в командной строке.
Давайте начнем.
Шаг 1. Создание файла с программой.
Создайте в блокноте текстовый файл с кодом:
public class test1{
public static void main(String[] args) {
System.out.println("Hello, world!");
}
}
Файл сохраните в формате java, например так "test1.java" (обратите внимание, что имя файла и название класса в тексте программы должны совпадать - у меня test1). Если работаете в блокноте, то у вас получится сначала файл "test1.txt" - переименуйте его в "test1.java". Готовый файл положите поближе к диску C. Например, создайте папку "test" на диске C. И положите в нее файл. т.е. файл должен находиться по такому пути "C:\test".
Шаг 2. Скомпилируйте файл.
Для компиляции мы будем использовать программу "javac.exe". Найдите ее у себя на компьютере. У меня он лежит по такому пути: "C:\Program Files\Java\jdk-17.0.1\bin\javac.exe". Запомните этот путь.
Дальше будем работать в командной строке. Для запуска командной строки наберите команду "cmd" в поле поиска рядом с кнопкой Пуск:
Нажмите Enter. Запустится командная строка. Используя команду "cd C:\test" перейдите в папку где лежит ваша программа.
Далее введите команду:
"C:\Program Files\Java\jdk-17.0.1\bin\javac.exe" test1.java
На выходе получим файл test1.class в той же папке
Шаг 3. Запуск скомпилированного файла.
Сейчас нам надо запустить скомпилированный файл test1.class.Чтобы его запустить, нужно, находясь в нужной папке (C:\test1) запустить команду "java test1" (обратите внимание расширение class не указываем). На экране вы увидите надпись "Hello, world!".
Вы создали консольное приложение на Java. Далее в этой статье мы узнаем - какие бывают интегрированные среды разработки (IDE) для Java и какие бывают библиотеки для построения графического интерфейса. Выберем самую простую и удобную и создадим настоящее десктопное приложение с кнопочками.
Самые популярные IDE для языка программирования Java
До этого мы создавали программы на Java в текстовом редакторе. Но это не очень удобно. Для комфортного программирования нужна интегрированная среда разработки, или как обычно ее называют IDE.
IDE позволяет решать множество задач по работе с программным кодом:
- там есть подсветка синтаксиса
- она позволяет дописывать начатые программные конструкции автоматически
- она позволяет отформатировать весь код простым нажатием на комбинацию клавиш
- и множество других задач по работе с кодом.
Кроме того, в IDE имеется имеется инструментарий для визуального проектирования GUI (графического интерфейса пользователя). Это значит, что вам не нужно прописывать в коде добавление каждой кнопки на форму - вы в визуальном конструкторе просто добавите кнопку на форму мышкой.
Для java имеется много IDE, но самые популярные это вот эти 3:
- Eclipse
- Netbeans
- Intellij
Eclipse - это одна из основных сред разработки для Java. Поддерживает разработку и на других языка, таких как C++, Fortran, PHP и даже 1С. Из минусов хотелось бы отметить отсутствие русского языка.
Netbeans - одна из популярных сред разработки настольных (десктопных) приложений для Java. Она очень легкая и простая и бесплатная. После установки сразу поддерживает русский язык. Хорошо подойдет новичкам. Я бы рекомендовал начинать изучение Java именно с этой IDE.
Intellij - это очень популярная среда разработки поддерживающая кроме Java множество других языков программирования. Распространяется в 2 версиях: платная и бесплатная (с обрезанным функционалом).
Эти IDE вы без труда сможете найти в интернете и скачать их с официальных сайтов.
3 самых популярных конструктора GUI для языка программирования Java
Библиотеки для построения GUI
Любая современная программа должна обладать графическим интерфейсом. Другими словами, программа должна иметь форму с полями ввода, с кнопками и т.д.
Для конструирования таких форм у Java имеется несколько библиотек. Мы рассмотрим самые популярные:
- AWT
- Swing
- JavaFX
AWT - это самая первая и уже устаревшая библиотека. На ее смену пришла библиотека Swing. Swing сейчас очень широко используется. JavaFX - это совершенно новый подход к построению графического интерфейса и его возможности гораздо шире чему Swing, но он пока не очень популярен. Он позволяет разрабатывать графические интерфейсы для компьютеров, планшетов, смартфонов, телевизоров и т.д.
Библиотеки AWD и Swing идут в составе JDK. Это значит вы можете легко создавать графический интерфейс прямо в блокноте используя эти библиотеки. Библиотек JavaFX нужно будет скачать отдельно. она тоже позволяет описывать графический интерфейс декларативно прямо в блокноте, но используете вы при этом не программный код, а XML разметку похожую на HTML.
Но прописывать вручную прямо в коде расположение каждой кнопки не очень-то удобно. Поэтому были придуманы визуальные редакторы (GUI Builder). При использовании GUI Builder проектирование ведется визуально, а код прописывается автоматически. Вы должны просто накидать на форму все нужные вам кнопочки.
Визуальные редакторы встроенные в IDE
Мы уже говорили, что есть 3 самых популярных визуальных редактора. Это Eclipse, Netbeans, Intellij. Давайте посмотрим, как обстоят у них дела с визуальными редакторами форм Swing и JavaFX.
Eclipse
- Swing - нужно дополнительно установить Window Builder скачивается с сайта эклипс
- JavaFX - можно добавить скачав Scene Builder (тут https://gluonhq.com/products/scene-builder/)
Netbeans
- Swing - Есть встроенный GUI Builder
- JavaFX - можно добавить, скачав Scene Builder
Intellij
- Swing - Есть встроенный GUI Builder
- JavaFX - можно добавить скачав Scene Builder
Создаем программу с оконным интерфейсом на Java в NetBeans + Swing
До этого мы создали первую программу в простом блокноте, без IDE. Сейчас рассмотрим как происходит работа в IDE Netbeans. Мы создадим простейшую программу, которая будет складывать 2 числа, которые вы введете через форму. Сложение будет запускаться по нажатию на кнопку. В работе будем использовать визуальный конструктор форм, основанный на библиотеке Swing.
1) Создайте проект.
В следующем окне укажи папку, где вы будете хранить файлы проекта. Я указал такую папку "C:\test\".
Так же снимите галочку "Create Main Class".
2) Добавьте форму в проект.
Для этого в дереве проектов щелкните правой кнопкой мыши на вашем проекте и в контекстном меню выбирайте "Новый / JFrame Form".
3) Добавьте на форму элементы
Откройте созданную форму двойным щелчком и добавьте элементы: TextField - 3 шт и Button - 1 шт
4) Добавить событие экшен для кнопки
Щелкните правой кнопкой мыши на кнопку. Затем выбирайте как на рисунке: Events / Action / actionPerformed
У вас откроется функция "private void jButton1ActionPerformed" В ней и будем писать наш алгоритм сложения 2 чисел.
5) Пишем программу
Напишите вот такую программу:
6) Соберите проект, нажав на иконку:
7) Запустите программу.
Нажмите на иконку с зеленым треугольником:
8) Протестируйте вашу программу
Если вы все сделали правильно, то у вас откроется окошко вот такого вида:
Введите ваши значения в поля ввода. Я ввел 1 и 2, нажал на кнопку и увидел результат 3. Программа работает.
9) Найдите вашу программу.
Ваша программа готова. Вы ее можете прислать своему другу с компьютером на Windows, а также другому другу с макбуком или же третьему другу с компьютером под управлением Ubuntu. Ваша программа везде одинаково запустится и будет работать.
Ваша программа называется "JavaApplication4.jar" и лежит в папке проекта в папке dist. У меня это такой путь "C:\test\JavaApplication4\dist".
Для запуска программы нужно просто 2 раза кликнуть на файле "JavaApplication4.jar".
Итоги: трудно ли изучать Java
Я понимаю, что у Java порог вхождения конечно же выше, чем, например, у Python и для новичков в программировании Java может показаться через чересчур сложным. Но пусть вас это не останавливает, если вы твердо решили освоить Java. Ведь знание основ Java дает вам огромный потенциал для роста. В перспективе вы можете стать высокооплачиваемым программистом на серьезном проекте по разработке корпоративного софта. Или же вы сможете создавать востребованные приложения для Android.
Я написал эту статью для того, чтобы показать, что изучение Java - это не такой уж трудный процесс, как многие привыкли думать. Эта статья должна ответить у вас на самые первые вопросы, которые возникают у большинства новичков, пытающихся освоить Java. Я надеюсь, моя статья вам помогла сделать первый шаг.
Следующим вашим шагом может стать самостоятельное изучение множества видеоуроков в YouTube (смотрите, чтобы они были не устаревшими). Или же если у вас нет времени, вы можете пройти курсы Java от SkillBox "Профессия Java-разработчик". Там вам дадут самую актуальную теоретическую базу и вы с преподавателем будете разбирать практические примеры.
На этом все. Надеюсь, вам понравилась статья и было все понятно. Если у вас будут возникать вопросы по ходу практических работ в статье, то смело пишите их в комментариях. Вместе будем разбираться.
PS. Если вы все же чувствуете что Java - это не ваше, то попробуйте посмотреть в сторону Python. Я ранее писал статью на этом канале "Как изучить Python за один вечер". И подписывайтесь на мой канал. Я и дальше буду выкладывать статьи, которые помогут изучать языки программирования.