Public class main java что это
1.5 Первая программа Java
1.5 Первая программа Java
Теперь давайте посмотрим на простую программу, написанную на языке Java.
1.5.1 Программа Hello World!
1.5.2 Описание «Hello World»
Теперь подробно разберёмся в коде и попробуем понять его синтаксис.
import j ava.io.*;
Эта строка объявляет класс по имени HelloWorld. При создании класса используется ключевое слово class вместе с именем класса/именем файла.
Обратите внимание: принято, чтобы имя класса начиналось с заглавной буквы.
Ключевое слово static позволяет методу main() вызываться без потребности создавать образец класса. К объекту класса нельзя обратиться, не создав это. Но в этом случае, есть копия этого метода, доступного в памяти после того, как класс расположен, даже если не был создан образец этого класса. Это важно, потому что JVM вызывает этот метод в первую очередь. Следовательно этот метод должен быть как static и не должен зависеть от экземпляров любого создаваемого класса.
Ключевое слово void говорит компилятору, что метод не возвращает никакого значения.
main ()— метод, который исполняет специфическую задачу. Это место с которого начинается выполнение всех приложений Java. Класс, который не имеет основного метода, может быть успешно откомпилирован, но не может быть выполнен, поскольку он не имеет отправной точки выполнения, которой является main() метод.
Эта запись отображает строку экране. Вывод строки осуществляется с помощью метода println (). println () отображает только строку, которая передаётся со справкой System.out.
Все инструкции в Java заканчиваются точкой с запятой (;).
Чтобы скомпилировать исходный текст, выполните команду javac, определяя название исходного файла в командной строке:
Рисунок 1.4: Компилирование файла a.java
Компилятор Java создает файл HelloWorld.class, который содержит байт-коды, и которые не могут быть непосредственно выполнены. Мы должны использовать интерпретатор Java, чтобы выполнить этот код-
Рисунок 1.5: Выполнение файла a.java
Вывод на экран отображается так:
Welcome to the world of Java
public static void main(String[] args) – основной метод Java
public static void main(строковые аргументы[]), основной метод java. Точка входа в java-программу. общедоступные статические пустые аргументы основной строки, аргументы командной строки java
public static void main(String[] args) является наиболее важным методом Java. Когда вы начинаете изучать программирование на Java, это первый метод, с которым вы сталкиваетесь. Помните первую написанную вами программу Java Hello World, которая запускает и печатает “Hello World”?
общедоступная статическая пустота main(строка[] args)
Давайте внимательно рассмотрим основной метод java и попытаемся понять каждую из его частей.
общественный
статический
Когда запускается среда выполнения java, объект класса отсутствует. Вот почему основной метод должен быть статическим, чтобы JVM могла загрузить класс в память и вызвать основной метод. Если основной метод не будет статическим, JVM не сможет его вызвать, потому что в нем нет объекта класса. Давайте посмотрим, что произойдет, когда мы удалим статику из основного метода java.
пустота
Мы получаем ошибку ниже, когда вышеописанная программа компилируется.
главный
Это имя основного метода java. Это исправлено, и когда мы запускаем программу на Java, она ищет основной метод. Например, если у нас есть класс, как показано ниже.
И мы попытаемся запустить эту программу, она выдаст ошибку, что основной метод не найден.
Строка[] args
Метод Java main принимает один аргумент типа String array. Это также называется аргументами командной строки java. Давайте рассмотрим пример использования аргументов командной строки java.
Выше приведена простая программа, в которой мы печатаем аргументы командной строки. Давайте посмотрим, как передавать аргументы командной строки при выполнении вышеуказанной программы.
Аргументы командной строки основного метода Java в Eclipse
На приведенных ниже изображениях показано, как передавать аргументы командной строки при выполнении программы java в Eclipse.
Зона кода
Эту статью я написал несколько лет назад для другого сайта, но она так и не была опубликована. Тогда 7-я версия Java только-только появилась на свет, а 6-я была всё ещё актуальна. Статья адресована, в первую очередь тем, кто начинает знакомиться с языком Java. Я решил стряхнуть с неё пыль и опубликовать: пусть будет!
Здравствуйте, уважаемый читатель! Эта статья состоит из двух частей.
Первая из них адресована новичкам, которые только-только приступают к изучению Java и, возможно, не написали ещё ни одной программы на этом языке.
Новичкам
Метод main() должен объявляться в классе следующим образом:
Ключевое слово public означает, что метод main() доступен везде, где доступен содержащий его класс. Ключевое слово static означает, что метод является статическим, т. е. не требует для своего вызова наличие экземпляра класса. Ключевое слово void означает, что метод не возвращает никакого значения. Все эти три слова обязательно должны присутствовать в описании метода.
Вместо имени массива args можно использовать любое другое имя. Например, следующее описание main() вполне корректно.
Сохраним код класса MainTest в файле с именем MainTest.java и скомпилируем этот файл командой
java MainTest Это всего лишь проверка!
Если нет проблем с отображением кириллицы, то в результате выполнения команды на консоль будет выведено:
Это
всего
лишь
проверка!
Метод main() может вызываться не только виртуальной машиной Java, но и любым другим методом. Например, main() может быть рекурсивным, т. е. может вызывать сам себя. В этом отношении main() ничем не отличается от остальных методов.
В следующем примере (весьма вычурном) метод main() рекурсивен. При каждом вызове метода, за исключением последнего, на печать выводится один аргумент командной строки.
Новичкам и не только
В Интернете на форумах, посвящённых Java, я нередко встречал любопытную задачку: написать класс, метод main() которого имеет пустое тело, выводящий на консоль надпись “Hello world!”. Полагаю, что эта задача известна многим из тех, кто интересуется Java.
Статический блок имеет некоторое сходство со статическим методом. Отличается он от последнего тем, что не имеет имени, не принимает параметров, не возвращает значения (а значит, не может содержать инструкции return ) и не вызывается явно. Так же как и статический метод, статический блок может содержать обращения к статическим полям и методам класса.
Статические блоки используются редко. Как правило, в их задачи входит инициализация статических полей класса.
Ну а мы поместим в статический блок инструкцию вывода на консоль строки “Hello world!”:
Можно скомпилировать класс, запустить на выполнение и удостовериться в том, что с поставленной задачей он вполне успешно справляется.
На консоль будет выведено:
Привет от static-блока!
Привет от метода main()!
Вот код, демонстрирующий данный подход:
И вот тут начинается самое интересное! Я компилировал и запускал этот класс с использованием комплектов разработки на языке Java (JDK) трёх разных версий: jdk1.6_021, jdk1.6_024 и jdk1.7.0_01. Во всех трёх случаях код компилировался без проблем. А вот с запуском класса проблемы возникали.
Для начала, оговорюсь, что каждый файл с расширением class запускался под управлением “своей” виртуальной машины Java, т. е. входящей в тот JDK, посредством которого этот файл был получен в результате компиляции.
Итак, в последних двух случаях на экран выводилась надпись:
Error: Main method not found in class WithoutMain, please define the main method as: public static void main(String[] args)
Таким образом, не выполнялся даже код, входящий в статический блок. А вот в первом случае на консоль выводилось следующее:
HelloWorld!
Exception in thread «main» java.lang.NoSuchMethodError: main
Выполнение программы приводит к следующему выводу на консоль:
Основной метод Java – main method
Программа Java – это последовательность инструкций, которые выполняются в определенном порядке. Поскольку инструкции выполняются в определенном порядке, Java-программа имеет начало и конец.
Для выполнения вашей программы вам необходимо указать виртуальной машине, с чего начать выполнение программы. Все инструкции(код) должны находиться внутри класса. Класс – это способ группировки данных и инструкций, которые принадлежат друг другу. Таким образом, класс может содержать как переменные, так и методы. Переменная может содержать данные, а метод группирует набор операций над данными(инструкции). Не так страшно, если вы еще не до конца поняли это. Начнем разбираться.
Простое объявление класса Java
Объявление простого класса без каких-либо переменных, методов или любых других инструкций выглядит следующим образом:
Рекомендуется размещать свой класс в пакете Java. Пакет Java – это просто каталог в вашей файловой системе, который может содержать один или несколько файлов. Пакеты могут быть вложенными, как каталоги.
Например, вы можете создать пакет с именем myjavacode, который будет соответствовать каталогу на вашем жестком диске с именем myjavacode.
Если вы находите класс внутри пакета, вы должны указать имя пакета в верхней части файла. Вот как выглядит класс с добавлением объявления пакета:
Примечание. Файл MyClass.java должен теперь находиться в каталоге myjavacode и содержать объявление пакета package myjavacode; Недостаточно, чтобы файл находился в правильном каталоге. Также недостаточно просто иметь объявление пакета внутри файла. Оба требования должны быть выполнены.
main() метод
Три ключевых слова public, static и void имеют особое значение. Просто помните, что для объявления метода main() нужны эти три ключевых слова.
После трех ключевых слов у вас есть имя метода. Напомним, что метод – это набор инструкций, которые могут быть выполнены, как если бы они были одной операцией. Вызывая(выполняя) метод, вы выполняете все инструкции внутри этого метода.
После имени метода сначала ставится левая скобка, а затем список параметров. Параметры – это переменные(данные / значения), которые мы можем передать методу, который может использоваться инструкциями в методе для настройки его поведения. Основной метод всегда должен принимать массив объектов String. Вы объявляете массив объектов String следующим образом:
Расскажу о том, что такое String или что такое массив в следующих уроках. Не имеет значения, какое имя вы даете параметру. Ранее в примере с методом main() я вызывал параметр аргумента массива String, а во втором – строковый массив. Вы можете выбрать имя любое.
После списка параметров метода следует сначала левая фигурная скобка(<), затем некоторое пустое пространство, а затем правая фигурная скобка(>). Внутри фигурных скобок инструкции, которые должны выполняться при выполнении основного метода. В приведенном выше примере нет никаких инструкций для выполнения. Метод пуст.
Давайте вставим одну инструкцию в основное тело метода. Вот пример:
Теперь основной метод содержит эту единственную инструкцию:
Эта инструкция выведет текст Hello World, Java Program. Если вы запустите свою программу из командной строки, вы увидите вывод в консоли командной строки. Если вы запускаете из IDE, IDE обычно перехватывает весь вывод на консоль и делает его видимым для вас где-то внутри IDE.
Запуск метода main()
Когда вы запускаете программу, вы обычно делаете это через командную строку(консоль). Вы вызываете команду, которая поставляется вместе с JRE, и указываете, какой класс выполнять и какие аргументы передавать методу main(). Затем Java-приложение выполняется внутри JVM. Вот диаграмма, иллюстрирующая это:
Вот пример командной строки:
Передача аргументов
Вы можете передавать аргументы из командной строки в метод main().
Когда JVM выполняет метод main() myjavacode.MyClass, массив String, передаваемый в качестве параметра методу main(), будет содержать две строки: «Hello» и «World».
Метод может получить доступ к аргументам из командной строки следующим образом:
Обратите внимание на ссылки на элемент 0 и элемент 1 в массиве args(args [0] и args [1]). args [0] будет содержать строку(текст) Hello, а args [1] будет содержать мир строки.
В вашем проекте может быть столько классов, сколько вы хотите, с методом main(). Но виртуальной машине можно поручить запускать только один из них одновременно.
Public class main java что это
В этой статье из моего курса Java я буду обсуждать метод public static void main (String[] args). До этого момента в серии мы запускали наш код только через фреймворк JUnit. Это здравая, методологическая практика, однако она отличается от того, как наша программа будет работать в производстве. Теперь давайте рассмотрим, как наш код будет работать вне среды разработки.
public static void main
Давайте рассмотрим каждую часть метода в деталях:
Оба кода распознаются JRE. Кроме того, одна вещь о главном методе, который вы можете найти интересным, заключается в том, что вам даже не нужно использовать массив – вы можете заменить массив параметром переменной длины:
Входной параметр, показанный здесь похож на более гибкую версию массива – если вы непосредственно вызываете этот метод, например из теста, он имеет преимущество в принятии переменного числа строковых аргументов, например main(“BMW”, “Porsche”, “Mercedes”), без необходимости создавать массив заранее. Честно говоря, я никогда не использую такой параметр для основного метода, но я думаю, что это хорошая деталь, чтобы знать и хвастаться ;-).
Это код создаст метод с именем main, но он не будет распознан как «основной» метод, и поэтому программа не сможет работать, используя этот метод в качестве отправной точки.
Давайте создадим класс calledCarSelector и добавим к нему метод main. Он выводит каждый из аргументов командной строки обратно на консоль:
С помощью основного метода мы можем выполнить этот код без использования тест для вызова, как мы делали до текущего момента.
Компиляция c помощью командной строки
Чтобы запустить нашу программу из командной строки, мы должны сначала перейти в корневую папку нашего исходного кода. В нашем случае это src/main/ java. Кроме того, это структура папок по умолчанию для “Maven», инструмента управления сборкой, который я выделил ранее, когда говорил об инструментах Java.
Для компиляции кода мы вводим:
Это создаст файл под названием CarSelector.класс в той же папке, что и CarSelector.java, и мы, наконец, можем выполнить нашу программу:
Как вы можете видеть, вызов нашего класса без каких-либо аргументов на самом деле ничего не делает. Так что давайте добавим несколько аргументов:
Ура! Мы успешно выполнили нашу собственную программу с консоли!
Запуск программы с помощью IntelliJ IDEA
Чтобы запустить нашу программу из IntelliJ IDEA, мы просто щелкаем правой кнопкой мыши метод и выбираем » Run ‘CarSelector.main’ » из контекстного меню.
Если мы изменим сигнатуру метода main(), то запустим CarSelector.команда main исчезнет из контекстного меню, так как у нас больше не будет действительной точки входа. Однако, когда мы запускаем его, ничего не печатается. Это происходит потому, что никто не передает методу main() никаких аргументов. Для этого в IDE: в меню «Run“ выберите ”edit configurations…. “, а во вкладке ”конфигурация“ добавьте разделенные пробелами строки в ” Program Parameters».
Теперь, когда мы запускаем метод main (), мы видим, что наши автомобили успешно выводятся на консоль.
Если вы закончили еще один курс Java до этого, или даже если это ваш первый курс, вы можете задаться вопросом, почему я отложил введение метода main() до этого относительно продвинутого этапа в курсе. Я сделал это по нескольким причинам. Во-первых, я считаю, что важно дать вам инструменты, чтобы полностью понять что-то, прежде чем я представлю его. Если бы вы не знали, что такое public static void, или не знали, что такое массив, было бы нечестно учить вас этому. Теперь, когда у вас есть некоторые знания обо всех этих вещах, вы можете начать полностью понимать, как работает этот метод.
Еще одна причина, по которой я решил отложить это обсуждение на столь долгое время, заключается в том, что в объектно-ориентированной разработке статические переменные и методы должны использоваться редко. Есть несколько случаев, когда вы используете статический модификатор, но я не хочу продвигать его использование в этом курсе.
Наконец, вам редко придется писать основной метод самостоятельно (если вы не будете программировать в одиночку). Для каждой программы (любого размера) существует только один основной метод, и к тому времени, когда вы присоединились к проекту, он, вероятно, уже был написан кем-то другим.
статьи IT, уроки по java, java, методы