In Bezug auf C/C++ muss main() immer eine ganze Zahl zurückgeben (Null um Erfolg anzuzeigen und nicht Null um Fehler anzuzeigen). Ich kann das verstehen, wenn das Programm ausgeführt wird, wird es zu einem Prozess und jeder Prozess sollte einen Exit-Status haben, den wir erhalten, indem wir echo $ machen. aus der Shell, nachdem der Prozess vorüber ist.Hauptfunktion gibt nichts zurück. Warum?
Jetzt verstehe ich nicht, warum die Hauptmethode nichts in Java zurückgibt? Hat es etwas damit zu tun, dass das Programm auf JVM läuft und der JVM-Prozess für die Rückgabe des Exit-Status zuständig ist?
Bitte klären Sie.
Danke,
Roger
Sie meinen, wenn ich kein System.exit() in meinem Programm habe, wird JVM es mit 0 hinzufügen. Und wenn mein Programm einen expliziten Aufruf mit einem Wert ungleich Null hat, wird es als Exit verwendet Status? – gameover
Der Java-Prozess wird _not_ nicht notwendigerweise beendet, wenn die Hauptmethode beendet wird, wodurch es (wie kai1968 angibt) unangemessen ist, den Exitcode des Prozesses von der Hauptmethode zurückzugeben. – jarnbjo
Immer noch falsch. Es ist nicht notwendig, Tools wie kill oder System.exit zu verwenden, um eine Multithread-Java-Anwendung zu stoppen. Hinweis: Selbst die einfachste Java-Anwendung "Hello World" ist mutlithreaded (die Java-VM startet ihre eigenen Threads für verschiedene Verwaltungsprobleme) und wird beendet, wenn die Hauptmethode abgeschlossen ist. – jarnbjo