如何结束一个 Java 程序

  1. System.exit() 来终止一个 Java 程序
  2. return 从 Java 函数中退出

本文展示了所有我们可以用来结束 Java 中运行的程序的最佳方法。我们将通过几个例子来了解这种情况和最简单的处理方法。

System.exit() 来终止一个 Java 程序

要结束一个 Java 程序,我们可以使用 System 类的 exit() 方法。它是 Java 中最常用的结束程序的方法。System.exit() 终止 Java 虚拟机(JVM),退出我们正在运行的当前程序。

下面是一个使用 System.exit() 方法的简单例子。注意,它需要一个整数,也就是状态码。我们将 0 传递给 exit() 函数,这表示终止成功发生,没有任何错误。一个非零的状态,如 1 和-1,则告诉编译器以某种错误或消息终止程序。

你可以看到,在下面的例子中,输出结果只打印了 Statement 1,因为程序执行完后就退出了,而 Statement 2 根本无法执行。

public class Main {
    public static void main(String[] args) {
        System.out.println("Statement 1");
        System.exit(0);
        System.out.println("Statement 2");
    }
}

输出:

Statement 1

Process finished with exit code 0

return 从 Java 函数中退出

有时我们可能要终止一个函数而不是 Java 虚拟机,这时 Java 的 return 关键字就会发挥作用。当我们在程序中使用函数时,这个关键字非常有用。

在形式化语言中,return 可以用来完成方法的执行。这意味着我们可以使用这种方式来退出我们的函数。

下面的例子显示了我们如何从函数中返回一个字符串。如果值是 false,它将返回 Statement 2,然后忽略 Statement 3,因为这个方法的执行已经完成。


public class Main {
    public static void main(String[] args) {
       boolean value = false;
      
       String getValueFromFunc = func(value);
        System.out.println(getValueFromFunc);
    }

    public static String func(boolean value){
        if(value){
            System.out.println("Statement 1");
        }else{
            return "Statement 2";
        }
        return "Statement 3";
    }

}

输出:

Statement 2

但是如果值是真呢?让我们在下一个例子中找出答案。

输出打印了 Statement 1 以及 Statement 3,在上一个例子中,Statement 3 被忽略了。这是因为 if 为真时候,它执行 println 而不是 return

public class Main {
    public static void main(String[] args) {
       boolean value = true;
      
       String getValueFromFunc = func(value);
        System.out.println(getValueFromFunc);
    }

    public static String func(boolean value){
        if(value){
            System.out.println("Statement 1");
        }else{
            return "Statement 2";
        }
        return "Statement 3";
    }

}

输出:

Statement 1
Statement 3