Я только начинаю писать программы на Java. Что означает следующий код Java?
public static void main(String[] args)
Что такое
String[] args
?Когда бы вы использовали это
args
?
Исходный код и / или примеры предпочтительнее абстрактных пояснений
java
parameters
command-line-arguments
main
freddiefujiwara
источник
источник
args
это не обязательно должно быть названоargs
(вы можете назвать его как угодно) - хотя лучше следовать соглашению. Вы также можетеString... args
время от времени видеть , что эквивалентно.args
гарантированно разделяется пробелом независимо от ОС?-version
к примеру, этоjava -version
иjava.exe -version
, но нетjava.exe /version
(пытается загрузить основной класс.version
). Просто мои 2 цента, если кто-нибудь когда-нибудь на это наткнется.Это для аргументов командной строки в Java.
Другими словами, если вы запустите
Затем
args
содержит:[ "один два" ]
Причина этого заключается в том, чтобы настроить приложение для работы определенным образом или предоставить ему некоторую информацию, которая ему нужна.
Если вы новичок в Java, я настоятельно рекомендую читать через официальный Oracle, Java TM учебники .
источник
args
содержит аргументы командной строки, передаваемые программе Java при вызове. Например, если я вызову программу так:Тогда
args
будет массив, содержащий строки"-f"
и"file.txt"
.источник
javac MyProg.java
а затем запуститьjava MyProg -f file.txt
. Есть ли причина для этого, потому что нигде в ответах это не упоминается?.class
файл.Следующий ответ основан на моем понимании и некотором тесте.
Что такое String [] args?
Ans->
String [] -> Как мы знаем, это простой массив String.
args -> это имя массива, это может быть что угодно (например, a, ar, аргумент, параметр, параметр), нет проблем с компилятором и выполнено, и я также проверил.
Например,
1) public static void main (аргумент String [])
2) открытый статический void main (параметр String [])
Когда бы вы использовали эти аргументы?
Ans->
Основная функция разработана очень разумно разработчиками. Фактическое мышление очень глубоко. Который в основном разрабатывается на основе C & C ++ на основе аргумента командной строки, но в настоящее время никто не использует его больше.
Вещи 1 - Пользователь может ввести любой тип данных из командной строки, может быть Number или String, и это необходимо для того, чтобы компилятор принял их, какой тип данных нам следует использовать? увидеть вещь 2
Thing 2 - String - это тип данных, который поддерживает все примитивные типы данных, такие как int, long, float, double, byte, shot, char в Java. Вы можете легко разобрать его в любом примитивном типе данных.
Например, следующая программа скомпилирована и выполнена, и я также протестировал.
Если ввод -> 1 1
источник
Даже если OP только говорит о
String[] args
, я хочу привести полный примерpublic static void main(String[] args)
.Public
: модификатор доступа , который определяет, кто может получить доступ к этому методу. Открытый означает, что этот метод будет доступен любому классу (если другие классы могут получить доступ к этому классу.).Static
: ключевое слово, которое идентифицирует предмет, связанный с классом. Это означает, что данный метод или переменная не связаны с экземпляром, а связаны с классом. Доступ к нему можно получить без создания экземпляра класса.Void
: используется для определения типа возврата метода. Он определяет, что метод может вернуть. Void означает, что метод не будет возвращать никакого значения.main
: это имя метода. Это имя метода ищется JVM как отправная точка для приложения только с определенной подписью.String[] args
: параметр основного метода.Если вы посмотрите на исходный код JDK (jdk-src \ j2se \ src \ share \ bin \ java.c):
Вы можете видеть, что метод запуска в Java должен быть назван
main
и должен иметь конкретную подписьpublic static void main(String[] args)
Код также говорит нам, что
public static void main(String[] args)
это не исправлено, если вы измените код в (jdk-src \ j2se \ src \ share \ bin \ java.c) на другую подпись, это будет работать, но изменение этого даст вам другие возможные проблемы из-за спецификаций JavaОффтоп: прошло уже 7 лет с тех пор, как ОП задал этот вопрос, я думаю, что ОП уже может ответить на его собственный вопрос.
источник
String [] args
это также, как вы объявляете массив строк в Java.В этой сигнатуре метода массив
args
будет заполнен значениями при вызове метода (как показывают другие примеры). Поскольку вы учитесь, стоит понимать, что этотargs
массив такой же, как если бы вы создали его самостоятельно в методе, как в этом:источник
Я бы расстался
по частям.
«public» означает, что main () может быть вызван из любого места.
«static» означает, что main () не принадлежит конкретному объекту
«void» означает, что main () не возвращает значения
«main» - это имя функции. main () является особенным, потому что это начало программы.
«Строка []» означает массив строк.
«args» - это имя String [] (в теле main ()). «args» не является особенным; Вы можете назвать это как-нибудь еще, и программа будет работать так же.
String[] args
представляет собой набор строк, разделенных пробелом, который может быть введен в программу на терминале. В большинстве случаев новичок не собирается использовать эту переменную, но она всегда есть на всякий случай.источник
Когда вы закончите свой код, вы превратите его в файл с расширением .java, который можно запустить, дважды щелкнув по нему, но также по всей консоли (терминал на Mac, cmd.exe на окнах), который позволяет пользователю делать много вещей. Одна вещь - они могут видеть консольные сообщения (System.out.print или System.out.println), которые они не могут видеть, если они дважды щелкают. Еще одна вещь, которую они могут сделать, это указать параметры, поэтому обычно вы используете строку
после перехода в папку программы с
на окнах или
на Mac (обратите внимание, что Mac менее громоздкий) для запуска кода, но для указания параметров, которые вы бы использовали
Эти параметры хранятся в массиве args, который вы можете использовать в своей программе, если вы хотите, чтобы пользователь мог контролировать специальные параметры, такие как используемый файл или объем памяти, который может иметь программа. Если вы хотите знать, как использовать массив, вы можете найти тему на этом сайте или просто погуглить. Обратите внимание, что можно использовать любое количество параметров.
источник
Объяснение на простом непрофессиональном языке.
Основной метод ожидает от нас предоставления некоторых аргументов, когда мы направляем нашу JVM на имя класса. Это означает, что ваш файл называется Try.java, теперь для его выполнения в командной строке вы пишете «javac Try.java» для компиляции, а затем «java Try» для выполнения. Теперь предположим, что вместо написания просто «java Try» вы пишете «java Try 1». Здесь вы передали аргумент "1". Это будет принято вашим основным методом, даже если вы не используете его в своем коде.
Если вы хотите проверить, принял ли ваш метод main аргумент «1» или нет. Просто, внутри вашего основного метода введите следующее:
источник
Я думаю, что это довольно хорошо охвачено ответами выше,
String args[]
это просто массив строковых аргументов, которые вы можете передать своему приложению при запуске. В завершение я мог бы добавить, что также допустимо определять параметр метода, передаваемыйmain
методу, в качестве аргумента переменной (varargs) типа String:public static void main (String... args)
Другими словами,
main
метод должен принимать либо String array (String args[]
), либо varargs (String... args
) в качестве аргумента метода. И нет никакого волшебства с именемargs
тоже. Вы также можете написатьarguments
или дажеfreddiefujiwara
как показано ниже, например:public static void main (String[] arguments)
public static void main (String[] freddiefujiwara)
источник
Когда класс java выполняется из консоли, вызывается метод main. Чтобы это произошло, определение этого основного метода должно быть
Тот факт, что этот массив строк называется args, является стандартным соглашением, но не является строго обязательным. Вы должны заполнить этот массив в командной строке, когда вы вызываете вашу программу
Они обычно используются для определения параметров вашей программы, например, файлов для записи или чтения.
источник
в public static void main (String args []) args - это массив аргументов консольной строки, тип данных которых - String. в этом массиве вы можете хранить различные строковые аргументы, вызывая их в командной строке, как показано ниже: java myProgram Shaan Royal, затем Shaan и Royal будут сохранены в массиве как arg [0] = "Shaan"; Arg [1] = "Royal"; Вы можете сделать это вручную также внутри программы, когда вы не вызываете их в командной строке.
источник
Стиль
dataType[] arrayRefVar
является предпочтительным. СтильdataType arrayRefVar[]
происходит от языка C / C ++ и был принят в Java для поддержки программистов на C / C ++.источник
String[] args
Параметр представляет собой массив строк , передаваемых в качестве параметров при запуске приложения с помощью командной строки в ОС.Итак, представьте, что вы скомпилировали и упаковали
myApp.jar
приложение Java. Конечно, вы можете запустить свое приложение, дважды щелкнув его в ОС, но вы также можете запустить его с помощью командной строки, например (в Linux, например):Когда вы вызываете ваше приложение, передавая некоторые параметры, такие как:
Команда
java -jar
передаст ваши строкиupdate
иnotify
вашpublic static void main()
метод.Затем вы можете сделать что-то вроде:
источник
В дополнение ко всем предыдущим комментариям.
можно записать как
или
источник