在Java中,可以return在main方法中使用退出程序,而不是使用System.exit()(或者只是让main方法完成所有任务)?我知道当我使用 退出程序时不会发生任何明显的事情return,但是是否会因此产生任何副作用,例如程序没有完全终止?
我知道这似乎是一个微不足道的问题,但我查看了 Stack Overflow 和在线上的其他帖子以获取有关此主题的信息,但似乎找不到任何与该问题完全相似的答案。
return从方法执行main()将退出整个程序。
警告:如果您启动(非守护程序)线程,JVM 将在关闭之前等待这些线程完成。
return标志着方法的结束。
System.exit()终止程序。
换句话说:System.exit()将停止所有正在运行的任务并结束进程。returnin amain仍将等待任务完成后再退出。
为了安心一点,我写了一个测试程序来看看会发生什么:
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