Создание простейшего приложения на Java
В этой статье речь идет об организации простейшего приложения на Java для начинающих разработчиков, которые уже изучили концепции объектного подхода. Но для опытных возможно тоже будет интересно.
Зачастую начинающие разработчики задают вопроc: «С чего начать создание приложения», какие классы использовать и прочее.
Не стоит воспринимать статью как пример «Hello World» для начинающих изучать язык Java и объектно-ориентированный подход. Предполагается, что читатель уже знаком с языком Java, однако у него возникают вопросы указанные выше.
В этой статье мы даем ответ на эти вопросы.
Для того, чтобы строить приложение постепенно, используя концепции объектно-ориентированного подхода мы будем представлять все элементы нашего приложения в виде объектов соответствующих классов. Поэтому приложение тоже будет отдельным классом. Для запуска приложения будем создавать его экземпляр.
Теперь более подробно…
Сначала создается класс Application — он будет моделью всего приложения.
public class Application
Далее создаем точку входа в приложение — метод main:
public class Application < public static void main(String[] args) < >>
Этот метод выполняется при запуске Java с указанием основого класса (Application). В нем мы создаем экземпляр приложения и инициализируем его, а далее запускаем. Для этого будем использовать методы init и run:
public class Application < public void init() < >public void run() < >public static void main(String[] args) < Application application = new Application(); application.init(); application.run(); >>
В методе init мы делаем необходимую инициализацию приложения. В методе run же распологается основной код хода приложения.
Метод init можно не использовать, однако мы исходим из того, что наше приложение проходит две стадии — инициализация и запуск.
Остальные элементы нашего приложения можно разбить на модельные классы и виды (окна, панели). Например, представим, что мы создаем простейший кредитный калькулятор. Тогда класс CreditCalculator — будет моделью калькулятора. В методе init будем инициализировать калькулятор, а в run вычислять:
public class Application < private CreditCalculator calculator; public void init() < calculator = new CreditCalculator(); >public void run() < calculator.setAmount(500000); calculator.setYears(3); calculator.calculate(); System.out.println("Месячный платеж: " + calculator.getMonthlyPayment()); >public static void main(String[] args) < Application application = new Application(); application.init(); application.run(); >>
Таким образом, создание приложения можно начать с создания класса Application и далее добавлять необходимые модельные классы с которыми требуется работать.
Теперь о том, как запустить приложение
Мы будем исходить из того, что вы используете среду разработки Eclipse, Intellij IDEA или NetBeans. И класс Application создали именно в ней. В этих же средах для запуска нужно вызвать контекстное меню и нажать Run… или Run As Application в редакторе класса Application.
Но все же — запуск приложения из среды не был нашей целью, а целью было понять с каких классов можно начать создание приложения.
Крутых девелоперов просьба не ругать — вы и так все знаете! А лучше поругайте — тогда будет понятно что неправильно.
Просьба перед оценкой статьи оставить конструктивный комментарий.
Как создать приложение на java для windows
Итак, после установки JDK создадим первое приложение на языке Java. Что необходимо для создания программы на Java? Прежде всего нам надо написать код программы, и для этого нужен текстовый редактор. Можно использовать любой текстовый редактор, например, Notepad++.
И чтобы превратить код программы в исполняемое приложение необходим компилятор. После установки JDK все файлы по умолчанию помещаются в каталог C:\Program Files\Java\jdk-[номер_версии] (при использовании ОС Windows). В моем случае это каталог C:\Program Files\Java\jdk-19 . Если мы откроем в нем подкаталог bin , то мы сможем увидеть в нем ряд утилит. Нас прежде всего интересует утилита компилятора javac . Чтобы скомпилировать класс программы, нам надо передать ее код этому компилятору.

Также следует отметить другую утилиту из этой папки — java.exe, которая позволяет запускать скомпилированную программу.
Итак, создадим на жестком диске какой-нибудь каталог, в котором будут располагаться файлы с исходным кодом на языке Java. Допустим, это будет каталог C:/Java . Затем создадим в этом каталоге текстовый файл, который переименуем в Program.java . Откроем этот файл в любом текстовом редакторе и наберем в нем следующую программу:
public class Program < public static void main (String args[])< System.out.println("Hello Java!"); >>
Java является объектно-ориентированным языком, поэтому вся программа представляется в виде набора взаимодействующих классов. В данном случае определен один класс Program.
При определении класса вначале идет модификатор доступа public , который указывает, что данный класс будет доступен всем, то есть мы сможем его запустить из командной строки. Далее идет ключевое слово class , а затем название класса. То есть класс называется Program. После названия в фигурных скобках расположено содержимое класса.
Класс может содержать различные переменные и методы. В данном случае у нас объявлен один метод main . Это главный метод в любой программе на Java, он является входной точкой программы и с него начинается все управление. Он обязательно должен присутствовать в программе.
Метод main также имеет модификатор public . Слово static указывает, что метод main — статический, а слово void — что он не возвращает никакого значения. Позже мы подробнее разберем, что все это значит.
Далее в скобках у нас идут параметры метода — String args[] — это массив args, который хранит значения типа String , то есть строки. В данном случае ни нам пока не нужны, но в реальной программе это те строковые параметры, которые передаются при запуске программы из командной строки.
После списка параметров в фигурных скобках идет тело метода — это собственно те инструкции, которые и будет выполнять метод. В данном случае фактически определени определена только одна инструкция — вывод на консоль некоторой строки. Для вывода на консоль используется встроенный метод System.out.println() . В этот метод передается выводимая строка. Каждая инструкция завершается точкой с запятой.
Теперь скомпилируем написанную программу. Откроем командную строку (в Windows) или терминал в Linux/MacOS и введем там соответствующие команды. Первым делом перейдем в каталог, где лежит наш файл с программой с помощью команды:
cd C:\Java
В данном случае файл находится в каталоге C:\Java.

Затем cкомпилируем программу с помощью команды
C:\Java>"C:\Program Files\Java\jdk-19\bin\javac" Program.java
Обратите внимание, что весь путь к компилятору javac берется в кавычки, а затем через пробел идет название нашего файла, который содержит класс программы.
После этого программа компилируется в байт-код, и в каталоге C:\Java можно будет найти новый файл Program.class . Это и будет файл с байт-кодом программы. Теперь нам надо его запустить с помощью утилиты java:
C:\Java>"C:\Program Files\Java\jdk-19\bin\java" Program
Здесь уже расширение у файла не надо использовать.
Для ОС Windows весь процесс будет выглядеть следующим образом:

Добавление java в переменную Path
Для компиляции приходится вводить полный путь к комилятору javac, что может быть сопряжено с ошибками при вводе, да и каждый раз вводить полный путь тоже неудобно. Чтобы в дальнейшем облегчить работу, добавим путь к JDK в переменную PATH в переменных среды. Если мы работаем в Windows, то для добавления переменной среды через поиск найдем найдем параметр Изменение системных переменных среды . Для этого введем в поле поиска «Изменение системных переменных среды»:

Выберем пункт Изменение системных переменных среды . И сначала нам откроется окно «Свойства системы», где нажмем на кнопку Переменные среды :

Затем нам откроется окно, где мы можем увидеть все переменные среды. (Также можно перейти через Параметры и пункт Система ->Дополнительные параметры системы ->Переменные среды )
Здесь нам нужно исправить системную переменную Path . Для этого выделим ее и нажмем на кнопку «Изменить»:

В эту переменную Path нам надо добавить путь к инструментам JDK. И тут есть два момента. Во-первых, при установке jdk по умолчанию ряд утилит также устанавливаются в папку C:\Program Files\Common Files\Oracle\Java\javapath . В том числе это такие файлы как java.exe и javac.exe. И путь к этой папке по умолчанию добавляется в перемнную Path. То есть мы можем использовать этот путь.
Второй момент — в последних сборках Windows компания Microsoft также устанавливает свои сборки JDK, точнее OpenJDK, которые также по умолчанию добавляются в переменную Path и которые мы также можем использовать. Но у этих сборок есть большой минус — они применяют одну из прошлых версий JDK (обычно это LTS-сборки). Например, в моем случае это 11-я версия, но текущая версия может отличаться (например, на написание данной статьи текущей являлась версия 19).
Чтобы использовать последнюю версию среди путей в переменной Path убедимся, что путь C:\Program Files\Common Files\Oracle\Java\javapath располагается выше путей к сборкам JDK от Microsoft. Для перемещения определенного пути вверх среди переменных среды можно использовать кнопку «Вверх:

Также можно напрямую использовать путь к JDK.

Для создания новой переменной надо нажать на кнопку «Создать» и ввести в новое поле путь «C:\Program Files\Java\jdk-[номер_версии]\bin». Но опять же его следуется с помощью кнопки Вверх поместить над путями к OpenJDK от Microsoft.
После установки переменной Path перейдем к командной строке/терминалу (в более старых версиях Windows может потребоваться перезауск командной строки) и для проверки версии введем команду
java -version
Консоль нам должна в ответ ввести номер только что установленной версии JDK (в моем случае 19-й версии):
java version "19.0.1" 2022-10-18 Java(TM) SE Runtime Environment (build 19.0.1+10-21) Java HotSpot(TM) 64-Bit Server VM (build 19.0.1+10-21, mixed mode, sharing)
И после этого можно вводить только названия утилит без полных путей:
Как написать программу для Windows на Java в Intellij Idea?
Давным давно писал программы под Windows на Delphi.
Теперь пишу для Андроид в Intellij Idea.
Как создать проект чтобы выполнялось в Windows?
- Вопрос задан более трёх лет назад
- 8134 просмотра
Комментировать
Решения вопроса 1
ох. в java вы создаёте приложения для исполнения в JVM. В этом есть своя кроссплатформенность, ибо где будет JVM, там вы и сможете запустить ваша приложение
при разработке на java в конечном итоге получится jar файл, который можно запустить на пк с установленной java (на windows, linux, mac. где хотите) командой
java -jar programm.jar
где programm.jar — ваше приложение.
Так же есть конвертеры а-ля java2exe, но их работоспособность проверять не доводилось.
Ответ написан более трёх лет назад
Комментировать
Нравится Комментировать
Ответы на вопрос 2

Виталий @silverhawk90
Серверный Java Developer
Ваш вопрос не корректно поставлен. Он похож на: Летели два верблюда — один рыжий, другой налево, сколько весит килограмм асфальта, если ежику 24 года?
Java приложение под windows
Существует прогамма, называющаяся Launch 4J. С помощью неё можно создать EXE файл из JAR файла, даже задав ему собственную иконку.
Примечание. Если работать в среде программирования Eclipse, то необходимо компилировать проект не в JAR file , а Runnable JAR file .
Отслеживать
ответ дан 14 мая 2016 в 17:48
2,510 5 5 золотых знаков 31 31 серебряный знак 60 60 бронзовых знаков
Допустим я сделал EXE файл с помощью программы Launch 4J. Могу я после этого запустить его без jre ?
14 мая 2016 в 20:34
Должно быть да. Попробуй. В Javadoc об этом не сказано. Нужно только чтобы желательно версии Jav’ы совпадали.
14 мая 2016 в 20:37
Возможно, гуглим java to exe, делается не тяжело, exe-файл вызывает java.exe и «натравливает» его на jar-файл как в командной строке, но весит много, если jre таскать с собой, а главное, зачем вообще для Windows писать приложения на Java, она для этого очень плохо подходит.
Отслеживать
ответ дан 14 мая 2016 в 16:52
user204455 user204455
39 3 3 бронзовых знака
Я же выше написал, что делаю GUI на Java. На изучение других языков может не хватить времени. Кстати, не согласен, что Java не подходит совсем для windows. Многие программы, которые я запуская на windows написаны на Java. Например, IntelliJ Idea, Keil uVision, CooCox и многие другие. Более того, два последних примера не портированы на Linux (что грустно, конечно).
14 мая 2016 в 20:40
@faoxis То есть вы вообще не видели других языков, но имеете мнение, что Java хорошо подходит для Windows? Ну-ну.