Java du Système.exit(0); vs C++ return 0;

Lorsque nous apprendre le C++ à l'école, notre professeur nous dira à écrire return 0; à la dernière ligne de code dans la fonction main et il est considéré comme une bonne pratique.

En Java, je me rends compte que certaines personnes écrit System.exit(0); à la dernière ligne de la méthode main.

Toutefois, en C++, si j'utilise exit(0); je être pénalisé par mon professeur, parce que (à l'école) pour la programmation procédurale, nous sommes attendus pour laisser le flux de programme jusqu'à la fin du main et de laisser le programme s'arrête naturellement.

Ma question: Est Java System.exit(0); similaire à C++de return 0; ? (Ou est-il semblable à C++exit(0))

Est-il une mauvaise pratique de l'utilisation System.exit(0) en java lorsqu'elle n'est pas (I. e.: l'écriture de la dernière ligne de la méthode main)?

  • C'est plutôt contextuel, comme une "vieille école" de développeur, j'ai appris qu'il n'y avait point d'entrée et un point de sortie (en parlant de fonctions et de méthodes), mais cela peut être vrai pour System.exit ainsi. Le problème avec l'utilisation de ce sein de votre code est le même que le fait d'avoir plusieurs return états dans vos fonctions/méthodes, ils sont faciles à manquer et peut faire comprendre le code plus difficile. Cela dit, il y a des exceptions à chaque règle et certains projets peuvent nécessiter votre mettre fin à l'exécution du programme de traitement...mais je serais toujours à la recherche de l'écart pour l'éviter...
  • Je n'ai jamais utilisé System.exit(0); à la dernière ligne de la méthode main.
  • Et bien comme le C++, l'un est ajouté, en silence.
  • Peut-être cette question permettra d'expliquer: stackoverflow.com/q/3715967/3651800
  • Je viens de le lien que vous avez collé.
  • alors vous devriez vous l'avez mentionné dans votre question et a déclaré qu'il n'a pas de clarifier les choses pour vous.
  • System.exit(0); en java est égal à exit(0); en C return; ou return 0; en java est égal à return; ou return 0; dans C. fermeture de la sortie de l'ensemble du processus, tandis que le rendement tout juste sorties de la sous-routine ou une fonction.

InformationsquelleAutor user3437460 | 2014-06-25