Как правильно писать аргументы к методу Main в Java

177
10 декабря 2019, 19:10

Как правильно писать аргументы к методу Main? Мой друг изучает java и пишет public static void Main(String args[]), хотя я пишу public static void Main(String[] args) (но на C#). Не можем решить этот спор уже где-то 2 месяца. Недавно я зашёл на сайт онлайн компилятора для java и там было написано public static void Main(String[] args)

Answer 1

Мой друг изучает java и пишет public static void Main(String args[]), хотя я пишу public static void Main(String[] args) (но на C#).

Во-первых, в Java должна объявляться функция main, а не Main. А в C# класс строк называется string, а не String (если вы не используете using директив).

Согласно документации Java одно из этих объявлений main может быть использовано

public static void main(String[] args)
public static void main(String... args)

Из спецификации языка Java 11 (12.1.4 Invoke Test.main)

The method main must be declared public, static, and void. It must specify a formal parameter (§8.4.1) whose declared type is array of String. Therefore, either of the following declarations is acceptable:

public static void main(String[] args)
public static void main(String... args)

Так как переменные типа массива в Java могут объявляться двояко как

String[] s;

так и

String s[];

то, в принципе, вы также можете объявить метод main в Java и как

public static void main(String args[] )

Кстати сказать, в C# метод Main не обязательно должен быть объявлен как public в отличии от Java, где метод main должен быть public.

Answer 2

Если вы будете использовать IntelliJ IDEA, то сможете использовать специальную горячую команду "psvm", которая объявляет главный класс. Единственный правильный способ написания в Java аргументов к методу main:

public static void main(String[] args) {
}

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

Answer 3

Если вы желаете ознакомиться с правилами написания кода на Java, прикрепляю для вас Java Code Conventions. (Предупреждаю, она на английском) https://www.oracle.com/technetwork/java/codeconventions-150003.pdf

READ ALSO
Exception in thread “main” java.lang.ClassNotFoundException: org.h2.Driver

Exception in thread “main” java.lang.ClassNotFoundException: org.h2.Driver

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

114
selenium (multilogin) - finished with exit code 1

selenium (multilogin) - finished with exit code 1

в рамках работы нужно привязать тесты, к multiloginИспользую код предоставленный на их странице, в теории он должен запустить бразуер мультилогина...

122