IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Java Discussion :

Question sur "public static void main (String[] args){"


Sujet :

Java

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2015
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2015
    Messages : 13
    Points : 10
    Points
    10
    Par défaut Question sur "public static void main (String[] args){"
    Il s'agit la méthode principale d'une application. Ce qui me complique c'est le "void" qui signifie que la méthode ne retourne pas de valeur. Mais souvent avec cette méthode principale il y a bien des valeurs qui sortent et qui apparaissent dans la console non?
    Je suis un débutant, pourriez-vous m'expliquer?

  2. #2
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    40
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 40
    Points : 41
    Points
    41
    Par défaut
    Salut,

    je suis pas expert j'ai débuté il y a peu alors je vais peut être dire une connerie mais bon...

    Tu as bien des infos qui sortent sur la console, etc... mais quand ton main se ferme il ne renvoi rien, l’exécution du programme est terminée.

    Par exemple une fonction qui retourne un string :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public String exempleRetour() {
     //code
    return variableString }
    alors que ton main, tu n'as pas de retour. Ce les instructions de ton code qui affichent quelque chose dans la console, par exemple si tu fais un println. Lorsque le main se termine, tu n'as pas de retour, l’exécution se termine juste.

  3. #3
    Membre chevronné
    Avatar de professeur shadoko
    Homme Profil pro
    retraité nostalgique Java SE
    Inscrit en
    Juillet 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 75
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : retraité nostalgique Java SE

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 257
    Points : 1 855
    Points
    1 855
    Par défaut
    un programme java ne sait pas a priori s'il y a une console (par ex. interactions en mode graphique), de plus tu n'es pas dans un langage qui fait automatiquement des évaluations/affichages en boucle.
    option 1: si tu fais des System.println il peut y avoir des affichages sur la console ... s'il y en a une!
    option 2: obtenir (peut-être!) une Console par System.console() voir la doc.

    donc oui main ne renvoie rien et n'est pas conçu pour interagir automatiquement avec une Console
    J'ai des principes: je peux toujours trouver une bonne raison pour les contredire .... mais j'ai des principes!
    (mon excellent bouquin sur Java : https://eska-publishing.com/fr/livre...822407076.html)

  4. #4
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Pour compléter un peu...

    Même si en java la signature est public void main(String[] args), ça n'empêche pas de fournir au programme appelant (généralement un interpréteur de commandes comme cmd, sh, etc...) un entier en retour, il faut juste passer par System.exit(int);
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Rédacteur/Modérateur

    Avatar de bouye
    Homme Profil pro
    Information Technologies Specialist (Scientific Computing)
    Inscrit en
    Août 2005
    Messages
    6 840
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : Nouvelle-Calédonie

    Informations professionnelles :
    Activité : Information Technologies Specialist (Scientific Computing)
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Août 2005
    Messages : 6 840
    Points : 22 854
    Points
    22 854
    Billets dans le blog
    51
    Par défaut
    Comme indique par OButterlin, System.exit() permet de faire remonter les codes d'erreur.
    A noter que le programme/script/interpreteur appelant peut recevoir les codes d'erreur de ton programme mais aussi de la JVM quand elle se vautre.
    Merci de penser au tag quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.

    suivez mon blog sur Développez.

    Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to produce bigger and better idiots. So far, the universe is winning. ~ Rich Cook

Discussions similaires

  1. Methode public static void main (String [] args)
    Par jeremypd dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 09/01/2017, 10h53
  2. public static void
    Par toufik.dija dans le forum Débuter avec Java
    Réponses: 5
    Dernier message: 04/03/2014, 00h19
  3. question sur les variables static
    Par laurentze dans le forum Débuter avec Java
    Réponses: 8
    Dernier message: 29/03/2010, 14h06
  4. question sur les classes "static"
    Par Asmod_D dans le forum C++
    Réponses: 4
    Dernier message: 05/04/2009, 17h27
  5. [Static] nouvelle question sur les blocs static
    Par Alec6 dans le forum Langage
    Réponses: 2
    Dernier message: 25/11/2004, 18h09

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo