int main ();C - Java-эквивалент - PullRequest
       31

int main ();C - Java-эквивалент

3 голосов
/ 11 февраля 2011

Я студент университета и новичок в Java. В прошлом году, во втором семестре, мы занимались программированием на C. Я много чего тестирую, прежде чем понять это. В C мне нужно только начать с int main (), чтобы начать кодирование. Ява немного более запутанная. Зачем мне "нужно" (я не уверен, должен ли я начинать таким образом), чтобы начать с

public static void main (String[] args)

если я не собираюсь использовать аргумент в моей программе. Это:

public static void main ()

дает мне ошибку. Я не хочу читать никаких аргументов.

Надеюсь, вы понимаете - английский не мой родной язык.

Ответы [ 4 ]

7 голосов
/ 11 февраля 2011

Это просто определение языка.

Подпись:

public static void main (String[] args)

Является сигнатурой основного метода в Java, в некоторых языках имеется более одной сигнатуры основного метода.Вам не нужно беспокоиться, если вы не используете массив args, он просто останется пустым.

Эта вики-страница может немного прояснить ситуацию.

4 голосов
/ 11 февраля 2011

C это странно. Если вы объявляете функцию как int main(), аргументы не проверяются. Собственно, функция C, которая не принимает аргументов, должна быть объявлена ​​как int foo(void), а не int foo(). Основная функция C на самом деле int main(int argc, char *argv[]), но, так как C не заботится, положите ли вы аргументы в прототип или нет, он примет int main(). Java - это скорее сторонник (более чем одним способом), чем C, и требует от вас фактического ввода аргументов для его функций, включая main.

1 голос
/ 11 февраля 2011

Если вы не читаете ни одного аргумента, массив args просто будет пустым. Я не думаю, что есть какая-то техническая причина, по которой вы не можете опустить аргумент в Java, как в C, но стандарт просто предписывает, что он должен быть там.

1 голос
/ 11 февраля 2011

В Java вы должны начать с класса и полного основного метода. Учитывая, что это всего лишь одна строка кода, которая может быть тысячами или миллионами, это на самом деле не большая проблема.

Вы можете заполнить свою IDE в шаблоне класса, чтобы вам не приходилось вводить все эти символы.

Если вы хотите иметь полезную программу с минимальным количеством символов, я предлагаю вам попробовать язык сценариев, такой как groovy или PHP, Python, Perl или bash.

РЕДАКТИРОВАТЬ: Java имеет тенденцию быть более многословным, чем другие языки, однако очень лаконичный язык тоже не всегда хорошая вещь. Одним из примеров является KDB

(!R)@&{&/x!/:2_!x}'!R

Здесь перечислены все простые числа от 1 до R в одной короткой строке. ;)

...