-1

在Java中,可以returnmain方法中使用退出程序,而不是使用System.exit()(或者只是让main方法完成所有任务)?我知道当我使用 退出程序时不会发生任何明显的事情return,但是是否会因此产生任何副作用,例如程序没有完全终止?

我知道这似乎是一个微不足道的问题,但我查看了 Stack Overflow 和在线上的其他帖子以获取有关此主题的信息,但似乎找不到任何与该问题完全相似的答案。

4

3 回答 3

4

return从方法执行main()将退出整个程序。


警告:如果您启动(非守护程序)线程,JVM 将在关闭之前等待这些线程完成。

于 2018-08-01T01:18:35.603 回答
2

return标志着方法的结束。 System.exit()终止程序。

换句话说:System.exit()将停止所有正在运行的任务并结束进程。returnin amain仍将等待任务完成后再退出。

于 2018-08-01T01:31:06.627 回答
1

为了安心一点,我写了一个测试程序来看看会发生什么:

public class Test
{
   public static void main(String[] args)
   {
      for(int i=0; i<100; i++)
      {
         if(i == 10)
            return;

         System.out.println(i);
      }
   }
}

这打印

0
1
2
3
4
5
6
7
8
9
于 2018-08-01T01:28:44.277 回答