Что такое string args в java
Перейти к содержимому

Что такое string args в java

  • автор:

Урок 14. Метод public static void main

В этой статье из моего курса Java я буду обсуждать метод public static void main (String[] args). До этого момента в серии мы запускали наш код только через фреймворк JUnit. Это здравая, методологическая практика, однако она отличается от того, как наша программа будет работать в производстве. Теперь давайте рассмотрим, как наш код будет работать вне среды разработки.

public static void main

Изначально код, который вы пишете в компьютерной программе, — это просто статический текст, пассивно лежащий в файле. Для выполнения кода среда выполнения Java (JRE) отвечает за загрузку скомпилированной программы и запуск ее запуска. Для выполнения кода JRE нужна точка входа. При запуске класса Java из командной строки точкой входа, которую ищет JRE, является следующий метод:

public static void main (String[] args) < /* * JRE начинается с выполнения любого кода здесь */ >

Давайте рассмотрим каждую часть метода в деталях:

  • public — позволяет вызывать метод из-за пределов класса.
  • static — позволяет вызывать метод без создания экземпляра класса.
  • void — не возвращает значения.
  • main () — чтобы выполнить вашу программу, Java будет специально искать метод с именем «main».
  • String [] args — вы можете вызвать свою программу с несколькими аргументами. Ваша программа может получить доступ к этим аргументам из этого массива.
public static void main(String[] arguments) < /* * JRE начинается с выполнения любого кода здесь */ >

Оба кода распознаются JRE. Кроме того, одна вещь о главном методе, который вы можете найти интересным, заключается в том, что вам даже не нужно использовать массив – вы можете заменить массив параметром переменной длины:

ublic static void main(String. arguments) < /* * JRE начинается с выполнения любого кода здесь */ >

Входной параметр, показанный здесь похож на более гибкую версию массива – если вы непосредственно вызываете этот метод, например из теста, он имеет преимущество в принятии переменного числа строковых аргументов, например main(“BMW”, “Porsche”, “Mercedes”), без необходимости создавать массив заранее. Честно говоря, я никогда не использую такой параметр для основного метода, но я думаю, что это хорошая деталь, чтобы знать и хвастаться ;-).

Статический основной метод, который мы используем в качестве точки доступа, очень специфичен. Если вы измените его сверх того, что я обсуждал, он не будет работать так, как вы намереваетесь. Если вы хотите свести своих коллег с ума ; -), вы можете отклониться от этого шаблона, например, сделав метод int вместо void, как показано ниже:

public int main(String[] arguments)

Это код создаст метод с именем main, но он не будет распознан как «основной» метод, и поэтому программа не сможет работать, используя этот метод в качестве отправной точки.

Примеры кода

Давайте создадим класс calledCarSelector и добавим к нему метод main. Он выводит каждый из аргументов командной строки обратно на консоль:

public class CarSelector < public static void main(String[] arguments)< for (String argument: arguments) < System.out.println(“processing car:“ + argument); >>

С помощью основного метода мы можем выполнить этот код без использования тест для вызова, как мы делали до текущего момента.

Компиляция c помощью командной строки

Чтобы запустить нашу программу из командной строки, мы должны сначала перейти в корневую папку нашего исходного кода. В нашем случае это src/main/ java. Кроме того, это структура папок по умолчанию для “Maven», инструмента управления сборкой, который я выделил ранее, когда говорил об инструментах Java.

Для компиляции кода мы вводим:

javac ru/upread/javacourse/car/CarSelector.java

Это создаст файл под названием CarSelector.класс в той же папке, что и CarSelector.java, и мы, наконец, можем выполнить нашу программу:

java ru/upread/javacourse/car/CarSelector

Как вы можете видеть, вызов нашего класса без каких-либо аргументов на самом деле ничего не делает. Так что давайте добавим несколько аргументов:

java ru/upread/javacourse/car/CarSelector BMW Porsche Mercedes processing car: BMW processing car: Porsche processing car: Mercedes

Ура! Мы успешно выполнили нашу собственную программу с консоли!

Запуск программы с помощью IntelliJ IDEA

Чтобы запустить нашу программу из IntelliJ IDEA, мы просто щелкаем правой кнопкой мыши метод и выбираем » Run ‘CarSelector.main’ » из контекстного меню.

Если мы изменим сигнатуру метода main(), то запустим CarSelector.команда main исчезнет из контекстного меню, так как у нас больше не будет действительной точки входа. Однако, когда мы запускаем его, ничего не печатается. Это происходит потому, что никто не передает методу main() никаких аргументов. Для этого в IDE: в меню «Run“ выберите ”edit configurations…. “, а во вкладке ”конфигурация“ добавьте разделенные пробелами строки в ” Program Parameters».

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

Комментарий

Если вы закончили еще один курс Java до этого, или даже если это ваш первый курс, вы можете задаться вопросом, почему я отложил введение метода main() до этого относительно продвинутого этапа в курсе. Я сделал это по нескольким причинам. Во-первых, я считаю, что важно дать вам инструменты, чтобы полностью понять что-то, прежде чем я представлю его. Если бы вы не знали, что такое public static void, или не знали, что такое массив, было бы нечестно учить вас этому. Теперь, когда у вас есть некоторые знания обо всех этих вещах, вы можете начать полностью понимать, как работает этот метод.

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

Наконец, вам редко придется писать основной метод самостоятельно (если вы не будете программировать в одиночку). Для каждой программы (любого размера) существует только один основной метод, и к тому времени, когда вы присоединились к проекту, он, вероятно, уже был написан кем-то другим.

Автор этого материала — я — Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML — то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

статьи IT, уроки по java, java, методы

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

Как подать два параметра на вход метода main String args[]?

Первый — path — путь к директории, второй — resultFileAbsolutePath — имя (полный путь) существующего файла.

Отслеживать
6,998 6 6 золотых знаков 37 37 серебряных знаков 65 65 бронзовых знаков
задан 14 апр 2019 в 7:32
Magomet Bahadirov Magomet Bahadirov
59 5 5 бронзовых знаков
Если ответ помог вам, то примите его, нажав на стрелочку вверх рядом с ним и на галочку.
14 апр 2019 в 7:46

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

В Java метод main принимает массив String[] args . args — это аргументы командной строки, которые вы можете указать при запуске.

Другими словами, если вы запустите свою программу из командной строки как java MyProgram one two , то args будет содержать [«one», «two»] . Соответственно, вы можете запустить свою программу с нужными аргументами командной строки — java MyProgram .

Если вы запускаете программу из IntelliJ, то вы можете указать аргументы в самой IDE. Для этого выполните шаги ниже:

введите сюда описание изображения

В меню Run/Debug нажмите на Edit Configuration .

введите сюда описание изображения

В поле Program arguments введите аргументы командной строки. Источник(ruSO).

javeine

Для чего нужны аргументы командной строки String args[] в методе main?

Метод main() указывает интерпретатору класс, с которого нужно начать выполнение программы. Однако в языке Java разрешено использовать несколько методов с названием main() даже в одном классе. Поэтому по-настоящему главный метод содержит аргументы командной строки (String[] args).

public class Testmain public static void main(String[] args)

if(args.length > 0) // если через консоль были введены аргументы
System.out.println(args[0]); // то вывести на консоль первый элемент из массива

else < // иначе —
Testmain obj = new Testmain(); //создать объект
obj.main(); // и использовать обычный метод с названием main()
>
>

public static void main() < // это обычный метод с названием main()
System.out.println(«it’s usual main method without String[] args!»);
>
>
.

В командной строке консоли после команды java Testmain было введено три аргумента: 1 2 3. В программе строка System.out.println(args[0]); выводит на консоль первый аргумент массива args[0], в данном случае выведено 1.
Если же аргументы не были указаны через консоль, то выполняется блок оператора else, в котором вызывается обычный метод, но тоже названный main().

Дополнительная информация:
args в методе main() — это название массива String[] и оно может быть другим.

public class Testmain2 public static void main(String[] lalala)

if(lalala.length > 0) // если через консоль были введены аргументы
System.out.println(lalala[0]); // то вывести на консоль первый элемент из массива

else < // иначе —
Testmain2 obj = new Testmain2(); // создать объект
obj.main(); // и использовать обычный метод с названием main()
>
>

public static void main() < // это обычный метод с названием main()
System.out.println(«it’s usual main method without String[] lalala!»);
>
>
.

Аргументы командной строки в Java с примером

Аргумент командной строки в Java это информация, которая передается программе при ее выполнении. Передаваемая информация сохраняется в массиве строк, передаваемом в метод main(), и сохраняется в виде строки. Это информация, которая следует непосредственно за именем программы в командной строке во время ее запуска.

Пример

Во время занятий Демовы можете указать аргументы командной строки как

java Demo arg1 arg2 arg3 …

Аргументы командной строки в Java: важные моменты

  • Аргументы командной строки можно использовать для указания информации о конфигурации при запуске приложения.
  • Нет ограничений на количество аргументов командной строки Java. Вы можете указать любое количество аргументов
  • Информация передается как Струны.
  • Они фиксируются в строковых аргументах вашего основного метода.

Пример: изучение аргументов командной строки Java

Шаг 1) Скопируйте следующееwing код в редактор.

Шаг 3) Запустите код как java Демо-версия яблоко-апельсин.

Аргументы командной строки в Java

Шаг 4) Вы должны получить результат, как показано ниже.

Аргументы командной строки в Java

  • Программа для печати простых чисел от 1 до 100 на Java
  • Программа чисел-палиндромов на Java с использованием цикла while и for
  • Алгоритм пузырьковой сортировки на Java: программа и пример сортировки массива
  • Алгоритм сортировки вставками в Java с примером программы
  • Сортировка выбором в программе Java с примером
  • Абстрактный класс и интерфейс в Java – разница между ними
  • 100+ вопросов и ответов на собеседовании по Java (2024 г.)
  • Учебное пособие по JAVA в формате PDF: основы для начинающих (загрузить сейчас)

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *