Je n'arrive pas à compiler mon programme

Davidlezero Messages postés 3 Date d'inscription samedi 23 octobre 2021 Statut Membre Dernière intervention 23 octobre 2021 - Modifié le 24 oct. 2021 à 10:04
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 - 24 oct. 2021 à 11:15
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

Davidlezero Messages postés 3 Date d'inscription samedi 23 octobre 2021 Statut Membre Dernière intervention 23 octobre 2021
23 oct. 2021 à 23:10
pfff.... je comprends pourquoi on utilise BlueJ ça me soûle!!!!
0
Davidlezero Messages postés 3 Date d'inscription samedi 23 octobre 2021 Statut Membre Dernière intervention 23 octobre 2021
Modifié le 24 oct. 2021 à 10:05
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
0
KX Messages postés 16734 Date d'inscription samedi 31 mai 2008 Statut Modérateur Dernière intervention 24 avril 2024 127
Modifié le 24 oct. 2021 à 11:20
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...
0
Rejoignez-nous