CodeGym /Blog Java /Random-PL /System.exit() w Javie
Autor
Pavlo Plynko
Java Developer at CodeGym

System.exit() w Javie

Opublikowano w grupie Random-PL
Klasa System w Javie zawiera pola i metody do obsługi SystemJedną z nich jest metoda System.exit () używana w języku Java, gdy trzeba zakończyć program lub raczej instancję JVM, która jest aktualnie uruchomiona. Każda linia wstawiona poniżej metody wyjścia będzie nieosiągalna i nie zostanie wykonana.

Składnia metody System.exit().

Składnia metody System.exit() jest następująca.

public void static(int status)
Widać więc, że jest to metoda statyczna. Właściwie wszystkie metody w klasie System są metodami statycznymi. Metoda exit() przyjmuje jako argument liczbę całkowitą i nic nie zwraca. Więc wywołasz metodę wyjścia jako System.exit(i), gdzie i jest liczbą całkowitą. Ta liczba całkowita nazywana jest „statusem wyjścia” i może być elementem zerowym lub niezerowym. Jeśli status wynosi zero — exit(0) , program zakończy się pomyślnie. Niezerowy status — exit(1) wskazuje na nieprawidłowe zakończenie JVM.System.exit() w Javie — 1

Przykład metody System.exit().

Zobaczmy dwa proste przykłady metody exit() ze statusem zero i niezerowymi liczbami całkowitymi. W naszym pierwszym przykładzie mamy pętlę nad tablicą kolorów. Gdy pętla spotka się z „zielonym”, aplikacja musi zostać zakończona.

import java.lang.*;  
 
class Main {
  public static void main(String[] args) {
    String colors[]= {"red","blue","green","black","orange"};  
    for(int i=0;i<colors.length;i++)  {  
      System.out.println("Color is "+colors[i]);
      if(colors[i].equals("green")) {  
        System.out.println("JVM will be terminated after this line"); 
        System.exit(0); 
      }
    }  
  }
}
Wyświetli się następujący wynik. System.exit() w Javie — 2Terminal nie pokazał żadnego kodu wyjścia na wyjściu, ponieważ jako status użyliśmy zera. Ponieważ zero oznacza pomyślne zakończenie, nie ma potrzeby drukowania kodu wyjścia. Użyjmy więc dodatniej liczby całkowitej jako statusu w naszym następnym przykładzie. W tym przykładzie tworzymy pętlę, która generuje losowe liczby od 0 do 10. Jeśli wygenerowana liczba to 2,3 lub 7, Aplikacja musi zostać zakończona i powinna wypisać, która liczba powoduje zakończenie. Zobacz kod poniżej.

import java.lang.*;  
import java.util.Random; 
 
class Main {
  public static void main(String[] args) {
    System.out.println("program will be terminated when values are 2, 3, or 7");  
    int i;
    Random number=new Random();
    while(true){
      i = number.nextInt(11);
      System.out.println("Random Number is "+i); 
      if(i==2||i==3||i==7){
        System.out.println("Value is "+ i + " your program will be terminated now");  
        System.exit(i);
      }
    }
  }
} 
Kiedy wykonałem kod, otrzymałem następujące dane wyjściowe. System.exit() w Javie — 3Jak widać, numer 3 spowodował nieprawidłowe zamknięcie aplikacji. Zobaczmy teraz, jak efektywnie wykorzystać kod statusu.

Jak skutecznie używać kodu statusu

Kod stanu jest zwykle ważny, gdy uruchamiasz program Java za pomocą interfejsu wiersza poleceń (CLI). Użycie kodu stanu jest korzystne, jeśli zamierzasz używać tego programu do komunikacji z innymi standardowymi narzędziami, programami lub systemami operacyjnymi. Jeśli program ma komunikować się z systemem operacyjnym, można użyć kodów stanu specyficznych dla systemu operacyjnego. Na przykład 128 to standardowy kod stanu w systemie UNIX opisujący „Nieprawidłowy argument wyjścia”.

Kiedy używać metody System.exit

Jednym z typowych zastosowań System.exit jest sytuacja, gdy w programie pojawia się nienormalny stan i konieczne jest natychmiastowe zakończenie programu bez powodowania dalszych problemów. Innym zastosowaniem jest sytuacja, w której wymagane jest zakończenie programu w inny sposób niż z metody głównej. Istnieje specjalna konstrukcja o nazwie „Shut Down Hooks” w Javie, która pozwala programistom podłączyć fragment kodu, który powinien zostać wykonany przed zakończeniem JVM. Są szczególnie przydatne do wykonywania operacji porządkowych. Metoda System.exit służy do wywoływania haków zamknięcia w takich przypadkach.

Wniosek

W tym artykule szczegółowo poznaliśmy metodę System.exit() . System.exit oznacza w Javie sposób na zakończenie JVM . Metoda System.exit nic nie zwraca, ponieważ aplikacja nie wykona żadnego kodu poniżej metody exit() . Omówimy również rzeczywiste zastosowania metody exit() . Jednak społeczność Java odradza korzystanie z metody wyjścia, o ile masz inne opcje.
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION