Создание первой программы на Java

Чтобы научиться программировать, необходимо как можно больше кодить. Перефразируя известного советского деятеля, главным лозунгом начинающего программиста должно быть «Кодить, кодить и еще раз кодить!». Поэтому мы начнем с написания нашей первой программы. Так уже исторически сложилось, первой программой, которую пишут на новом языке программирования, является вывод «Hello, World!» Этим мы и займемся.
Открываем среду разработки (Eclipse, IntelliJ IDEA или еще что-то, смотря что Вы установили у себя на компьютере) и делаем следующее:
Проект — это, упрощенно говоря, набор файлов и папок, которые относятся к Вашей задаче. В большинстве IDE (англ. Integrated development environment — интегрированная среда разработки; программа, в которой пишут другие программы) для создания проекта нужно нажать «Файл» — «Создать проект», а дальше настроить параметры проекта. Детальнее об этом можно прочитать в статье «Установка Eclipse»
-
- 2. Создаем файл, в котором будем писать программу
Для создания файла нажмите правой кнопкой мыши на папку «src» в Вашем проекте, выберите «Новый/New» — «Java класс/Java class/Class». В поле для ввода введите название класса. О деталях названия класса можете прочитать в статье Что такое CamelCase или CamelStyle, а для данного примера введите слово «Test». Нажмите ОК
В результате выполнения предыдущего пункта перед Вами откроется окно, куда можно что-то вписать. Тут, собственно, мы и будем писать программу. Программа, которая выводит в консоль фразу «Hello World» выглядит следующим образом:
Как написать программу в java

Java с нуля: первая программа
Java с нуля: первая программа (ч. 1)Этой статьей мы начинаем цикл публикаций для абсолютных новичков в Java. В последующих материалах будут рассмотрены, ко всему прочему, такие темы, как работа с Git, GitHub, командной строкой и многое другое — мы разберем весь набор инструментов и тем, необходимый начинающему Java-джентльмену.
Чтобы написать свою первую программу, требуется не так много усилий. При этом даже можно не устанавливать никакие приложения: ни среду разработки, ни текстовый редактор, ни даже Java — ничего!
Чтобы познакомиться с языком, достаточно открыть любой онлайн-редактор кода, поддерживающий Java. Пишем в гугле java compiler online и выбираем понравившийся. Я остановлюсь на этом: он простой, выглядит хорошо и обладает всеми необходимыми на данном этапе возможностями.
В последующих статьях мы будем использовать для написания кода текстовый редактор Sublime Text, а затем окончательно перейдем на профессиональную среду разработки Intellij IDEA.
1. Первая программа
Откройте онлайн-редактор и удалите все, что там написано. Затем наберите в нем в точности, включая все пробелы и отступы, следующие строки кода:
public class MyFirstApp < public static void main(String[] args) < System.out.println("Write once, run anywhere"); >>Переименуйте имя файла в MyFirstApp.java, чтобы оно совпадало с именем класса, который мы в него поместили.
Для запуска программы нажмите Run.

Если все сделано верно, то в консоли отобразится текст: Write once, run anywhere. Переводится, как «Написано однажды, работает везде» — это девиз Java.
Если в коде есть какие-то проблемы, то выведется ошибка. Для ее устранения нужно еще раз внимательно сверить свой код с предложенным выше.
А теперь попробуем разобраться с самой программой.
Чтобы во всех подробностях объяснить каждую строчку даже этой маленькой программки, нам пришлось бы предварительно изучить множество тем, о которых мы еще ничего не знаем. Поэтому рассмотрим код на том уровне, которого будет сейчас достаточно для общего понимания его работы.
2. Объявление класса
Удалим лишний код программы, чтобы он не отвлекал. Будем добавлять его по мере необходимости.public class MyFirstApp
В первой строке мы сообщаем, что здесь начинается программа или, если говорить в терминах Java, объявляется класс.
Чтобы было проще понять, что такое класс, его можно воспринимать как способ организации или оформления кода в файле. К нему также подойдет аналогия с контейнером для кода. Все программы в Java записываются внутри подобных классов. Выглядит это немного замысловато, но вы привыкнете.
В строке 1 и 3 используются фигурные скобки, открывающаяся < и закрывающаяся >, идущие всегда парой. Они являются ограничителями, показывающими, где начинается и заканчивается класс. Все, что находится внутри этих скобок, называется телом класса.
В некоторых языках программирования < ставится на новой строке, а не на той, где объявляется класс или другие конструкции языка.
public class MyFirstApp < public static void main(String[] args) < System.out.println("Write once, run anywhere"); >>Никогда так не пишите, даже если увидите такой стиль в суперпопулярных книжках от именитых программистов. Дело в том, что все эти люди когда-то давно писали на языке С и С++ и переняли из них привычку ставить скобки в их стиле. Так исторически сложилось, а переучиваться они не видят смысла. Но вам нужно писать правильно, как принято в современном Java-мире!
2.1. Разбор кода
Рассмотрим строку с объявлением класса чуть подробнее. Она состоит из ряда слов, идущих последовательно в определенном порядке.
public — модификатор доступа, делающий данный класс публичным, общедоступным — мы его ни от кого не прячем.
Да, в Java одни классы можно прятать от других классов, библиотек и т. д. Зачем это делать, сейчас сложно объяснить, т. к. еще не хватает знаний. Но в качестве примера можно привести ситуацию, когда Гарри Поттер надел на себя мантию-невидимку и не хотел, чтобы Северус Снегг видел его, а значит, заговорил с ним, попросил что-то, отправил куда-то и т. д. Также и мы можем не хотеть, чтобы один класс мог видеть и использовать другой класс.
class — ключевое слово, сообщающее о том, что данная конструкция описывает класс, а не что-то другое.
Имя класса (с большой буквы) — позволяет отличать один класс от другого. Программа может состоять из сотен и тысяч классов, а хорошо продуманные имена позволяют в них хоть как-то ориентироваться.
Наверное, вы обратили внимание на способ написания имени класса MyFirstApp, когда все слова начинаются с большой буквы. Это делает их похожими на верблюжьи горбы. Поэтому данный способ называется CamelCase. Существуют и другие, но в Java используется именно этот.
public и class являются зарезервированными (ключевыми) словами Java. Таких слов много. Со временем вы будете знать их все.
Также стоит помнить, что имя файла должно в точности повторять, включая первую большую букву, имя класса, описанного в нем. В нашем случае и класс и файл имеют имя MyFirstApp. Это очень удобно, потому что не нужно открывать файл, чтобы узнать, какой класс в нем описан. Достаточно посмотреть на имя файла.
Программа будет работать даже, если имя файла написать с маленькой буквы. Но все разработчики Java следуют соглашению, что имя файла должно начинаться с большой буквы. Привыкайте к таким правилам и тоже придерживайтесь их.
Немаловажно отметить, что файлы, содержащие Java-код, имеют расширение .java, например, MyFirstApp.java, Player.java, Person.java и т. д.
Подведем промежуточный итог, выделив ряд правил, которые мы прошли (их нужно запомнить):
- для объявления класса необходимо использовать запись вида publicclassИмяКласса
- для обозначения начала и конца объявления класса используются парные фигурные скобки < >
- имя класса принято начинать с большой буквы
- при именовании класса необходимо использовать CamelCase
- имя файла и класса должны совпадать
- файл с Java-кодом должен иметь расширение .java
3. Метод main()
Границы программы заданы, класс объявлен. Далее реализуем в нем какую-то функциональность. Для этого нужно объявить (создать) метод.
public class MyFirstApp < public static void main(String[] args) < >>В других языках эта конструкция может называться процедурой или функцией. В Java — называется методом. Это блок кода, который выполняет какую-то полезную работу. Это функциональная возможность класса, т. е. то, что он умеет делать.
Метод, как и класс, записывается по определенным правилам и тоже содержит ряд ключевых слов и фигурные скобки, обозначающие его границы.
Метод main() — непростой метод: он отвечает за запуск программы, и его внешний вид строго декларирован (утвержден).

3.1. Разбор кода
Разберем, из чего состоит объявление метода main().public — так же, как и для класса сообщает о том, что метод является публичным, общедоступным (да, методы тоже можно прятать или оставлять открытыми). В данном случае мы его не скрываем от JVM (Java Virtual Machine — виртуальная машина Java, в которой запускаются и работают Java-программы), чтобы она могла выполнить его независимо от того, где находится класс с этим методом или сама JVM.
static — сейчас понять назначение этого слова будет тяжело, т. к. чтобы про него рассказать, требуется разобрать дополнительные темы, которые мы еще не проходили. На данном этапе достаточно знать, что модификатор static позволяет JVM запускать метод main() без дополнительных действий с ее стороны.
В качестве аналогии можно привести кота, у которого есть кормушка с кнопкой. Чтобы начать использовать кормушку, коту не нужно ее строить. Он жмет кнопку и получает корм. В нашем случае виртуальная машина просто запускает метод main(), не создавая экземпляр класса, в котором он находится (примите эту информацию как есть. В последующих статьях мы подробнее раскроем эту тему).
void — указывает на тип возвращаемого значения. Каждый метод внутри себя выполняет какую-то деятельность. Результатом этой работы может быть какое-то значение. Например, результатом работы метода, который складывает два числа 2 + 2 является новое число 4. Это значение он может передать дальше в программу, либо оно навсегда останется в нем.
Снова обратимся к коту за аналогией. Он подходит к электронной кормушке, нажимает кнопку и получает порцию корма. В данном случае результатом работы кормушки является корм, который он передает коту. А тот его уже дальше использует по своему назначению.
Во второй ситуации кот подходит к холодильнику. Результатом его работы является сохраненный холодом от порчи корм. Кот на этот раз ничего не получает. Корм остается в холодильнике.
В нашем случае слово void означает, что метод не возвращает никакого значения, т. е. результатом его работы не является что-то, что мы могли бы использовать за пределами метода main(). В этом случае мы похожи на кота, которому холодильник ничего не дал.
main — имя метода. Позволяет отличать один метод от другого, т. к. класс может содержать огромное их количество. В нашем случае метод называется main, т. е. «главный», «основной». Имена методов в Java принято записывать с маленькой буквы.
( ) — парные круглые скобки, выполняющие две функции: сообщают, что перед нами метод; а также могут внутри себя содержать описание принимаемых аргументов.
String[] args — принимаемые методом аргументы. В данном случае метод main() принимает в качестве аргумента массив строк, который называется args. Чтобы представить, что такое массив, подумайте о коробке конфет или о лотке для яиц. Это все массивы, где хранятся элементы одного типа: либо только конфеты, либо только яйца. С массивами мы детально разберемся в другой статье.
Тут можно привести пример со стиральной машиной, которую перед запуском можно настроить на нужный режим стирки. Нажимая все ее кнопки, вы передаете в нее аргументы с определенными значениями: время стирки, нужен ли отжим, тип материала и т. д.
— парные фигурные скобки, задающие границы метода: все, что находится внутри них, называется телом метода.
Как я написал выше, main() — это не простой метод. Это — самый главный метод. Его еще называют точкой входа в программу. При запуске программы, в первую очередь, запускается именно он. Внешний вид объявления метода строго декларирован и прописан в спецификации языка. Если его изменить, то JVM не сможет найти метод main(), и программа не запустится, выдав ошибку.
Простейшая программа
— Меня недавно профессор хвалил – радовался, что я быстро прогрессирую благодаря его лекциям.
— Ты прогрессируешь именно благодаря лекциям профессора. Да-да! Ему самому не смешно?!
— Ладно, проехали. Сегодня у меня для тебя есть кое-что интересное. Я расскажу тебе, как написать простейшую программу. Все очень просто. Минимальная программа состоит из одного класса и содержит один метод – main(). Вот как это выглядит.
Простейшая программа
public class MainClass < public static void main(String[] args) < System.out.println("Поцелуй мой блестящий металлический зад!"); >>— Это я уже раньше видел, так что — понятно.
— Но простейшие программы никому не нужны. Чем более сложную задачу решает программа, тем она круче. Поэтому программы, состоящие из тысяч классов – это норма.
— Средняя программа – это та, которую пишет команда из 10 человек 2-3 года.
— А какая же программа – большая?
— Ну, например, которую пишет лет 5 команда от 100 человек.
— 500 с лишним человеко-лет? Ничего себе!
— А то! И Java — это один из лучших языков программирования для написания больших и очень больших задач.
— Мне даже страшно спрашивать, что такое очень большая задача.
— Молодец, быстро схватываешь.
— Так вот, программисты быстро сообразили, что ориентироваться в тысячах классов не просто, и придумали специальные программы, которые в разы ускоряли процесс написания программ. И чем больше программа, которую пишешь, тем заметнее польза.
— Т.е. программисты придумали программу для написания программ?
— Да, а чему ты удивляешься? Программа – это в первую очередь инструмент, созданный для автоматизации каких-то рутинных операций. А если ты пишешь код несколько лет, то таких операций у тебя очень много.
— Программы для разработки программ называются IDE: Integrated Development Environment – Интегрированная Среда Разработки.
— Сегодня ты познакомишься с одной из них.
— Нет, не так – сегодня ты познакомишься с лучшей из них! Ее имя — Intellij IDEA, она станет тебе другом на многие годы. Она как старший товарищ, который всегда подскажет и поможет.
— Ты меня заинтриговал!
— Ну, если ты не собираешься писать программы в Word’е, тогда тебе нужна шикарная среда разработки, так ведь? Мы — роботы, предпочитаем Intellij IDEA Community Edition (бесплатная версия). Скачай и установи её последнюю версию.
Подсказка 2
Бесплатная версия называется IntelliJ IDEA Community Edition. Ее полностью хватает для обучения на JavaRush.
Подсказка 3
— Так же тебе нужно будет установить JDK (java development kit). JDK – это «Набор Java Разработчика» от, собственно, разработчиков платформы Java. В состав JDK входит Java-машина, компилятор Java-классов и еще много всего, что может понадобиться опытному Java-разработчику.
— А чем плох нынешний метод написания программ – через сайт?
— Для маленьких программ он удобен, но большие лучше писать в Intellij IDEA. Мы же из тебя готовим профессионального программиста, так что, чем раньше ты освоишь такие крутые инструменты, тем лучше. Да не пугайся ты так – это программа создана для того, чтобы облегчить тебе жизнь, а не усложнить. Ты быстро к ней привыкнешь и потом тебя за уши не оттащишь.
— Чтобы научиться писать программы — нужно писать программы. Для этого тебе нужно установить Intellij IDEA и JDK на свой компьютер. Скачай в интернете Open JDK 14.
Если ты загрузил Open JDK 14 в видео-инструкции по установке IntelliJ IDEA, то пропускай этот шаг.
Подсказка 1
Для начала, зайди на сайт https://jdk.java.net/14/
Выглядеть он будет примерно так:
В разделе Builds кликни на версию JDK для своей ОС, чтобы началась загрузка.
Скачанную папку нужно разархивировать. Желательно переместить ее в надежное место, чтобы случайно не удалить. Путь к папке c JDK нужно указать в IDEA в разделе Project SDK. File -> Project Structure -> Project SDK -> Add Jdk
Подсказка 2
Если у вас Linux — вы знаете, что делать.
— Закрепим теорию практическим заданием.
Возникли проблемы с установкой? Напиши в поддержку: support@javarush.com или виджет в нижнем правом углу страницы. Описание проблемы, скриншоты и версия ОС помогут с решением проблемы.
Создание простейшего приложения на 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.
Но все же — запуск приложения из среды не был нашей целью, а целью было понять с каких классов можно начать создание приложения.
Крутых девелоперов просьба не ругать — вы и так все знаете! А лучше поругайте — тогда будет понятно что неправильно.
Просьба перед оценкой статьи оставить конструктивный комментарий.
