Понимание (строковые аргументы [])

Возможный дубликат:
Что такое «String args [] »? на Java

Итак, я недавно (ну, три дня назад) начал учить себя Java, с абсолютно нулевым предыдущим опытом программирования, если не считать HTML / CSS.

Теперь я просматривал и книги, и онлайн-уроки, включая уроки Sun. Я не совсем понимаю, какова цель (string args[]) в методе.

Из онлайн-поиска я понял, что при использовании консоли для запуска программы она заменяет все, что идет после «> Java myprogram», вместо «args».

Во-первых, это правильно? Если да, то зачем вам это делать?

Ваше здоровье!


person Adam    schedule 12.12.2012    source источник
comment
Взгляните на этот вопрос.   -  person Jivings    schedule 12.12.2012
comment
Убедитесь, что у вас есть строка, а не строка. В Java учитывается регистр. Первый означает java.lang.String; второй....?   -  person duffymo    schedule 12.12.2012
comment
@duffymo ... Это ошибка компилятора.   -  person Jivings    schedule 12.12.2012
comment
Как ты учишься? Лучше следуйте руководству, они объясняют эти вещи   -  person Miserable Variable    schedule 12.12.2012
comment
@Adam Ответ 1: Да, его можно использовать для доступа к вводу пользователя через командную строку. Ответ 2: Вряд ли кто-то использует это, в java есть AWT Swing для ввода пользовательского ввода.   -  person Smit    schedule 12.12.2012
comment
@smit Wat. За исключением каждой программы командной строки Java, которая принимает аргументы.   -  person Jivings    schedule 12.12.2012
comment
@Jivings Да, это правда +1. Но после студенческой жизни я ни разу не видел, чтобы этим кто-нибудь воспользовался.   -  person Smit    schedule 12.12.2012
comment
@Jivings - Не так, если у вас есть строковый класс. Но я согласен с тем, что JVM не будет запускать эту версию main при запуске, потому что при этом ищет точную подпись. Этот метод не поможет.   -  person duffymo    schedule 13.12.2012


Ответы (2)


String[] args, который можно записать как String args[] или String ... args, представляет собой массив аргументов, которые вы дали программе.

Почему ты бы так поступил?

Таким образом, вы можете вводить свою программу в командной строке. Он не так часто используется в программах Java, но утилиты командной строки обычно принимают аргументы, например.

В этом случае MyClass.java является аргументом.

javac MyClass.java

Или как у следующего есть три аргумента.

java -cp . MyClass
person Peter Lawrey    schedule 12.12.2012

Это более или менее правильно. Каждое слово, разделенное пробелами, которое следует после java Program, сохраняется в массиве строк, который называется args.

Пример того, как использовать это в ваших интересах:

public class Test {
    public static void main(String[] args)
    {
        if(args.length > 0)
        {
            System.out.println(args[0] + "\n");
        }
    }
}

Скомпилируйте это с помощью:

> javac Test.java

А потом запускаем:

> java Test Yes

Затем на ваш экран выводится «Да».

person Chris Forrence    schedule 12.12.2012