Méthode main(String arg[])

Bonjour à tous,
Juste une petite question pour commencer.
Qui peux m'expliquer pourquoi la méthode main fonctionne également lorsque sa signature comporte les crochets [] sur arg et pas sur String ???

ex: public static void main (String arg[])

2 réponses

  1. Ok,
    mais si je mais main(String[] arg) comme j'ai toujours fais, ça fonctionne parfaitement...
    4
    1. En java, tu as 2 façon de déclarer un tableau :

      _ <type>[] <nom_du_tableau> = new <type>[<taille>];
      _ <type> <nom_du_tableau>[] = new <type>[<taille>];

      Préfères la première façon à la deuxième car elle est plus correcte.
      Et le fait de pouvoir l'écrire de ces 2 façons explique pourquoi ça marche avec les deux écritures dans ton cas, comme dans tout les cas d'ailleurs ;)

      En d'autre terme :

      int tab[] = new int[4]; (est égale à) int[] tab = new int[4];

      Voilà !
      Tchoû
      0
  2. car lors de l'éxecution tu peux passer des paramètres, qui sont enfin de compte plusieurs strings, donc un tableau de string.

    Mais lorsque tu recois des parmètres ( peut importe la fonction) , tu les recois comme ceci:
    public void  test(int valeur[], String nom[]){
    }
    


    C'est lors d'une initialisation de variable que les [] peuvent être mise a String ou int
    int[] note= int[5];
    


    dont dans
    public static void main(String arg[]){
    }
    Tu recois un paramètre , tu ne l'initialise pas.

    Espérant avoir éclairer ta lanterne

    Nettogrof tseb era seiromem emoS
    1