Вообще говоря, они выполняют ту же работу. Тем не менее, нотация в виде скобок дает вам возможность делать то, что вы не можете сделать с точечной нотацией, например
var x = elem["foo[]"]; // can't do elem.foo[];
. Это можно расширить до любого свойства, содержащего специальные символы.
public class YourClass {
public static void main(String[] args) {
if (args.length > 0 && args[0].equals("a")){
//...
}
}
}
Аргументы командной строки сохраняются как строки в массиве String
String[] args that is passed to
main () `.
java [program name] [arg1,arg2 ,..]
Аргументы командной строки - это входы, которые принимают из командной строки при запуске программы , Пропускаемые аргументы могут быть любыми. Который хранится в массиве args[]
.
//Display all command line information
class ArgDemo{
public static void main(String args[]){
System.out.println("there are "+args.length+"command-line arguments.");
for(int i=0;i<args.length;i++)
System.out.println("args["+i+"]:"+args[i]);
}
}
Пример:
java Argdemo one two
Выход будет:
there are 2 command line arguments:
they are:
arg[0]:one
arg[1]:two
javastack.java.
? Я точно не знаю, к чему относится It
в It's used to accept input from the command prompt while running the program.
, но последовательность 1) команда синтаксического анализа 2) параметры настройки 3) запустить программу. Я не знаю точно, что относится к This
в This essentially speeds up the program execution when the program depends on user input.
, но в параметре, проходящем i>, в не происходит ускорения выполнения программы i>.
– greybeard
18 December 2016 в 19:28
Аргументы командной строки доступны с помощью параметра String[] args
метода main
.
Для первого аргумента вы можете проверить args[0]
, что весь код будет выглядеть как
public static void main(String[] args) {
if ("a".equals(args[0])) {
// do something
}
}
Ваш main
метод имеет аргумент String[]
. Это содержит аргументы, которые были переданы вашим приложениям (его часто называют args
, но это не является обязательным требованием).
Используйте apache commons cli , если вы планируете продлить прошлое одного аргумента.
«Библиотека CLI Apache Commons предоставляет API для анализа параметров командной строки, переданных программам .
Commons CLI поддерживает различные типы опций:
Аргументы командной строки передаются в первом параметре String[]
на main()
, например
public static void main( String[] args ) {
}
В приведенном выше примере args
содержит все аргументы командной строки.
Короткий, сладкий ответ на поставленный вопрос:
public static void main( String[] args ) {
if( args.length > 0 && args[0].equals( "a" ) ) {
// first argument is "a"
} else {
// oh noes!?
}
}
Попробуйте передать значение a и сравните с помощью метода equals следующим образом:
public static void main(String str[]) {
boolean b = str[0].equals("a");
System.out.println(b);
}
Следуйте этой ссылке, чтобы узнать больше о Аргумент командной строки в Java
Как все сказали ... метод .equals - это то, что вам нужно.
В случайном случае вы использовали что-то вроде:
if(argv[0] == "a")
, тогда оно не работает, потому что == сравнивает расположение двух объектов (физическое равенство), а не содержимое ( логическое равенство).
Поскольку «a» из командной строки и «a» в исходной для вашей программы распределены в двух разных местах, использование == не может быть использовано. Вы должны использовать метод equals, который будет проверять, чтобы убедиться, что обе строки имеют одинаковые символы.
Другое примечание ... «a» == «a» будет работать во многих случаях, поскольку строки являются специальными в Java, но 99.99999999999999% времени, которое вы хотите использовать .equals.
Каждая программа Java начинается с
public static void main(String[] args) {
. Этот массив типа String
, который принимает main()
в качестве параметра, содержит аргументы командной строки для вашей программы. Если пользователь запускает вашу программу как
$ java myProgram a
, тогда args[0]
будет удерживать строку «a».