Sysout.exit(0)和return的区别。

public static void main(String[] args) {
		int a=10;
		int b=10;
		new TTest().method(a,b);
		System.out.println("a="+a);
		System.out.println("b="+b);
	}
	public void method(int a,int b){
		System.out.println("a=100;b=200");
		//System.exit(0); //后面不会输出
		return;//后面还会输出
	}

  1. System.exit(0)是将你的整个虚拟机里的内容都停掉了 ,而dispose()只是关闭这个窗口,但是并没有停止整个application exit() 。无论如何,内存都释放了!也就是说连JVM都关闭了,内存里根本不可能还有什么东西
  2. System.exit(0)是正常退出程序,而System.exit(1)或者说非0表示非正常退出程序
  3. System.exit(status)不管status为何值都会退出程序。和return 相比有以下不同点:   return是回到上一层,而System.exit(status)是回到最上层
/**
	 * 跳出嵌套循环
	 * @param args
	 */
	public static void main(String[] args) {
		ok:
		for(int i=0;i<10;i++){
			for(int j=0;j<10;j++){
				if(i==3){
					System.out.println(i+" "+j);
					break ok;
				}
			}
			System.out.println("i:"+i);
		}
	}
 

猜你喜欢

转载自zxf-noimp.iteye.com/blog/2356488
今日推荐