Размещение скобок Java Array - PullRequest
2 голосов
/ 09 июля 2009

Я пытаюсь напечатать "Hello World" из Java-программы, но меня немного смущает метод main:

public static void main(String[] args)

и

public static void main(String args[])

Обе эти функции выполняют одну и ту же задачу. Как это происходит?

Я знаю функцию String, но не аргументы.

Ответы [ 7 ]

17 голосов
/ 09 июля 2009

В Java:

String args[]

в точности соответствует:

String[] args
12 голосов
/ 09 июля 2009

Вы определяете метод с именем "main", который имеет вид public (любой может его вызвать), static (это метод класса, а не метод экземпляра) и возвращает void (ничего не возвращает) и принимает параметр с именем args, который является массивом String.

В Java вы можете объявить массив String как:

String[] args

или

 String args[]
3 голосов
/ 09 июля 2009

Вы можете определить массив в Java двумя эквивалентными способами (как вы написали):

  • Строка [] args
  • Строковые аргументы []

Так что это на самом деле не имеет значения. Впрочем, первый способ немного более распространен.

0 голосов
/ 28 июня 2012

Существует ровно без различий между ними, хотя в соответствии со стандартами Java, соглашение для создания массива:

String[] args

вместо

String args[]

и одинаково допустимая форма с использованием эллипсов (только для бесконечного массива):

String...args

Краткий обзор psvm () в Java:

public : доступ к методу можно получить из любого места внутри класса, за его пределами или даже за пределами пакета.

static : метод используется всеми объектами, и для вызова этого метода не требуется создавать какие-либо объекты.

void : этот конкретный метод main () не может вернуть никакого значения, поэтому здесь мы должны использовать void; это синтаксис, которому нужно следовать.

main () : это точка входа в код или класс, который вы выполняете. В большинстве случаев это также точка выхода кода.

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

0 голосов
/ 09 июля 2009

Я попытаюсь объяснить все части этой строки public static void main (String [] args)

main : это соглашение Java, унаследованное от C .. первый метод, запускающий его, называется main.

void : этот метод не должен возвращать ничего, что в Java называется void

static : вам не нужно создавать экземпляр этого класса для запуска этого метода (полностью логический, если запускается первым)

public : этот метод можно вызывать из других классов, даже вне пакета (опять же его логика была первым методом, вызываемым)

Теперь на ваш вопрос String [] args полностью эквивалентен String args [] или String [] name ... в любом случае, это означает это args (или name в последнем случае) это имя массива Strings, который получает метод. Это массив из-за символов [] и в java допустимо помещать символы перед типом ( String для этого случая) или перед именем переменной ( арг ). Если вы запускаете вашу программу из терминала с помощью команды типа "java myprogram arguments1 arguments2" внутри метода main, значение args будет args = ["аргумент1", "аргумент2"]

0 голосов
/ 09 июля 2009

Переменная args предназначена для входов в вашу программу. См. Учебник по аргументам командной строки .

0 голосов
/ 09 июля 2009

В java ваше объявление массива может быть после типа или имени переменной, поэтому оба метода могут выполнять одну и ту же функциональность.

Аргументы используются для хранения аргументов командной строки.

Как

Java YourClass arg1 arg2

arg1 и arg2 будут храниться в массиве args по индексам args [0] и arg [1].

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...