Cómo terminar un programa de Java

Rupam Yadav 12 octubre 2023
  1. System.exit() para terminar un programa en Java
  2. return para salir de una función en Java
Cómo terminar un programa de Java

Este artículo muestra las mejores formas que podemos usar para terminar un programa en ejecución en Java. Repasaremos algunos ejemplos para entender la situación y la forma más fácil de manejarla.

System.exit() para terminar un programa en Java

Para terminar un programa de Java, podemos usar el método exit() de la clase System. Es la forma más popular de terminar un programa en Java. System.exit() termina la Máquina Virtual de Java (JVM) que sale del programa actual que estamos ejecutando.

Abajo hay un ejemplo simple que usa el método System.exit(). Fíjese que toma un número entero, que es el código de estado. Le pasamos un 0 a la función exit(), que indica que la terminación se produce con éxito sin ningún error. Un estado distinto de cero, como 1 y -1, le dice al compilador que termine el programa con algún error o mensaje.

Puedes ver que la salida sólo imprime el Statement 1 en el siguiente ejemplo porque el programa sale después de su ejecución y el Statement 2 nunca pudo ser ejecutado.

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

Resultado:

Statement 1

Process finished with exit code 0

return para salir de una función en Java

A veces tenemos que terminar una función en lugar de la Máquina Virtual de Java, y es entonces cuando la palabra clave return de Java entra en juego. Esta palabra clave es muy útil cuando estamos usando funciones en nuestro programa.

En el lenguaje formal, return puede ser usada para completar la ejecución del método. Significa que podemos usar esta forma para salir de nuestra función.

El siguiente ejemplo muestra cómo podemos devolver una String de la función. Si el valor es false, devolverá Statement 2 y luego ignorará Statement 3 ya que la ejecución de este método se ha completado.

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";
  }
}

Resultado:

Statement 2

¿Pero qué pasa si el valor es verdadero? Vamos a averiguarlo en el siguiente ejemplo.

La salida imprime tanto la Statement 1 como la Statement 3, que fue ignorada en el ejemplo anterior. Ocurrió porque el bloque de declaración de if condición tiene println en lugar de 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";
  }
}

Resultado:

Statement 1
Statement 3
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn