3

我是一名大学生,刚接触java。去年第二学期,我们用 C 语言进行了一些编程。在真正理解它之前,我测试了很多东西。在 CI 中只需要以 int main() 开头即可开始编码。Java有点混乱。为什么,我“需要”(我不确定我是否必须以这种方式开始)开始

public static void main (String[] args)

如果我不打算在我的程序中使用这个参数。这:

public static void main ()

给我一个错误。我不想阅读任何论点。

我希望你明白——英语不是我的母语。

4

4 回答 4

7

这只是语言定义。

签名:

public static void main (String[] args)

是Java中main方法的签名,有些语言有不止一个main方法签名。如果您不使用该args数组,则无需担心,它只会保持空白。

这个wiki 页面可以把事情弄清楚一点。

于 2011-02-11T17:15:51.943 回答
4

C是古怪的。如果将函数声明为int main(),则不检查参数。正确地,不带参数的 C 函数应该声明为int foo(void),而不是int foo()。C 的 main 函数确实是int main(int argc, char *argv[]),但是由于 C 不在乎您是否将 args 放入原型中,所以它会接受int main()。Java 比 C 更严格(不止一种方式),它要求您实际输入其函数的参数,包括main.

于 2011-02-11T17:17:52.567 回答
1

在 Java 中,您必须从一个类和一个完整的 main 方法开始。鉴于这只是可能数千或数百万的代码中的一行代码,这真的不是一个大问题。

您可以在一个类模板中完整地使用您的 IDE,这样您就不必输入所有这些字符。

如果您想拥有一个字符数最少的有用程序,我建议您尝试使用 groovy 或 PHP、Python、Perl 或 bash 之类的脚本语言。

编辑:Java 往往比其他语言更冗长,但是拥有非常简洁的语言也并不总是一件好事。一个例子是 KDB

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

这在一行中列出了 1 和 R 之间的所有素数。;)

于 2011-02-11T17:16:08.653 回答
1

如果你没有读入任何参数,那么 args 数组将只是空的。我不认为有任何技术原因可以说明您不能像在 C 中那样在 Java 中省略参数,但标准只是规定它必须存在。

于 2011-02-11T17:16:17.827 回答