黑马程序员技术交流社区

标题: System.exit(0)与return有什么区别? [打印本页]

作者: 卟離不棄    时间: 2015-3-22 23:21
标题: System.exit(0)与return有什么区别?
本帖最后由 卟離不棄 于 2015-3-24 00:06 编辑
  1. public class Test {
  2.         public static void main(String[] args) {
  3.                 System.out.println("return");
  4.                 System.exit(0);
  5.                 System.out.println("return");
  6.                 return;
  7.                
  8. //                System.out.println("return");
  9.         }
  10. }
复制代码

都能退出程序,但不知道有什么区别!!!
作者: Etby    时间: 2015-3-22 23:33
return 只是退出当前函数而已  当然如果是单线程的主函数退出了也就是程序关闭了  System.exit(0) 则是退出虚拟机,并且将状态码交给系统
作者: 卟離不棄    时间: 2015-3-23 00:11
Etby 发表于 2015-3-22 23:33
return 只是退出当前函数而已  当然如果是单线程的主函数退出了也就是程序关闭了  System.exit(0) 则是退出 ...

多谢解惑!!!
作者: kequan    时间: 2015-3-23 00:28
我代表全国人民给你点个赞
作者: 混乱的世界    时间: 2015-3-23 09:29
看到楼主的问题,我也解惑了
作者: Jaybor    时间: 2015-3-23 10:51
System.exit(0)等同于 Runtime.getRuntime().exit(0),是非正常return,强制的把虚拟机关闭了
作者: 卟離不棄    时间: 2015-3-24 00:06
Jaybor 发表于 2015-3-23 10:51
System.exit(0)等同于 Runtime.getRuntime().exit(0),是非正常return,强制的把虚拟机关闭了 ...

明白了,谢谢
作者: 逺行    时间: 2015-3-24 00:34
我也解惑了
作者: 女神从来不加班    时间: 2015-3-24 16:51
return相当于关了一盏灯 exit是直接拉总闸
作者: 冻了冬天    时间: 2015-3-24 17:46
多看看论坛能学到好多知识点。有些同学用白话解释得更易懂




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2