Сайт о телевидении

Сайт о телевидении

» » Быстрый старт в Java: от установки необходимого софта до первой программы. Подбираем IDE для Java-разработчика

Быстрый старт в Java: от установки необходимого софта до первой программы. Подбираем IDE для Java-разработчика

Почти все книги и уроки по Java для новичков начинаются с описания ООП: какой он замечательный с великолепный. Понятно, поскольку в Яве просто невозможно любое другое программирование, кроме как объектно-ориентированное, то вначале предлагается освоить 40..80 страниц безумных аналогий с иерахией кошечек/собачек/уточек/автомашин, и только после этого предлагается написать «Hello, World!». :-)

При этом стоит заметить, что абсолютно всё обучение Java строится на примитивнейшем выводе результата на консоль. То есть не консольное приложение в привычном понимание, а именно вывод каких-то данных построчно. Ну вот например Turbo Pascal 3.0 вышел в 1985 году и в нём уже была поддержка графических режимов. В 1990 году появился Turbo Vision - очень крутая вещь - аля-Windows только для DOS. А в Яве в 2018 году возможен только вывод на консоль. И вот вся эта восторженность и крутость как-то вдребезги разбивается уже на этапе «Hello, World!»... Хуже наверное это только развлекаться на программируемом калькуляторе МК-61 или МК-52 - а что? там такой же построчный вывод.

Но, самое забавное - это то, что на Java реально можно создавать программы используя визуальное программирование! Я об этом узнал только когда прочитал (или скорее ознакомился) с 500 страничной книгой, где в одной из последних глав, вдруг выяснилось, что для Java существуют нормальные GUI (графические интерфейсы пользователя) и можно оформлять программы с кнопочками, полями ввода и нормальными меню. Спрашивается: зачем вы столько времени «мурыжили» эту паршивую консоль, когда можно было сразу всё делать красиво и аккуратно?

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

Первый - GUI для Java есть трёх видов (библиотек): AWT , Swing (кто придумывает такие названия?) и JavaFX .

На сегодняшний день (Java 8 и 9) все они входят в комплект поставки JDK: то есть всё работает из коробки и не нужно заморачиватся с их установкой. Это большой плюс.

Но, AWT - это первая и очень старая реализация, поэтому её использовать не нужно. В общем - некошерно. Swing - тоже некошерно, поскольку там что-то не так замутили и программы из-за него жутко тормозят. Точнее не скажу, не разбирался, но вроде как она официально больше не развивается несколько версий. А вот JavaFX - это гуд и наше светлое будущее.

Есть ещё такая мерзость - java-апплеты , те которые работают в браузере и при этом его намертво «вешают», примерно как Flash, только ещё хуже. К счастью эту/эти штуку/штуки практически уже не используют, поэтому тратить время на их изучение бессмысленно.

Так что единственное на что стоит потратить время - это JavaFX.

Второй момент . Всё не так просто. Рассмотрим Delphi (или Visual Studio, Lazarus, не важно). Даже для «зеленого» новичка создание простой программы (одна кнопка и текстовое поле для вывода) будет происходить так:

  • запускаем Delphi;
  • автоматом создается новый проект с главной формой;
  • выбираем на палитре компонентов кнопку и размещаем на форме; всё визуально
  • аналогично кидаем на форму текстовое поле;
  • при необходимости в панели свойств можно указать текст кнопки, размеры и т.п.;
  • запускаем - Delphi предложит сохраниться, сохраняемся.

То есть мы не написали ни единой строчки кода, IDE - всё сделала сама. Если посмотреть на сгенерированный код, то назвать его простым нельзя - здесь уже требуются определенные знания, но Delphi достаточно умна, чтобы понимать как с ним работать.

Если мы захотим добавить какое-то действие, например при нажатии на кнопку, заполнять текстовое поле фразой «Привет!», то делаем так:

  • два раза кликаем на кнопку (или выбираем событие onClick);
  • Delphi создает код обработчика этого события и перекидывает нас в редактор;
  • набираем название текстового поля и Delphi выдает подсказки, по которым можно соориентироваться что и как делать.

То есть опять же, IDE выполнила всю черновую работу.

Но это в других языках, Java идёт своим путём. Чтобы создать кнопку в JavaFX нужно вручную создать Stage - «театральные подмостки» (название на полном серьёзе!) и на них разместить сцену (Scene). К ней какой-нибудь контейнер в который уже вкладывается прочие элементы.

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

Response = new Label("Push a Button"); Button btnUp = new Button("Up"); Button btnDown = new Button("Down"); btnUp.setOnAction(new EventHandler() { public void handle(ActionEvent ae) { response.setText("You pressed Up."); } }); btnDown.setOnAction(new EventHandler() { public void handle(ActionEvent ae) { response.setText("You pressed Down."); } }); rootNode.getChildren().addAll(btnUp, btnDown, response); ...

Когда кнопок наберется с десяток, плюс 20 пунктов меню, плюс 30 других компонентов, то код маленьким не покажется. И это ещё без кода, который отвечает за дополнительные свойства, например выравнивание, размеры, шрифт... И вот это второе указывает на то, что обучалки по JavaFX как раз и показывают как писать «fx-код» ручками. Тоска, одним словом...

Но, тут возникает спасительный третий нюанс . Оказывается умные люди (видимо знакомые с полноценными IDE), разработали другой вид приложений, где для генерации «fx-кода» используется описательный xml-файл, который называется fxml , а такие программы менуются как «Приложения FXML JavaFX »

Для меня совершенно удивительно то, что обучение Java не начинается именно с таких приложений. Пусть это не Delphi, но всё-равно это в миллион миллионов раз лучше, чем работать с консолью и забивать себе голову прочим хламом о том, почему нужно использовать стопицот строк с ООП там, где в других языках на это уходит одна простенькая процедура. ;-)

Теперь серьёзно. Если вы никогда не программировали на Java, то можете попробовать сделать это прямо сейчас. На самом деле - это довольно круто, хотя потребуется немного потратить время, чтобы освоится с программами. Если у вас есть опыт работы с «визуальными IDE», то ещё лучше - встретите много знакомого.

JDK

Ява должна быть установлена на компе. Я не буду приводить ссылки как это сделать - гугл в помощь, поскольку всё слишком просто.

IDE

В Яве нет какой-то одной программы - среды разработки, поэтому в Сети встречаются примеры из разных программ. Самые примитивные, вроде Notepad++ годятся только для консольного вывода, но если рассматривать что-то более серьёзное, то выделяются только три кандидата: NetBeans , Eclipse и IntelliJ IDEA .

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

Eclipse - тоже неплохой вариант, более мощный чем NetBeans, но слабее чем IntelliJ IDEA.

IntelliJ IDEA - выглядит самой крутой, но за это приходится платить скоростью работы. Стоит отметить, что Android Studio базируется на IntelliJ IDEA, но студия работает почему-то значительно медленней.

Важный момент связан с программированием под Андроид. Из этих трех IDE только IntelliJ IDEA для этого более-менее годится. В Сети масса материалов о программировании под Андроид в Eclipse, но они все уже устаревшие - не тратье время, запуская старенький ADT-плагин и пытаясь хоть что-то с ним сделать. Может быть старый Android SDK и будет работать, но все новые - уже нет.

Я покажу как сделать приложение FXML JavaFX во всех трёх программах, но прежде чем приступать, нужно установить ещё одну программу: SceneBuilder (используйте версию для Java 8). Это ключевая программа, где, собственно и выполняется всё визуальное построение. SceneBuilder самостоятельно может работать без IDE, поэтому можете её запустить и посмотреть как она устроена. На выходе будет fxml-файл, который содержит всю нужную разметку. Этот файл и используется в IDE, вместо написания мегатонны кода. :-)

ТЗ

Создаваемая программа будет очень простой - кнопка и текстовое поле. При нажатии на кнопку в текстовое поле пусть добавляется текст «Привет!».

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

NetBeans

Перед началом работы, нужно подключить SceneBuilder: Сервис - Параметры - Java - JavaFX - Начальная страница Scene Builder . Выберите каталог программы. Настройку достаточно сделать один раз. Это относится ко всем IDE.

Создаём новый проект, где нужно выбрать «Приложение FXML JavaFX».

Жмём «Готово» и, после некоторой работы NetBeans, видим готовые файлы:

  • Myfx.java - это main-файл, который, собственно и запускает всю программу.
  • FXMLDocumentController.java - это «контролёр», где и будет в основном программирование.
  • FXMLDocument.fxml - этот файл хранит визуальную часть.

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

Это круто, потому что мы не написали ни строчки кода, но уже получили программу с работающей кнопкой. :-)

Если вы правильно указали путь к SceneBuilder, то можете выбрать пункт меню «Открыть» на файле FXMLDocument.fxml . Это же самое произойдёт если сделать двойной клик. Откроется SceneBuilder. Если пункта нет, то путь указан не верно, проверьте настройку.

Принцип работы в SceneBuilder един для всех IDE, поэтому пока я опишу только общие моменты, дальше вы уже сами сообразите.

Стоит отметить, что после редактирования файла, закрывать SceneBuilder не нужно. Достаточно только сохраниться (Ctrl+S) и переключиться на IDE - она сама подхватит изменения.

Окно SceneBuilder разделено на три части:

  • слева - наборы компонентов, иерархия и Controller, где указывается основной класс (это важно!)
  • в центре - сама форма, где и происходит визуальное построение.
  • справа - свойства компонентов, разделенные на три закладки (это условное деление). Вкладка Code отвечает за то, что будет использоваться в java-файле.

Построение FX-программ должно начинаться с контейнера. В данном примере NetBeans использовал AnchorPane . Он довольно удобный, позволяя настраивать для вложенных элементов «правильные» отступы. Вкладка Containers содержит другие контейнеры, с которыми вы сможете самостятельно потренироваться (я и сам ещё и половины не освоил:-)).

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

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

В SceneBuilder возможен предварительный просмотр (Ctrl+P). В этом режиме отображается только форма и все элементы «без java-программирования».

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

Первая - проверить, что указан верный контролёр. В нашем случае NetBeans сам уже всё сделал и указал myfx.FXMLDocumentController .

Как видно - это контролёр из файла FXMLDocumentController.java (пакет.контролёр). Не всегда IDE его указывают, но это важно, поскольку fxml-файл (точнее java-код) использует его для привязки.

Второй момент - используемый компонент должен иметь свой ID - это параметр fx:id . Здесь я указал textField1 .

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

У кнопки, которая будет заполнять текстовое поле, тоже должен быть свой id, а также метод события onAction (это основное событие компонента, а не onClick, как в Delphi). NetBeans уже об этом позаботился, поэтому нам ничего не придется писать.

На этом визуальное построение можно завершить. Сохраняемся и переключаемся в NetBeans. Видим, что файл FXMLDocument.fxml изменился: добавился textField1 :

Теперь нам нужно как-то использовать текстовое поле в java-коде. В отличие от Delphi, NetBeans не создаёт для этого никакого кода, потому нам придётся добавлять его в «полу-ручном» режиме. Для этого в разных IDE используются различные способы, но общий принцип в том, что нужно установить курсор на нужное поле в редакторе и выполнить некое «действие» . В NetBeans оно называется Установить контролер в меню Источник . (Да в Яве большие проблемы с именованиями...)

После выполнения этой команды, произойдет переход к файлу FXMLDocumentController.java , где в код будет добавлено объявление переменной textField1 :

Обратите внимание на «@FXML» - эта аннотация указывает, что код как-то используется в FXML. После этих изменений SceneBuilder уже не будет выдавать предупреждение, как желтый треугольник ранее. Если ещё раз запустить SceneBuilder, то это можно проверить.

Запускаем программу на выполнение для теста. Теперь наша задача по клику на кнопке заполнить текстовое поле. Как вы уже поняли метод handleButtonAction как раз и выполняет нужную работу. В нём дописываем:

TextField1.setText("Привет!");

Обратите внимание как работает автодополнение кода после того, как будет нажата точка.

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

Данная возможность присутствует по всех IDE, хотя есть различия в реализации и использовании.

Запускаем программу и видим, что всё работает как нужно.

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

Eclipse

Запуск Eclipse происходит несколько дольше, чем NetBeans. Вначале нужно указать путь к SceneBuilder. Делается это в Window - Preferences - JavaFX .

Обратите также внимание на то, что Eclipse неруссифицированная программа (даже не знаю, есть ли к ней руссификатор).

Создаём новый проект и выбираем JavaFX.

Жмем Next и попадаем на страницу настроек. Здесь я указал название проекта, как и прежде myfx (у меня для разных IDE разные каталоги проектов, поэтому они не пересекаются друг с другом).

Здесь нужно выбрать тип приложения, тип контейнера и имя контролера. Жмем Finish и Eclipse быстро генерирует каркас нашей будущей программы.

Здесь всё очень похоже, только добавлен еще один файл application.css - да, да, в JavaFX можно использовать CSS для настройки оформления! Eclipse сразу сгенерировал для этого файла код подключения.

Запустим программу и убедимся, что нет ошибок.

В отличие от NetBeans, здесь совершенно пустая форма. Откроем её в SceneBuilder с помощью контекстного меню.

И здесь мы видим, что формы нет. Но, на самом деле она есть - просто по умолчанию используется вычисляемый размер (высота и ширина), который в данном случае равен нулю. Компонентов-то нет! В нашем случае это не совсем то, что нужно, поэтому мы выберем BorderPane в иерархическом списке и в свойствах Pref Width и Pref Height укажем какие-то значения. Эти свойства задают «желаемые» ширину и высоту. После этого форма сразу же «проявляется».

Контейнер BorderPane состоит из 4-х частей: top, right, bottom, left и center. Компоненты следует помещать в разные части - от этого будет зависеть их положение при изменении размера окна.

Здесь довольно сложно объяснить словами, просто попробуйте разместить несколько кнопок, а после в предварительном просмотре измените размеры окна.

Я не стал особо мудрить и разместил вверху текстовое поле, а в центре кнопку.

Теперь проверим, что указан контролёр: в данном случае application.SampleController - Eclipse выполнил эту работу за нас.

Теперь нужно указать id у наших элементов. Для кнопки я задал btn1 , а текстовому полю textField1 . У нас опять же возникло сообщение «желтый треугольник».

Для кнопки укажем метод на событие - btn1Click .

Сохранимся и вернёмся в Eclipse. Мы увидим, что файл Sample.fxml обновился, но рядом с некоторыми строками появились значки предупреждения.

Ситуация здесь точно такая же как и в NetBeans - нужно в «полу-ручном» режиме вносить правки. В Eclipse для этого используется контекстное меню по второй кнопке мыши: Quick Fix или горячая клавиша Ctrl+1 (что удобней).

При этом выскакивает подсказка о предполагаемом действии. Например для textField1 предлагается добавить идентификатор в контролёр:

а для кнопки ещё и метод-обработчик события:

При этом, Eclipse немного притормаживает и изменения не сразу отображаются на экране. Тут нужно либо переключиться на файл контролёра, либо немного подождать. В результате в код будет добавлены нужные изменения и значки предупреждений исчезнут.

Добавим наш код как и раньше мы сделали в NetBeans.

Обратите внимание на более интелектуальную работу автодополнения. В автоматическом режиме он немного подтормаживает, но если нажать Ctrl+Пробел (эта же комбинация используется во многих IDE), то позволяет получить и неплохой хелп.

Запускаем нашу программу.

И записываем себе на счёт ещё одну IDE. :-)

IntelliJ IDEA

IntelliJ IDEA запускается довольно неспешно, можно успеть проверить почту. :-)

Опять же указываем путь к SceneBuilder: File - Settings :

И указываем его имя (как обычно - myfx):

IntelliJ IDEA выполнит инициализацию и мы увидим уже знакомые три файла. Запустим программу, чтобы проверить отсутствие ошибок.

Здесь также пустая форма, но зато указан заголовок программы. Если посмотреть на код Main.java , то увидим строчку:

PrimaryStage.setTitle("Hello World");

Это и есть заголовок приложения. В других IDE эта строчка отсутствует, но зато теперь мы знаем для чего нужны «театральные подмостки». ;-)

Переключаемся в SceneBuilder (аналогично Eclipse): второй кнопкой мыши нужно выбрать Open in SceneBuilder .

Здесь также пустая форма, но с контейнером GridPane . Устанавливаем Pref Width и Pref Height , чтобы отобразилась форма.

Сам по себе GridPane представляет собой аля-сетку из ячеек для элементов. Думаю, что тут нет смысла повторяться - все действия будут аналогичными:

  • разместить кнопку и тестовое поле,
  • присвоить им id,
  • для кнопки прописать метод для обработки клика,
  • не забываем проверить, указан ли контролёр (sample.Controller ).

Закрываем SceneBuilder и возвращаемся в IntelliJ IDEA. Здесь нужно добавить идентификаторы id в код, а также создать метод для реакции на нажатие кнопки.

IntelliJ IDEA предлагает для этого два способа. Первый - при наведении мышки на «проблемное место» будет появляться подсказка, на которую можно кликнуть:

Второй - горячая клавиша Alt+Enter

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

При этом, заметьте, не добавляется строчка «@FXML». Если мы вручную его добавим перед переменными и методом, то IntelliJ IDEA сразу предложит добавить нужный java-класс:

Вообще IntelliJ IDEA показывает достаточно хорошую сообразительность и выступает помощником в написании кода. Причём делает это самостоятельно без лишних нажатий кнопок.

Ну что ж, добавляем свой код для обработчика и запускаем программу:

Прекрасно, всё работает!

Итого

Главный вывод - на Яве возможно визуальное программирование . Может оно и не идеальное, но вполне годное, особенно для новичков. Изучать язык гораздо интереснее, когда есть какой-то осязаемый результат - ООП, классы и прочие премудрости - это хорошо, но лучше начать с кнопочек, полей ввода, меню и всего того, что подразумевает нормальная программа. А консоль - это скучно и неинтересно.

Три IDE я привел не случайно. В Сети очень много примеров для Явы и все они для разных программ. Лично я ещё не определился со своим предпочтением, поскольку у всех есть как плюсы, так и минусы. Наверное нужно поработать со всеми, тогда и будет понятно.

Но, ключевой момент - это умение работать с SceneBuilder. Построение формы в JavaFX немного отличается от той же Delphi, в первую очередь в использовании сложных контейнеров (они могут быть вложенными друг в друга). Поэтому вначале следует разобраться с ними, после уже можно браться за сами компоненты.

Как вы знаете, Java - один из самых популярных языков программирования в мире и его знание существенно увеличит вашу значимость как программиста. Итак, вы решили начать писать на этом языке. Вам понадобится поставить JDK для того, чтобы писать и запускать программы на Java. JDK - набор софта, разработанного Oracle, содержащий в себе компилятор (javac), среду выполнения (Java Runtime Environment), стандартную библиотеку языка, примеры и документацию. Прочитав эту статью, вы узнаете, как установить и настроить JDK на своей системе, что такое среда разработки и какие варианты IDE существуют для Java. Также вы напишете свою первую программу на Java.

Установка Java Development Kit

  1. Перейдите на сайт Oracle и загрузите JDK для вашей платформы.
  2. После загрузки извлеките полученный архив и запустите извлеченное приложение.
  3. В процессе установке выберите вариант «Development Tool» и нажмите «Next».
  4. Спустя некоторое время установка завершится.

Итак, вы установили Java Development Kit, но это еще не всё. Необходимо настроить его для вашей системы.

Настройка JDK на примере Windows

  1. Перейдите в папку %ProgramFiles%\Java\%версия установленного вами jdk%\bin , нажмите на свойства любого файла в этой папке и скопируйте путь к нему.
  2. Перейдите в свойства вашего компьютера, откройте вкладку «Дополнительно», нажмите «Переменные среды…». В открывшемся окне создайте новую переменную, назовите её Path , в её значение вставьте скопированный ранее путь.
  3. Теперь самое важное. Откройте командную строку и наберите javac , чтобы убедиться, что JRE установлен и настроен. Если выдаётся список аргументов к команде javac , то поздравляю, вы успешно установили и настроили всё, что необходимо для использования Java!

После установки JDK и JRE не помешает установить на компьютер одну из IDE.

Установка IDE

Для начала разберёмся, что такое IDE .

IDE (Integrated Development Environment) — это комплекс программных средств, используемый программистами для разработки программного обеспечения. IDE позволяет с лёгкостью писать, запускать, отлаживать и тестировать код.

Для написания сложных программ целесообразно использовать IDE. Мы рассмотрим наиболее популярные.

Блокнот

Да, и в блокноте можно писать код! Для разработки вам потребуется всего лишь установить JDK и указать путь к ней. Пишете код в блокноте, компилируете с помощью командной строки. Тем не менее, для разработки сложных программ это не самый лучший вариант из-за отсутствия каких-либо дополнительных возможностей, присутствующих в продвинутых IDE.

NetBeans

NetBeans - выбор профессиональных Java-разработчиков. В ней есть уникальные возможности и инструменты, которые позволят вам сделать вашу программу кроссплатформенной, а код удобочитаемым. NetBeans поддерживает не только Java, но и другие языки программирования для десктоп- и веб-разработки. Она полностью бесплатна, скачать её можно с официального сайта. Вот лишь некоторые её возможности:

  • форматирование кода;
  • установка сторонних библиотек;
  • простой графический интерфейс;
  • и многое, многое другое…

Eclipse

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

  • возможность форматировать код так, как вам удобно;
  • поддержка разбиения кода на модули;
  • лёгкость использования одного и того же кода в разных проектах;
  • перетаскивание (drag-and-drop);
  • просмотр содержимого библиотек;
  • удобный интерфейс.

IntelliJ IDEA

IntelliJ IDEA - известная IDE для Java, написанная, как ни странно, на Java. Укомплектована уникальными инструментами и позволяет без проблем ориентироваться в программе. Нахождение ошибок и отладка кода никогда не были такими легкими, как с IntelliJ IDEA.

JCreator

JCreator - продвинутая и самая быстрая IDE для Java, написанная на C++.

Пишем свою первую программу

Итак, вы установили и настроили JDK, JRE и IDE для Java. Каков следующий шаг? Конечно же, написать программу, чтобы окончательно убедиться, что всё работает и вы готовы к изучению языка. Вы познакомитесь с базовой структурой кода на Java и создадите свою первую программу! Стоит отметить, что перед изучением Java следует ознакомиться хотя бы с самыми простыми принципами объектно-ориентированного программирования.

Структуру программы на Java можно представить так:

Структура программы на Java

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

Перед тем, как приступить к созданию программы, необходимо создать проект, а в нём и файл, в котором будет содержаться ваш код. Рассмотрим создание проекта на IDE Eclipse, но в остальных IDE процесс отличается не сильно. Cверху выберите «File», затем наведите курсор на «New», в открывшемся меню выберите «Java Project». В появившемся окне введите имя проекта и другие нужные вам настройки (если не уверены, что делать, то можно просто оставить все как есть) и нажмите «Next». Готово, вы создали проект! Осталось лишь создать в нём класс, в котором вы напишете свою первую программу. Щёлкните правой кнопкой мыши по вашему проекту (он должен появиться справа) и выберите «New» → «Class». Присвойте новому классу имя (в данном примере — это first) и нажмите «Finish».

Приступим к написанию вашей первой программы. По традиции - это программа, выводящая на экран «Hello, world!».

Public class first{ public static void main(String args) { System.out.println("Hello, world!"); } }

Разберём по частям написанное нами:

  • public — это модификатор доступа, определяющий, из какой части программы может использоваться наш класс. В вашем примере public - это весь код;
  • class — ключевое слово, показывающее, что вы объявляете класс, а не что-либо иное;
  • first — имя вашего класса. Круглые скобки определяют начало и конец кода класса;
  • public static void main(String args) — объявление публичного статического метода (то есть который можно вызвать, не создавая объект класса). Метод в примере ничего не возвращает и принимает в качестве аргументов массив строк. Единственная команда в этом методе выводит в консоль сообщение «Hello, world!». Заметьте, вместо println можно написать print , разница лишь в том, что в случае с println дополнительно выведется символ переноса строки.

Хорошо, вы написали вашу первую программу. Теперь её надо запустить. Для этого просто нажмите белую стрелочку в зеленом кружке на верхней панели (при наведении курсора на неё должно высветиться «Run»). После нажатия внизу откроется консоль, в которой вы увидите сообщение «Hello, world»! Поздравляю, вы написали вашу первую программу на Java и готовы погрузиться в увлекательный мир этого языка!

Мы постарались объять необъятное, вспомнив несколько наиболее популярных и универсальных сред разработки. Опыт получился не слишком удачным, поэтому в этот раз мы сконцентрируемся только на одном языке, а именно Java. Если вы только начинаете знакомиться с ним, рекомендуем пройти .

Учредив 7 номинаций, субъективно определим лучшие из лучших:

Лучшая бесплатная IDE: NetBeans

NetBeans - мощнейшая среда разработки с открытым исходным кодом, ориентированная на интернет, мобильные и настольные приложения. Работает с Linux, Windows, MacOS и даже Oracle Solaris.

Несмотря на то, что NetBeans позволяет работать на нескольких языках, в среде разработчиков она считается Java-ориентированной. Она прекрасно взаимодействует с JPA, JSP, Struts, Spring и библиотекой Hibernate.

Лучшая коммерческая IDE: IntelliJ IDEA

По правде говоря, IntelliJ IDEA распространяется в двух версиях, одна из которых совершенно бесплатная - Free Community Edition. Причём для начинающего разработчика данного пакета хватит с головой. В частности, IDE Android Studio, речь о которой пойдёт чуть позднее, основана именно на этой версии.

В платной же версии вы получаете поддержку фреймворков Spring (Spring MVC framework, Spring Security, Spring Boot, Spring Integration и т. д.), Node.js, Angular React, Grails, возможность использовать дополнительные языки (javascript, typescript, coffeescript) и взаимодействовать почти со семи популярными серверами (Tomcat, TomEE, GlassFish, JBoss, WildFly, Weblogic, WebSphere, Geronimo, Virgo и т. д.).

Самая популярная IDE: Eclipse

Точную цифру привести практически невозможно, но практически любой Java-разработчик с опытом работы более 2 лет сталкивался с этой IDE. Победителем в этой номинации Eclipse удалось стать благодаря большому сообществу, тонне полезной информации и бесчисленному количеств плагинов. Как и с предыдущими экземплярами, Eclipse поддерживает несколько языков, но воспринимается как приверженец Java.

Cамая универсальная IDE: JDeveloper

Ещё один продукт от Oracle с массой преимуществ, среди которых поддержка системы контроля версий и облачного сервиса Oracle, он упакован SQL Developer, PL / SQL обработчиком запросов, WebLogic Server, редакторами HTML, CSS, JavaScript, JSF, JSP, WSDL и ещё огромным количеством всевозможных полезностей.

Лучшая для Android: Android Studio

Было бы странно, если победителем в этой номинации стала какая-нибудь другая IDE. Помимо всех возможностей, который вам дарит исходная IDE IntelliJ IDEA, Android Studio включает в себя немало надстроек от Google, как чисто визуальных (макеты, форматы, GPU профайлер), так и функциональных (JUnit 4 и Firebase Test Lab для тестирования и отладки, система сборки Gradle, Instant Run).

Лучшая IDE для обучения: DrJava

Именно к такому выводу пришла команда разработчиков под названием JavaPLT, представляющие университет Райса. Оно и неудивительно, учитывая, что DrJava - их детище. Впрочем, оставив шутки в стороне, стоит признать, что DrJava действительно прекрасно подойдёт новичкам, ведь данная IDE даже не ставит своей целью соперничество с выше названными. Главное её преимущество - предельно быстрая настройка и переход к непосредственному написанию кода. В качестве конкурентов можно на схожих условиях рассмотреть BlueJ, JGrasp и Greenfoot.

Самая перспективная IDE: MyEclipse

Приветственная надпись на странице скачивания гласит “The best Java EE IDE enhanced for the full stack developer”. Что ж, это весьма нескромно, совсем не подкреплено фактами, но по правде говоря - недалеко от истины. В сущности, MyEclipse - это Eclipse, где всё изначально “привинчено”, “допилено” и ещё немного расширено. К услугам разработчика предлагается несколько версий, две основные - стандартная и профессиональная. Стандартная - это как раз Eclipse в новой оболочке, а Professional содержит мобильный веб-симулятор, редактор картинок, UML-редактор, шаблоны, надстройки - в общем, всё, что сделает создание продукта значительно проще.

А чем пользуетесь вы?

Связано с выбором рабочего окружения - IDE (integrated development environment / интегрированной среды разработки). Особенно важно это для тех, кто впервые сталкивается с программированием, поскольку выбор IDE может оказать существенное влияние на их рабочий процесс.

Несмотря на то, что в целом существует больше десятка различных сред разработки для Java, крупнейшими и наиболее функциональными, а также обладающими хорошей поддержкой как со стороны разработчиков, так и со стороны сообщества, являются три IDE: NetBeans, Eclipse и IntelliJ IDEA. Остальные конкуренты существенно уступают в функциональности, многие более не поддерживаются, из-за чего не могут отвечать последним стандартам такого стремительно развивающегося языка программирования как Java. Остановимся на каждой из упомянутых сред разработки более подробно.

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

По своей функциональности NetBeans является наиболее простой и интуитивно понятной средой разработки для Java из тройки лидеров. Без сомнения можно рекомендовать ее для тех, кто впервые сталкивается со средами разработки и языком программирования Java. Среди отличительных черт этой IDE можно выделить оптимальную настройку среды «из коробки». Установив данную среду, пользователь получает отличные настройки компилятора и самой среды разработки, интерфейс без лишних иконок и пунктов меню, присутствуют лишь наиболее востребованные и часто используемые функции. Впоследствии, естественно, можно настроить интерфейс под себя. Можно отметить также удобную реализацию выполнения задач, все меню очень хорошо структурированы, имеют понятные названия. Отдельно можно отметить легкость работы с NetBeans из-за отсутствия необходимости бродить по бесконечным меню и всплывающим окнам, чем страдают многие другие среды разработки. В большинстве случаев при общении пользователя со средой NetBeans автоматически предлагает оптимальные параметры для работы. Таким образом, даже если начинающий пользователь не до конца понимает, о чем его спрашивает среда, нажимая «ОК», навредить своей работе почти невозможно. Установка дополнительных компонентов среды / плагинов (plug-in) производится в один клик. Имеется хорошая поддержка систем контроля версий (VCS, version control system), а также простая в использовании подсистема разработки графического пользовательского интерфейса (GUI, graphical user interface). NetBeans доступен .

Подводя итог, можно охарактеризовать NetBeans IDE как интуитивно понятную и простую в использовании среду разработки. Начиная работать с NetBeans, в нем легко разобраться, а также легко научиться пользоваться этой средой на продвинутом уровне. Кроме того, стиль взаимодействия NetBeans с пользователем таков, что позволяет быстро освоить и сам язык Java, если пользоваться встроенными в среду подсказками, будь то документация Javadoc или рекомендации по исправлению допущенных/потенциальных ошибок.

Eclipse - первоначально созданная IBM интегрированная среда разработки, находящаяся среди лидеров с момента своего появления. Eclipse, однако, заточен не только под Java, а является средой общего назначения Eclipse Platform, что сказывается на его функциональности. Наиболее подходящая для работы с Java сборка среды Eclipse доступна под названием ""Eclipse IDE for Java Developers"".

Отличительной чертой Eclipse является почти неограниченная настраиваемость и расширяемость. У пользователей, однако, это может вызвать проблемы. Так «из коробки» интерфейс Eclipse содержит излишне много редкоиспользуемых функций, обладает запутанными и не интуитивными меню, известен Eclipse и своими бесконечными диалоговыми окнами, требующими от пользователя ввода большого числа информации или просто перегруженными сведениями, с которыми ему необходимо ознакомиться. Система установки плагинов также может показаться запутанной. Системы работы с контролем версий и разработки пользовательского интерфейса находятся на среднем уровне. Eclipse также доступен бесплатно.

Среди плюсов Eclipse IDE можно отметить поддержку почти любой существующей технологии Java, а также второстепенных технологий, без которых не обходятся программисты. Имея достаточный опыт, Eclipse можно до невероятной степени подстроить под свои нужды. Для новых же пользователей это будет лишь преградой к эффективной работе, поскольку от среды общего назначения не стоит ожидать большой интуитивности и простоты.

IntelliJ IDEA, созданная компанией JetBrains, была первой созданной полноценной интегрированной средой разработки. В отличие от вышеописанных IDE Intellij IDEA доступна в бесплатной Community Edition версии и платной - Ultimate. Для начинающего разработчика бесплатная версия содержит весь необходимый функционал и может рассматриваться как полноценная IDE.

Сейчас IDEA получает все больше и больше сторонников и положительных отзывов, являясь, как и говорит ее слоган «умной» средой разработки. Intellij IDEA крайне понятна, проста в использовании, поддерживает большинство современных технологий, имеет одну из самых удобных систем по работе с контролем версий. В ней полностью отсутствует какая-либо перегруженность: минимум диалоговых окон и только необходимая информация выводятся пользователю. Существует обширная система горячих клавиш, позволяющих быстро выполнять большое число нетривиальных функций. По уровню удобства работы с IntelliJ IDEA определенно стоит на уровень выше конкурентов, поскольку будучи «умной» средой, она всегда знает намерения пользователя, подсказывая/помогая ему в работе и экономя большое количество времени и сил. Как таковых минусов у IntelliJ IDEA нет, для новичка, однако, сложность может представлять система разработки GUI, поскольку потребует от пользователя хотя бы минимального набора знаний о построении GUI в Java.

Подводя итог, стоит сделать следующие замечания. Для тех, кто впервые сталкивается с Java и интегрированными средами разработки, идеальный выбор - NetBeans. Для людей, обладающих хотя бы минимальными знаниями Java, подойдет NetBeans или IntelliJ IDEA. Тем, кто имеет желание и возможность провести какое-то время за знакомством и настройкой среды, а также хочет полностью подстроить среду под себя, можно посоветовать Eclipse.

Скачать инсталляционный пакет можно на сайте компании Oracle по ссылке:

Инсталлируем Java.

Для того, чтобы установить Java на компьютер, запустите скаченный файл, после чего начнется процесс установки (рисю1.2).

Нажмите Next.

Установка по умолчанию будет происходить в директорию C:\Program Files\Java\jdk1.x.x_xx (вместо иксов номер версии), при желании директорию можно изменить, нажав на кнопку Change (рис 1.3).

Следуйте инструкциям мастера установки, и через несколько минут установка будет завершена.

По окончанию установки, программа предложит перейти к технической документации и руководствам по Java, для чего нужно будет нажать кнопку Next Steps. После этого в вашем браузере откроется страница с документацией Java http://docs.oracle.com/javase/ , которая является очень полезной для изучения.

Настройка переменных сред.

На следующем шаге необходимо задать пути к выполняемым файлам, а именно задать системные переменные PATH, CLASSPATH и JAVA_HOME .

Для этого откройте Панель управления -> Система , выберете Дополнительные параметры системы. В появившемся окне нажмите кнопку Переменные среды .

В открывшемся окне в блоке Системные переменные нужно проверить существует ли переменная PATH , если переменная не существует, то ее нужно создать нажав на кнопку Создать, если переменная PATH уже существует, то ее нужно Изменить (рис. 1.4).

В следующем окне для переменной PATH нужно установить Значение переменной — путь к каталогу, в который была установлена Java (рис. 1.5).

Если переменной PATH уже присвоены другие значения, то новое значение добавляется через точку с запятой «;» в самом конце строки.

Также необходимо создать переменную CLASSPATH , если она еще не создана. В качестве ее значения необходимо указать «.;» (рис. 1.6).

Подобным образом создается/изменяется переменная JAVA_HOME . Значение этой переменной — путь к каталогу, в который была установлена Java (как для PAHT), но уже без поддериктории bin. Например:

Значение в PATH : C:\Program Files\Java\jdk1.7.0_25\bin

Значение в JAVA_HOME: C:\Program Files\Java\jdk1.7.0_25

После того, как были прописаны переменные, установку Java можно считать завершенной!

Проверка установки.

Чтобы проверить, успешно ли прошла установка, откройте командную строку. Для этого в меню Windows Пуск в строке поиска введите команду cmd и нажмите Enter. После этого откроется командное окно, в котором нужно ввести следующую команду.

После чего, если отобразится информация об установленной версии java, то установка прошла успешно.

Частые проблемы:

  • «java» не является внутренней или внешней командой, исполняемой программой или пакетным файлом.

Проверьте правильность пути, прописанного в PATH. Старайтесь избегать пробелов в названии папки, в которую производите установку JDK. Если вы считае, что путь прописан правильно, то следует убедиться, что в дирpектории, которая прописана в строке PATH присутствует файл javac.exe, и что установленна была именно JDK, а не JDE,

Возникает в следствии установки версии Java, не соответствующей разрядности системы (например, при установке 64 разрядной версии Java в 32-разрядную операционную систему).

  • Ошибка, призывающая проверить JAVA_HOME

Проверить, что в этой переменной хранится путь к установленной JAVA (без bin)