Je n'arrive pas à compiler mon programme

Signaler
Messages postés
3
Date d'inscription
samedi 23 octobre 2021
Statut
Membre
Dernière intervention
23 octobre 2021
-
Messages postés
16438
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
30 novembre 2021
-
Bonjour à tous,

Je prends des cours de java aux cours municipaux de Paris et on a compilé la dernière fois un programme disant "bonjour" sur BlueJ.

J'ai voulu retenter l'expérience sur un vrai éditeur donc j'ai installé éclipse, et ça fait une demi-heure que j'essaie de compiler le programme sans erreur (lol)

J'ai donc créé mon programme java et j'ai été dans new class, ensuite j'ai tapé exactement le même code qu'en cours! (je crois)


public class bonjou {
 
 public static void main(){
  System.out.println("bonjour");
 }

}

ça ne donne rien! Je comprends déjà pourquoi on utilise BlueJ mais là on a deux semaines de vacances et j'aimerais quand même savoir me servir d'un éditeur normal...

Merci à tous ceux qui me liront et aussi à ceux qui essaieront de m'aider!

2 réponses

Messages postés
3
Date d'inscription
samedi 23 octobre 2021
Statut
Membre
Dernière intervention
23 octobre 2021

pfff.... je comprends pourquoi on utilise BlueJ ça me soûle!!!!
Messages postés
3
Date d'inscription
samedi 23 octobre 2021
Statut
Membre
Dernière intervention
23 octobre 2021

Du coup je viens de réussir la compilation mais je comprends rien à mon code

public static void main(String[] args)

static veut dire "en mode console"

mais je comprends pas du temps pourquoi il faut mettre String[] args dans le code
On nous a expliqué que String est un type de variable pour reçevoir des chaines de caractères mais aussi une classe sous-entendue

Help me please
Messages postés
16438
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
30 novembre 2021
123
Bonjour,

"je comprends pourquoi on utilise BlueJ"
En effet, BlueJ est bien adapté à des débutants, il fait juste ce qu'il faut pour commencer, tandis qu'Eclipse est un outils complet, largement utilisé dans le monde professionnel, mais plus difficile à prendre en main pour un néophyte (mais il y a pire, IntelliJ qui est encore plus riche, peut être difficile d'accès, même pour des développeurs aguerris).

"static veut dire "en mode console""
Non, pas du tout, mais static étant lié à une notion avancée de programmation objet, il vaut mieux accepter de ne pas comprendre ce que ça veut dire pour l'instant et considérer que tout est static par défaut, ça s'éclairera plus tard.

"pourquoi il faut mettre String[] args dans le code"
Lorsque tu démarres un programme en ligne de commandes, tu peux lui passer des arguments, qui seront transmis au programme grâce à ce tableau. En conséquence, au démarrage du programme, Java utilise la méthode main(String[]) comme point d'entrée de l'exécution, mais lancera une erreur si cette méthode n'existe pas, ce qui était le cas lors de ton premier code avec ta méthode main() sans le tableau String[]

Si tu veux tu peux essayer ce programme :
public class bonjou { 
    public static void main(String[] args){
        System.out.println("bonjour " + args[0]); // args[0] est la première valeur du tableau
    }
}
Et en ligne de commandes :
java bonjour David
où "David" sera transmis au programme au travers du String[] args de sorte que args[0] ait pour valeur "David".

"String est un type de variable pour reçevoir des chaines de caractères mais aussi une classe sous-entendue"
Il n'y a que 7 types de base (boolean, char, short, int, long, float, double), tout le reste ce sont des références vers les objets d'une classe, composés de types de bases et/ou d'autres références d'objets.
Mais String est un peu l'exception qui confirme la règle, car son usage est tellement fréquent qu'elle dispose de "raccourcis" dans l'écriture du code (on appelle ça du "sucre syntaxique"), que très peu d'autres classes peuvent se prétendre d'avoir (les tableaux sont aussi une exception...)

Remarque :
System.out.println
peut aussi être déroutant pour un débutant, puisqu'on a là un gloubi-boulga de notions très différentes, avec System qui est une classe, out un objet et println une méthode...