我最近接受了一次采访,他们问我核心Java中的两个问题.
问1.
我们可以编写一个java类:
Run Code Online (Sandbox Code Playgroud)public static int main(String[] args){ System.out.println("Hello");
我回答:没有.编译器不会编译它,因为它是预期的返回类型main是int,虽然我们可以重载它.
问题2:我无法回答的下一个问题.
编写一个程序,以便您的Java
main方法可以返回一些东西.即你怎么能
public static void main([] args)回报什么?
任何人都可以帮我解答这个问题吗?
jos*_*chi 69
问1.我们可以编写一个java类:public static int main(String [] args){
是的,你可以但你不能运行那个Java类.
示例类:
class MainTest {
        public static int main(String[] args) {
                return 1;
        }
}
尝试运行它时,您将收到一条错误消息:
Error: Main method must return a value of type void in class MainTest, please 
define the main method as:
   public static void main(String[] args)
问题2:下一个问题我无法回答.他要求编写一个程序,以便你的java main方法可以返回一些东西.
您可以使用System#exit(int)退出程序,并使用可由操作系统解释的特定退出代码.
Mar*_*all 35
通常,在main返回int(例如C和C++)的语言中,返回代码main成为进程的退出代码,命令解释程序和其他外部程序通常使用它来确定进程是否成功完成.要在Java中实现相同的效果,请使用System.exit方法(类似于标准C函数出口),如下所示:
public static void main(String[] args) {
  System.exit(42);
}
引用上面链接的Java文档:
终止当前运行的Java虚拟机.该参数用作状态代码; 按照惯例,非零状态代码表示异常终止.
无法从Java main函数返回值.但是,程序可以返回状态代码.
尝试以下操作以在Java中以int状态退出 System.exit(45)