Vous êtes sur la page 1sur 19

enleverlecode

pour le tuto javascript error

https://youtu.be/uH3uqwe-y84

Quels sont les trois types des instructions en JavaScript ?


En JavaScript, il y a trois types primitifs principaux :
number (nombre) ;
string (chaîne de caractères) ;
boolean (valeur logique).

Une variable est composée de plusieurs éléments. Découvrons le type !

Qu'est-ce qu'un type ?


Le type d'une variable ou d'une constante est tout simplement le genre des données
qu'elle enregistre. En JavaScript, il y a trois types primitifs principaux :

number (nombre) ;

string (chaîne de caractères) ;

boolean (valeur logique).

Qu'est-ce qu'un type primitif ?

Les types primitifs sont les briques de base de chaque structure de données en
JavaScript. Peu importe la complexité finale de votre application, à sa base se
trouveront ces trois types primitifs.

Bien qu'il ne soit pas nécessaire de déclarer le type d'une variable en JavaScript
(plus de détails à ce sujet un peu plus tard), il est important de comprendre leur
existence et leur importance.

Découvrez le type "number"


Toutes les variables que vous avez créées jusqu'à maintenant dans ce cours étaient
du type number (nombre, en français). Comme vous l'avez vu, elles peuvent être
manipulées de nombreuses façons.

Les variables de type number peuvent être positives ou négatives. Elles peuvent
aussi être des nombres entiers (1, 2, 3, etc.) ou décimaux (1,4 ; 67,34 ; etc.).

En programmation, les nombres entiers sont aussi appelés entiers ou integers ; les
nombres avec des chiffres après la virgule sont aussi appelés nombres en virgule
flottante ou floating-point.

Attention à l'arithmétique en virgule flottante !


L'arithmétique en virgule flottante peut déclencher des erreurs très gênantes dans
tous les langages de programmation :

let integerCalculation = 1 + 2; // donne 3


let weirdCalculation = 0.1 + 0.2; // on attend 0.3, réponse réelle
0.30000000000000004
Chaque fois que c'est possible, utilisez plutôt des calculs entiers (pour le calcul
de prix, vous pouvez par exemple calculer en centimes, et non pas en euros ou en
dollars).

Appréhendez les valeurs logiques


Les valeurs logiques (booleans) sont le plus simple des types primitifs : elles ne
peuvent avoir que deux valeurs, true ou false (vrai ou faux). Elles
s'utilisent dans toutes sortes de cas : pour indiquer si un utilisateur est
connecté ou non, si une case est cochée ou non, ou si un ensemble de conditions
particulières est réuni.

Les variables de type boolean peuvent avoir une des deux valeurs true ou false
.

let userIsSignedIn = true;


let userIsAdmin = false;
Découvrez les chaînes de caractères
Les chaînes de caractères (chaînes, ou strings, en anglais) sont la façon
d'enregistrer du texte dans des variables JavaScript. On peut enregistrer dans une
variable de type string n'importe quelle chaîne de caractères, allant d'une seule
lettre à un très grand nombre de lettres (plus de 134 millions, même dans des
navigateurs anciens).

Les variables de type string sont encadrées par des guillemets simples ou doubles
–' ou " :

let firstName = "Will";


let lastName = 'Alexander';
Les chaînes peuvent aussi être concaténées (ajoutées à la fin l'une de l'autre) par
l'opérateur + :

let wholeName = firstName + " " + lastName; // valeur: "Will Alexander"


Il est possible depuis quelques années d’utiliser une nouvelle écriture qui
simplifie la concaténation des variables et des chaînes de caractère : la string
interpolation. Pour créer une string interpolation on écrit du texte encadrée par
le signe ` et si on veut injecter une variable dans ce code on utilise
l’expression ${maVariable}.

Un exemple vaut mieux que de longs discours :

const myName = `Alexander`;


const salutation = `Bienvenue sur mon site ${myName}!`;
console.log(salutation); //retournera “Bienvenue sur mon site Alexander!”
Il existe d'autres opérateurs plus évolués pour les chaînes ; nous les explorerons
dans les chapitres suivants.

Pratiquez les types de données

Entraînez-vous sur les types primitifs nombres, chaînes et valeurs logiques, avec
cet exercice CodePen.

Maintenant que vous avez terminé le composant pour la série, il est temps de
travailler sur le composant pour les épisodes individuels.

Ce composant affichera le titre de l'épisode, sa durée en minutes, et si


l'utilisateur a déjà regardé l'épisode ou non.

Créez une variable nommée episodeTitle qui contient une chaîne de caractères
correspondant au titre de votre épisode (employez votre créativité !).

Créez une variable appelée episodeDuration qui contient un nombre correspondant à


la durée de votre épisode en minutes.

Enfin, créez une variable booléenne nommée hasBeenWatched qui indique si


l'utilisateur a déjà regardé l'épisode ou non.

Vérifiez si le composant fonctionne correctement. N'hésitez pas à modifier vos


valeurs pour vérifier que le composant réagit comme prévu. N'oubliez pas, votre
code ira entre les commentaires "===" sur l'exercice.

Solution
Vous avez terminé ? Voici un nouveau CodePen avec une solution à l’exercice.

Comprenez les types en JavaScript


JavaScript est un langage dit à types dynamiques et à typage faible. Cela signifie
que vous pouvez initialiser une variable en tant que nombre, puis la réaffecter
comme chaîne, ou tout autre type de variable. Ceci offre une grande souplesse, mais
peut aussi conduire à un comportement inattendu si vous opérez sans précaution.

La morale de l'histoire : prenez garde aux types de vos variables, et en général,


utilisez des constantes chaque fois que c'est possible.

En résumé
Dans ce chapitre, vous avez découvert les trois principaux types de données
primitifs en JavaScript :

number (nombre) ;

boolean (valeur logique) ;

string (chaîne de caractères).

Il existe d'autres types de données plus complexes.

Nous commencerons d'ailleurs à nous intéresser à un type très utile dans le


chapitre suivant : les objets.

Techniquement, il y a trois autres types de données primitifs dans JavaScript :


null , undefined et symbol . Vous croiserez les deux premiers dans ce cours,
mais les symboles sortiraient du sujet. Pour en savoir plus, consultez les docs MDN
pour les types.

Que pensez-vous de ce cours ? Donnez-nous votre avis ici.

#
Et si vous obteniez un diplôme OpenClassrooms ?
Formations jusqu’à 100 % financées
Date de début flexible
Projets professionnalisants
Mentorat individuel
Trouvez la formation et le financement faits pour vous

Déclarez des variables et modifiez leurs valeurs


Définissez des objets et leurs attributs avec des classes
Quels sont les différents types en JavaScript ?
Les types de données JavaScript
Le type booléen.
Le type nul.
Le type indéfini.
Le type nombre.
Le type pour les grands entiers.
Le type pour les chaînes de caractères.
Le type symbole.

Comment écrire un script JavaScript ?


La syntaxe est simple : document.write("votre texte")
On peut aussi écrire une variable, soit la variable resultat, write(resultat);
Pour associer du texte et des variables, on utilise l'instruction write("Le
résultat est " + resultat);
Soit document.write("<BODY BGCOLOR="#FFFFFF">);

Quelle est la différence entre == et === JS ?


En résumé : L'égalité faible ( == ) effectuera une conversion des deux éléments à
comparer avant d'effectuer la comparaison. L'égalité stricte ( === ) effectuera la
même comparaison mais sans conversion préalable (elle renverra toujours false si
les types des deux valeurs comparées sont différents)22 oct. 2022

Comment Ecrire une variable en JavaScript ?


Il est possible de déclarer des variables de plusieurs façons :
En utilisant le mot-clé var , par exemple : var x = 42 . Cette syntaxe peut être
utilisée pour déclarer des variables locales ou globales selon le contexte
d'exécution.
En utilisant le mot-clé const ou le mot-clé let , par exemple avec let y = 13 .
21 sept. 2022

Quelle est la différence entre le HTML et le JavaScript ?


HTML, CSS et JavaScript sont les noms de différents types de code fréquemment
rencontrés dans le développement web. L'HTML permet l'affichage des informations de
la page sur le navigateur, le CSS met en page son contenu et JavaScript intègre les
animations et spécifie les interactions entre les éléments.
Quelle est la différence entre Java et JavaScript ?
Java est un langage de programmation OOP (Object Oriented Programming) tandis que
JavaScript est un langage de script OOP. Java permet de créer des applications qui
sont exécutées sur une machine ou un navigateur virtuel tandis que le code
JavaScript est exécuté uniquement sur un navigateur.

Comment appeler une variable en JS ?


Résultat de recherche d'images
Le nom d'une variable doit obligatoirement commencer par une lettre ou un
underscore ( _ ) et ne doit pas commencer par un chiffre ; Le nom d'une variable ne
doit contenir que des lettres, des chiffres et des underscores mais pas de
caractères spéciaux ; Le nom d'une variable ne doit pas contenir d'espace.

C'est quoi une variable en JavaScript ?


Une variable est un objet repéré par son nom, pouvant contenir des données, qui
pourront être modifiées lors de l'exécution du programme. un nom de variables peut
comporter des lettres, des chiffres et les caractères _ et & (les espaces ne sont
pas autorisés!)

Premiers pas avec Java

Éléments d'une application Java


Je comprends que vous ayez hâte de taper du code dans votre éditeur et de
l'exécuter pour voir votre première application Java en action ! Ne vous inquiétez
pas, vos attentes seront comblées à la fin de ce tutoriel. Mais avant de
poursuivre, j'aimerais passer en revue plusieurs éléments que vous devez connaître
pour bien comprendre ce que vous faites.

Même si vous êtes familier avec un autre langage de programmation, connaissez la


compilation, savez ce qu'est un fichier exécutable, vous pourriez être intéressé
par ce qui suit car Java fonctionne d'une manière différente de C ou C++.

Compilation et exécution de code Java


Vous devez suivre plusieurs étapes pour créer une application Java. Ce tutoriel
vous montre comment créer une application Java très simple. Si vous avez besoin de
créer une application d'entreprise, le processus de création est plus complexe,
mais à la base, vous trouverez ces étapes simples.

La première de ces étapes consiste à écrire du code Java dans un éditeur de texte.

Ensuite, ce code doit être transformé dans un autre format, qui peut être exécuté
par votre ordinateur. Cette transformation est effectuée par un logiciel spécial
appelé compilateur . Certains langages n'ont pas de compilateur ; Java le fait.
Chaque compilateur est spécifique à un langage.

Le fichier produit par un compilateur est souvent appelé fichier binaire ou fichier
exécutable. Alors que vous pouvez lire un code source et le comprendre, les
fichiers binaires ou exécutables ne sont pas destinés à être lus par une personne
humaine. Seul votre ordinateur peut lui donner un sens.

Ce code contient des codes binaires spéciaux appelés byte code . C'est un terme
technique que vous pouvez rencontrer. La description précise de ce qu'est ce code
d'octet dépasse le cadre de ce tutoriel.

La compilation de certains codes peut échouer ; votre code doit être correct pour
que le compilateur en produise une version exécutable. Ne vous inquiétez pas, cette
page vous donne le code que vous allez compiler. Tout ce que vous avez à faire est
de le copier et de le coller dans votre éditeur de texte.

Une fois que le compilateur a produit le fichier binaire dont vous avez besoin,
vous pouvez exécuter ce fichier binaire, qui sera votre programme.

Ces deux étapes : la compilation et l'exécution nécessitent deux logiciels


spécifiques qui font partie du kit de développement Java, également connu sous le
nom de JDK. Vous verrez comment télécharger gratuitement le JDK et comment
l'installer plus tard dans ce tutoriel.

Notez qu'à partir de Java SE 11, vous pouvez également fusionner ces deux étapes en
une seule, en exécutant .javadirectement un fichier. Vous ne pouvez utiliser ces
fonctionnalités que si vous exécutez un programme écrit dans un seul fichier. Cette
façon d'exécuter votre application Java ne fonctionne pas si votre code Java
s'étend sur plus d'un fichier.

Création d'une première classe Java


La première étape que vous devez savoir est que le code Java que vous écrivez est
enregistré dans des fichiers texte brut. Dans ce tutoriel, votre application sera
écrite dans un seul fichier texte. Les applications plus volumineuses peuvent
nécessiter des milliers de fichiers de ce type.

Java est un langage orienté objet. Si ce terme technique ne vous dit rien, ne vous
inquiétez pas, tout ce que vous devez retenir à ce stade est que tout le code que
vous écrivez doit être contenu dans une classe Java.

Une classe Java est créée par une déclaration spéciale dans un fichier texte.
Copiez simplement le code suivant et collez-le dans votre éditeur de texte.
Félicitations ! Vous avez créé votre première classe Java !

public class MyFirstClass {


}
Le nom de cette classe Java est MyFirstClass. Vous devez enregistrer ce texte dans
un fichier nommé MyFirstClass.java. Une classe Java doit être enregistrée dans un
fichier portant le même nom que votre classe avec l'extension .java. Ceci est
obligatoire et est en fait très pratique car vous n'avez pas besoin d'ouvrir un
fichier pour savoir quelle classe y est écrite.

Vous pouvez donner à cette classe n'importe quel nom tant qu'elle ne commence pas
par un chiffre. Il existe cependant une convention : le nom d'une classe Java
commence par une majuscule. Ce n'est pas obligatoire mais tous les développeurs
Java suivent cette convention. Lorsque vous deviendrez un développeur Java
chevronné, voir une classe qui ne suit pas cette convention vous semblera étrange.

Si vous suivez cet exemple à la lettre, vous devez enregistrer la


MyFirstClassclasse dans un fichier texte appelé MyFirstClass.java.
Juste un mot d'avertissement : vous devez utiliser un éditeur de texte brut pour
créer et enregistrer ce fichier. L'utilisation d'un traitement de texte ne
fonctionnera pas.

Préparer la compilation de votre premier cours


La compilation est la deuxième étape que vous devez suivre après la création de
votre première classe. Il consiste à transformer le code Java que vous avez écrit
dans votre MyFirstClass.javafichier dans un autre format exécutable. Le résultat de
cette transformation sera stocké dans un autre fichier créé par le compilateur. Le
nom de ce fichier sera MyFirstClass.class.

Jusqu'à présent, le seul outil que vous avez utilisé est un éditeur de texte brut.
Compiler cette classe nécessite un compilateur ; quelque chose que vous n'avez
peut-être pas sur votre ordinateur. Heureusement, vous pouvez télécharger ce
compilateur et l'utiliser gratuitement. Laissez-moi vous guider tout au long de ce
processus.

À partir de maintenant, télécharger "Java" signifie télécharger le kit de


développement Java, également connu sous le nom de JDK. Le JDK contient de nombreux
outils et parmi eux se trouvent ceux que vous utiliserez pour compiler et exécuter
une application Java. Il est officiellement distribué par le projet OpenJDK et par
Oracle.

Vous avez peut-être entendu parler d'autres éléments, également appelés "Java".

Le JRE signifie Java Runtime Environment. C'est un sous-ensemble du JDK qui n'est
plus distribué par OpenJDK ou Oracle. Il ne contenait que les outils nécessaires
pour exécuter une application Java. Vous ne pouvez pas compiler votre code avec les
outils fournis dans le JRE.

Vous avez peut-être aussi entendu parler de J2EE, Java EE ou Jakarta EE. Tous ces
acronymes font référence à Java Enterprise Edition. Il s'agit d'un ensemble
d'outils et de bibliothèques pour créer des applications de classe entreprise. Java
EE est différent du JDK et sort du cadre de ce didacticiel. Vous n'avez pas besoin
de Java EE pour compiler et exécuter l'application simple que nous créons dans ce
didacticiel.

Mise en place d'un kit de développement Java


Vous pouvez télécharger le JDK à partir de différents endroits. Il existe une page
unique qui fait toujours référence à la dernière version du JDK :
https://jdk.java.net/ . La sélection de la dernière version du JDK "Prêt à
l'emploi" vous amène à une page où vous pouvez télécharger la version du JDK dont
vous avez besoin.

Depuis cette page, vous pouvez télécharger quatre versions :

Linux/AArch64
Linux/x64
macOS/x64
Windows/x64
Cette page fournit des versions open source prêtes pour la production du kit de
développement Java, une implémentation de la plate-forme Java SE sous la licence
publique générale GNU, version 2, avec l'exception Classpath.

Configurer un JDK pour Windows/x64


Téléchargeons la version Windows. Vous obtenez un fichier ZIP d'environ 200 Mo que
vous pouvez ouvrir avec n'importe quel logiciel utilitaire ZIP. Ce fichier ZIP
contient le JDK. Vous pouvez décompresser le contenu de ce fichier n'importe où sur
votre ordinateur.

Une fois cela fait, vous devez créer une variable d'environnement appelée
JAVA_HOMEqui pointe vers le répertoire où vous avez décompressé le JDK. Vous devez
d'abord ouvrir une invite DOS. Si vous avez décompressé un fichier ZIP JDK 19 dans
le D:\jdk\répertoire, la commande que vous devez saisir dans cette invite DOS est
la suivante :

> set JAVA_HOME=D:\jdk\jdk-19


Veuillez noter que dans cet exemple et tous les autres, le début >est là pour vous
montrer que vous devez taper cette commande ou la coller dans une invite. Vous ne
devez pas saisir ce caractère ou le coller car il ne fait pas partie de la
setcommande.

Vous pouvez vérifier que la JAVA_HOMEvariable a été correctement définie en tapant


le code suivant :

> echo %JAVA_HOME%


Cette commande doit afficher les éléments suivants :

D:\jdk\jdk-19
Vous devez ensuite mettre à jour votre PATHvariable d'environnement pour biny
ajouter le répertoire de votre répertoire JDK. Cela peut être fait avec la commande
suivante :

> set PATH=%JAVA_HOME%\bin;%PATH%


Vous devez être très prudent lors de la configuration de ces deux variables, car
une seule erreur, comme un espace blanc ajouté ou un point-virgule manquant,
entraînera un échec.

Ne fermez pas cette invite de commande. Si vous le fermez et l'ouvrez à nouveau,


vous devrez recréer ces deux variables.

Configurer un JDK pour Linux/x64


Téléchargeons la version Linux. Ce que vous obtenez est un fichier d'archive avec
une .tar.gzextension que vous devez développer.

Pour le développer, vous devez le copier ou le déplacer dans le bon répertoire.


Vous pouvez ensuite taper la commande suivante :

$ tar xzf *.tar.gz


Veuillez noter que dans cet exemple et tous les autres, le début $est là pour vous
montrer que vous devez taper cette commande ou la coller dans une invite. Vous ne
devez pas saisir ce caractère ou le coller, car il ne fait pas partie de la
tarcommande.

Cette commande développe tous les fichiers avec l'extension .tar.gzque vous avez
dans le répertoire actuel. Vous pouvez utiliser le nom exact de ce fichier si vous
avez juste besoin de le développer.

L'exécution de cette commande peut prendre plusieurs secondes ou plus, selon votre
système. Il crée un nouveau répertoire dans le répertoire courant avec le contenu
du JDK.

Une fois cela fait, vous devez créer une variable d'environnement appelée
JAVA_HOMEqui pointe vers le répertoire dans lequel vous avez développé le JDK. Si
vous avez développé un fichier d'archive JDK 19 dans le
/home/javauser/jdkrépertoire, la commande que vous devez saisir dans cette invite
du shell est la suivante :

$ export JAVA_HOME=/home/javauser/jdk/jdk-19
Le répertoire exact dépend du fichier de distribution que vous avez développé.

Vous pouvez vérifier que la JAVA_HOMEvariable a été correctement définie en tapant


le code suivant :

$ echo $JAVA_HOME
Cette commande doit afficher les éléments suivants :

/home/javauser/jdk/jdk-19
Ensuite, vous devez mettre à jour votre PATHvariable pour biny ajouter le
répertoire de votre répertoire JDK. Cela peut être fait avec la commande suivante :

$ export PATH=$JAVA_HOME/bin:$PATH
Vous devez être très prudent lors de la configuration de ces deux variables, car
une seule erreur comme un espace blanc ajouté d'un point-virgule manquant
entraînera un échec.

Ne fermez pas cette invite du shell. Si vous le fermez et l'ouvrez à nouveau, vous
devrez recréer ces deux variables.

Vous pouvez vérifier si tout est ok en tapant la commande suivante :

$ which java
Votre shell devrait imprimer le chemin complet du javafichier exécutable dans le
binrépertoire de la distribution que vous venez de développer. Dans cet exemple, il
imprimera :

/home/javauser/jdk/jdk-19/bin/java
Configurer un JDK pour macOS
Téléchargeons la version macOS. Ce que vous obtenez est un fichier d'archive avec
une .tar.gzextension que vous devez développer.

Pour le développer, vous devez le copier ou le déplacer dans le bon répertoire.


Vous pouvez ensuite taper la commande suivante :

$ tar xzf *.tar.gz


Veuillez noter que dans cet exemple, et tous les autres, le début $est là pour vous
montrer que vous devez taper cette commande ou la coller dans une invite. Vous ne
devez pas saisir ce caractère ou le coller car il ne fait pas partie de la
tarcommande.

Cette commande développe tous les fichiers avec l'extension .tar.gzque vous avez
dans le répertoire actuel. Vous pouvez utiliser le nom exact de ce fichier si vous
avez juste besoin de le développer.

L'exécution de cette commande peut prendre plusieurs secondes ou plus, selon votre
système. Il crée un nouveau répertoire dans le répertoire courant avec le contenu
du JDK. Ce répertoire porte l'extension .jdk.

Une fois cela fait, vous devez créer une variable d'environnement appelée
JAVA_HOMEqui pointe vers le répertoire dans lequel vous avez développé le JDK. Si
vous avez développé un fichier d'archive JDK 19 dans le
/Users/javauser/jdkrépertoire, la commande que vous devez saisir dans cette invite
du shell est la suivante :
$ export JAVA_HOME=/Users/javauser/jdk/jdk-19.jdk/Contents/Home
Le répertoire exact dépend du fichier de distribution que vous avez développé.

Vous pouvez vérifier que la JAVA_HOMEvariable a été correctement définie en tapant


le code suivant :

$ echo $JAVA_HOME
Cette commande doit afficher les éléments suivants :

/Users/javauser/jdk/jdk-19.jdk/Contents/Home
Vous devez ensuite mettre à jour votre PATHvariable pour biny ajouter le répertoire
de votre répertoire JDK. Cela peut être fait avec la commande suivante :

$ export PATH=$JAVA_HOME/bin:$PATH
Vous devez être très prudent lors de la configuration de ces deux variables, car
une seule erreur comme un espace blanc ajouté d'un point-virgule manquant
entraînera un échec.

Ne fermez pas cette invite du shell. Si vous le fermez et l'ouvrez à nouveau, vous
devrez recréer ces deux variables.

Vous pouvez vérifier si tout est ok en tapant la commande suivante :

$ which java
Votre shell devrait imprimer le chemin complet du javafichier exécutable dans le
binrépertoire de la distribution que vous venez de développer. Dans cet exemple, il
imprimera :

/Users/javauser/jdk/jdk-19.jdk/Contents/Home/bin/java

Compiler votre première classe


Une fois que vous avez correctement configuré votre JDK ; la JAVA_HOMEvariable et
la PATHvariable, vous êtes prêt à compiler votre première classe.

Toutes les commandes que vous allez taper maintenant doivent être tapées dans la
même invite que celle que vous avez utilisée pour configurer ces deux variables.

Compilation et exécution de votre premier programme Java


Que vous ayez suivi le chemin Windows, Linux ou macOS, le reste est le même.

Accédez au répertoire dans lequel vous avez enregistré votre première classe
MyFirstClass.java. Vous pouvez vérifier que vous êtes dans le bon répertoire en
tapant dir. Il vous montrera les fichiers que vous avez dans ce répertoire. Vous
devriez voir votre MyFirstClass.javadossier.
Vérifiez que votre compilateur est accessible depuis ce répertoire en tapant ce qui
suit. Cette commande est la même que vous soyez sous Windows ou Linux.
> java -version
Il devrait vous dire quelle version de javacvous utilisez actuellement. Si cela
vous donne un message d'erreur, vous devez vérifier vos variables JAVA_HOMEet
PATHcar il y a très probablement quelque chose qui ne va pas avec eux.

Vous êtes maintenant prêt à compiler votre premier code. Vous pouvez taper ce qui
suit.
> javac MyFirstClass.java
Deux choses peuvent se produire à ce stade. Vous pouvez avoir des messages d'erreur
vous indiquant que le compilateur ne peut pas compiler votre code en raison
d'erreurs dans votre code Java. Vous devrez les réparer avant de pouvoir continuer.
Si le compilateur reste silencieux et ne se plaint de rien : félicitations ! Cela
signifie que votre code Java a été correctement compilé. Une nouvelle vérification
du contenu du répertoire devrait afficher un nouveau fichier :MyFirstClass.class

Ajouter du code à votre classe pour l'exécuter


Jusqu'à présent, votre classe est vide ; il n'y a pas de code exécutable dedans. Si
vous avez pu le compiler correctement, vous pouvez passer à l'étape suivante et
exécuter du code.

Ouvrez simplement votre MyFirstClass.javafichier et copiez-y le code suivant.

public class MyFirstClass {

public static void main(String... args) {


System.out.println("Hello, World!");
}
}
Comme vous le savez peut-être, il existe une tradition de longue date en
informatique, qui consiste à écrire un programme qui affiche "Hello, World!" sur la
console de votre application. Alors faisons-le !

Il y a un code technique dans cette classe qui peut ne pas être très clair pour
vous. Ne t'inquiète pas; tout ce que vous avez à faire est de le compiler en
suivant les étapes décrites dans la section précédente.

Assurez-vous que le compilateur a créé le MyFirstClass.classpour vous. Pour


l'exécuter, il vous suffit de taper la commande suivante :

> java MyFirstClass


Cela devrait imprimer Hello, World! sur la console. Si tel est le cas :
félicitations ! Vous avez pu exécuter votre premier programme Java !

Exécution du programme Hello World en tant qu'application à fichier unique


À partir de Java SE 11, vous pouvez exécuter une application Java sans passer par
l'étape de compilation, tant que le programme est écrit dans un seul fichier. C'est
le cas de ce simple Hello, World! application.

Vous pouvez simplement taper ce qui suit :

> java MyFirstClass.java


Et il imprimera le Hello, World! message sur la console.

Problèmes courants et leurs solutions


Problèmes de compilation
Messages d'erreur courants sur les systèmes Microsoft Windows
javac is not recognized as an internal or external command, operable program or
batch file
Si vous recevez cette erreur, Windows ne peut pas trouver le compilateur javac.

Voici une façon d'indiquer à Windows où trouver les fichiers javac. Supposons que
vous ayez installé le JDK dans C:\jdk19. À l'invite, tapez la commande suivante et
appuyez sur Entrée :
C:\jdk19\bin\javac HelloWorldApp.java
Si vous choisissez cette option, vous devrez faire précéder vos commandes et à
javacchaque fois que vous compilez ou exécutez un programme. Pour éviter cette
saisie supplémentaire, consultez la section Mise à jour de la variable dans les
instructions d'installation du JDK 19.javaC:\jdk19\bin\PATH

Class names, HelloWorldApp, are only accepted if annotation processing is


explicitly requested
Si vous recevez cette erreur, vous avez oublié d'inclure le .javasuffixe lors de la
compilation du programme. N'oubliez pas que la commande javac
HelloWorldApp.javan'est pas javac HelloWorldApp.

Messages d'erreur courants sur les systèmes UNIX


javac: Command not found
Si vous recevez cette erreur, UNIX ne peut pas trouver le compilateur, javac.

Voici une façon d'indiquer à UNIX où trouver javac. Supposons que vous ayez
installé le JDK dans /usr/local/jdk19. À l'invite, tapez la commande suivante et
appuyez sur Entrée :

/usr/local/jdk19/javac HelloWorldApp.java
Remarque : Si vous choisissez cette option, chaque fois que vous compilez ou
exécutez un programme, vous devrez faire précéder vos commandes javacet de . Pour
éviter cette saisie supplémentaire, vous pouvez ajouter ces informations à votre
variable. Les étapes à suivre varient en fonction du shell que vous utilisez
actuellement.java/usr/local/jdk19/PATH

Class names, 'HelloWorldApp', are only accepted if annotation processing is


explicitly requested
Si vous recevez cette erreur, vous avez oublié d'inclure le .javasuffixe lors de la
compilation du programme. N'oubliez pas que la commande javac
HelloWorldApp.javan'est pas javac HelloWorldApp.

Erreurs de syntaxe (toutes les plates-formes)


Si vous tapez mal une partie d'un programme, le compilateur peut générer une erreur
de syntaxe. Le message affiche généralement le type d'erreur, le numéro de ligne où
l'erreur a été détectée, le code sur cette ligne et la position de l'erreur dans le
code. Voici une erreur causée par l'omission d'un point-virgule ( ;) à la fin d'une
instruction :

Testing.java:8: error: ';' expected


count++
^
1 error
Si vous voyez des erreurs de compilateur, votre programme n'a pas réussi à se
compiler et le compilateur n'a pas créé de .classfichier. Vérifiez soigneusement le
programme, corrigez les erreurs que vous détectez et réessayez.

Erreurs sémantiques
En plus de vérifier que votre programme est syntaxiquement correct, le compilateur
vérifie d'autres exactitudes de base. Par exemple, le compilateur vous avertit
chaque fois que vous utilisez une variable non initialisée :

Testing.java:8: error: variable count might not have been initialized


count++;
^
Testing.java:9: error: variable count might not have been initialized
System.out.println("Input has " + count + " chars.");
^
2 errors
Encore une fois, votre programme n'a pas réussi à se compiler et le compilateur n'a
pas créé de .classfichier. Corrigez l'erreur et réessayez.

Problèmes d'exécution
Messages d'erreur sur les systèmes Microsoft Windows
Si vous recevez cette erreur, javaimpossible de trouver votre fichier de bytecode,
HelloWorldApp.class.

L'un des endroits où javaessaie de trouver votre .classfichier est votre répertoire
actuel. Donc, si votre .classfichier est dans C:\java, vous devez changer votre
répertoire actuel en celui-ci. Pour changer de répertoire, tapez la commande
suivante à l'invite et appuyez sur Entrée :

cd c:\java
L'invite doit se transformer en C:\java>. Si vous entrez dirà l'invite, vous
devriez voir vos fichiers .javaet . .classMaintenant, entrez java HelloWorldAppà
nouveau.

Si vous rencontrez toujours des problèmes, vous devrez peut-être modifier votre
CLASSPATHvariable. Pour voir si cela est nécessaire, essayez d'encombrer le chemin
de classe avec la commande suivante.

set CLASSPATH=
Maintenant, entrez java HelloWorldAppà nouveau. Si le programme fonctionne
maintenant, vous devrez changer votre CLASSPATHvariable. Pour définir cette
variable, consultez la section Mise à jour de la variable PATH dans les
instructions d'installation du JDK. La CLASSPATHvariable est définie de la même
manière.

Could not find or load main class HelloWorldApp.class


Une erreur courante commise par les programmeurs débutants est d'essayer d'exécuter
le javalanceur sur le .classfichier créé par le compilateur. Par exemple, vous
obtiendrez cette erreur si vous essayez d'exécuter votre programme avec java
HelloWorldApp.classau lieu de java HelloWorldApp. N'oubliez pas que l'argument est
le nom de la classe que vous souhaitez utiliser, pas le nom du fichier.

Exception in thread "main" java.lang.NoSuchMethodError: main


La machine virtuelle Java nécessite que la classe que vous exécutez avec elle ait
une mainméthode à partir de laquelle commencer l'exécution de votre application. Un
examen plus approfondi de la section Ajouter du code à votre classe pour l'exécuter
décrit en détail la méthode principale.

Messages d'erreur sur les systèmes UNIX


Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp
Si vous recevez cette erreur, javaimpossible de trouver votre fichier de bytecode,
HelloWorldApp.class.

L'un des endroits où Java essaie de trouver votre fichier de bytecode est votre
répertoire actuel. Ainsi, par exemple, si votre fichier de bytecode est dans
/home/jdoe/java, vous devez changer votre répertoire actuel en celui-ci. Pour
changer de répertoire, tapez la commande suivante à l'invite et appuyez sur
Entrée :

cd /home/jdoe/java
Si vous entrez pwdà l'invite, vous devriez voir /home/jdoe/java. Si vous entrez lsà
l'invite, vous devriez voir vos fichiers .javaet . .classMaintenant, entrez java
HelloWorldAppà nouveau.
Si vous rencontrez toujours des problèmes, vous devrez peut-être modifier votre
CLASSPATHvariable d'environnement. Pour voir si cela est nécessaire, essayez
d'encombrer le chemin de classe avec la commande suivante.

unset CLASSPATH
Maintenant, entrez java HelloWorldAppà nouveau. Si le programme fonctionne
maintenant, vous devrez modifier votre CLASSPATHvariable de la même manière que la
PATHvariable ci-dessus.

Exception in thread "main" java.lang.NoClassDefFoundError: HelloWorldApp/class


Une erreur courante commise par les programmeurs débutants consiste à essayer
d'exécuter le lanceur Java sur le .classfichier créé par le compilateur. Par
exemple, vous obtiendrez cette erreur si vous essayez d'exécuter votre programme
avec java HelloWorldApp.classau lieu de java HelloWorldApp. N'oubliez pas que
l'argument est le nom de la classe que vous souhaitez utiliser, pas le nom du
fichier.

Exception in thread "main" java.lang.NoSuchMethodError: main


La machine virtuelle Java nécessite que la classe que vous exécutez avec elle ait
une méthode principale à partir de laquelle commencer l'exécution de votre
application. Un examen plus approfondi de la section Ajouter du code à votre classe
pour l'exécuter décrit en détail la méthode principale.

Aller plus loin


Ce premier programme Java vous a montré les étapes de base que chaque développeur
Java suit pour exécuter une application.

Créer une source dans un ensemble de .javafichiers texte


Compilez ces fichiers pour produire un ensemble de .classfichiers binaires
correspondants
Exécutez-les ensemble comme une application.
Les développeurs qui travaillent sur de grandes applications n'utilisent pas
d'éditeurs de texte brut pour gérer leur code source ; ils utilisent des
environnements de développement intégrés. Les IDE sont des applications logicielles
complexes, spécialisées dans le développement de logiciels. Ces applications gèrent
automatiquement la compilation de votre code source, elles peuvent vous aider à
traquer les erreurs dans la syntaxe de votre code Java et à repérer les bogues dans
son exécution, entre autres.

Certains de ces outils sont open source et gratuits.

Création de variables de type primitif dans vos programmes


Vous avez déjà appris que les objets stockent leur état dans des champs. Cependant,
le langage de programmation Java utilise également le terme variable . Cette
section traite de cette relation, ainsi que des règles et conventions de
dénomination des variables, des types de données de base (types primitifs, chaînes
de caractères et tableaux), des valeurs par défaut et des littéraux.
Types primitifs
Le langage de programmation Java est typé statiquement, ce qui signifie que toutes
les variables doivent d'abord être déclarées avant de pouvoir être utilisées. Il
s'agit de préciser le type et le nom de la variable, comme vous l'avez déjà vu :

int gear = 1;
Cela indique à votre programme qu'un champ nommé gearexiste, contient des données
numériques et a une valeur initiale de 1. Le type de données d'une variable
détermine les valeurs qu'elle peut contenir, ainsi que les opérations qui peuvent
être effectuées dessus. En plus de int, le langage de programmation Java prend en
charge sept autres types de données primitifs. Un type primitif est prédéfini par
le langage et est nommé par un mot clé réservé. Les valeurs primitives ne partagent
pas d'état avec d'autres valeurs primitives. Les huit types de données primitifs
pris en charge par le langage de programmation Java sont :

byte: Le bytetype de données est un entier 8 bits signé complément à deux. Il a une
valeur minimale de -128 et une valeur maximale de 127 (inclus). Le bytetype de
données peut être utile pour économiser de la mémoire dans de grands tableaux, où
les économies de mémoire sont réellement importantes. Ils peuvent également être
utilisés à la place de intlà où leurs limites aident à clarifier votre code ; le
fait que la plage d'une variable soit limitée peut servir de forme de
documentation.

short: Le shorttype de données est un entier 16 bits signé complément à deux. Il a


une valeur minimale de -32 768 et une valeur maximale de 32 767 (inclus). Comme
pour byte, les mêmes directives s'appliquent : vous pouvez utiliser un raccourci
pour économiser de la mémoire dans de grands tableaux, dans des situations où les
économies de mémoire sont réellement importantes.

int: Par défaut, le inttype de données est un entier 32 bits signé complément à
deux, qui a une valeur minimale de -2 31 et une valeur maximale de 2 31 -1. Dans
Java SE 8 et versions ultérieures, vous pouvez utiliser le inttype de données pour
représenter un entier 32 bits non signé, qui a une valeur minimale de 0 et une
valeur maximale de 2 32 -1. Utilisez la Integerclasse pour utiliser intle type de
données comme un entier non signé. Voir la section Les classes de nombres pour plus
d'informations. Des méthodes statiques comme compareUnsigned()ont été ajoutées à la
Integerclasse pour prendre en charge les opérations arithmétiques pour les entiers
non signés.

long: Le longtype de données est un entier de complément à deux de 64 bits. Le long


signé a une valeur minimale de -2 63 et une valeur maximale de 2 63 -1. Dans Java
SE 8 et versions ultérieures, vous pouvez utiliser le longtype de données pour
représenter une longueur non signée de 64 bits, qui a une valeur minimale de 0 et
une valeur maximale de 2 64 -1. Utilisez ce type de données lorsque vous avez
besoin d'une plage de valeurs plus large que celles fournies par int. La Longclasse
contient également des méthodes telles que compareUnsigned(), divideUnsigned()etc.
pour prendre en charge les opérations arithmétiques pour un long non signé.

float: Le floattype de données est une virgule flottante IEEE 754 32 bits simple
précision. Sa plage de valeurs dépasse le cadre de cette discussion, mais est
spécifiée dans la section Types, formats et valeurs à virgule flottante de la
spécification du langage Java . Comme pour les recommandations pour byteet short,
utilisez a float(au lieu de double) si vous avez besoin d'économiser de la mémoire
dans de grands tableaux de nombres à virgule flottante. Ce type de données ne doit
jamais être utilisé pour des valeurs précises, telles que la devise. Pour cela,
vous devrez utiliser la java.math.BigDecimalclasse à la place. Couvertures de
nombres et de chaînesBigDecimal et autres classes utiles fournies par la plate-
forme Java.
double: Le doubletype de données est une virgule flottante IEEE 754 64 bits double
précision. Sa plage de valeurs dépasse le cadre de cette discussion, mais est
spécifiée dans la section Types, formats et valeurs à virgule flottante de la
spécification du langage Java . Pour les valeurs décimales, ce type de données est
généralement le choix par défaut. Comme mentionné ci-dessus, ce type de données ne
doit jamais être utilisé pour des valeurs précises, telles que la devise.

boolean: Le booleantype de données n'a que deux valeurs possibles : trueet false.
Utilisez ce type de données pour les indicateurs simples qui suivent les conditions
vrai/faux. Ce type de données représente un bit d'information, mais sa "taille"
n'est pas définie avec précision.

char: Le chartype de données est un seul caractère Unicode 16 bits. Il a une valeur
minimale de \u0000(ou 0) et une valeur maximale de \uffff(ou 65 535 inclus).

Outre les huit types de données primitifs répertoriés ci-dessus, le langage de


programmation Java fournit également un support spécial pour les chaînes de
caractères via la java.lang.Stringclasse. Mettre votre chaîne de caractères entre
guillemets doubles créera automatiquement un nouvel Stringobjet ; Par exemple:

String s = "this is a string";


Stringles objets sont immuables, ce qui signifie qu'une fois créés, leurs valeurs
ne peuvent pas être modifiées. La Stringclasse n'est pas techniquement un type de
données primitif, mais compte tenu du support spécial qui lui est donné par le
langage, vous aurez probablement tendance à la considérer comme telle. Vous en
apprendrez plus sur la Stringclasse dans la section Strings .

Initialisation d'une variable avec une valeur par défaut


Il n'est pas toujours nécessaire d'affecter une valeur lors de la déclaration d'un
champ. Les champs déclarés mais non initialisés seront définis sur une valeur par
défaut raisonnable par le compilateur. De manière générale, cette valeur par défaut
sera zéro ou nulle, selon le type de données. S'appuyer sur de telles valeurs par
défaut, cependant, est généralement considéré comme un mauvais style de
programmation.

Le tableau suivant résume les valeurs par défaut pour les types de données ci-
dessus.

Type de données Valeur par défaut (pour les champs)


octet 0
court 0
entier 0
long 0L
flotter 0.0f
double 0.0d
carboniser \u0000
Chaîne (ou tout objet) nul
booléen false
Les variables locales sont légèrement différentes ; le compilateur n'attribue
jamais de valeur par défaut à une variable locale non initialisée. Si vous ne
pouvez pas initialiser votre variable locale là où elle est déclarée, assurez-vous
de lui affecter une valeur avant d'essayer de l'utiliser. L'accès à une variable
locale non initialisée entraînera une erreur de compilation.

Créer des valeurs avec des littéraux


Vous avez peut-être remarqué que le newmot clé n'est pas utilisé lors de
l'initialisation d'une variable de type primitif. Les types primitifs sont des
types de données spéciaux intégrés au langage ; ce ne sont pas des objets créés à
partir d'une classe. Un littéral est la représentation dans le code source d'une
valeur fixe ; les littéraux sont représentés directement dans votre code sans
nécessiter de calcul. Comme indiqué ci-dessous, il est possible d'affecter un
littéral à une variable de type primitif :

boolean result = true;


char capitalC = 'C';
byte b = 100;
short s = 10000;
int i = 100000;

Littéraux entiers
Un entier littéral est de type longs'il se termine par la lettre Lou l; sinon il
est de type int. Il est recommandé d'utiliser la lettre majuscule Lcar la lettre
minuscule lest difficile à distinguer du chiffre 1.

Les valeurs des types intégraux byte, short, intet longpeuvent être créées à partir
de intlittéraux. Les valeurs de type longqui dépassent la plage de intpeuvent être
créées à partir de longlittéraux. Les littéraux entiers peuvent être exprimés par
ces systèmes de nombres :

Décimal : Base 10, dont les chiffres sont constitués des nombres 0 à 9 ; c'est le
système de numérotation que vous utilisez tous les jours
Hexadécimal : Base 16, dont les chiffres sont composés des chiffres de 0 à 9 et des
lettres A à F
Binaire : Base 2, dont les chiffres sont constitués des nombres 0 et 1 (vous pouvez
créer des littéraux binaires dans Java SE 7 et versions ultérieures)
Pour la programmation à usage général, le système décimal sera probablement le seul
système numérique que vous utiliserez. Toutefois, si vous devez utiliser un autre
système de numérotation, l'exemple suivant montre la syntaxe correcte. Le préfixe
0xindique hexadécimal et 0bindique binaire :

// The number 26, in decimal


int decimalValue = 26;

// The number 26, in hexadecimal


int hexadecimalValue = 0x1a;

// The number 26, in binary


int binaryValue = 0b11010;

Littéraux à virgule flottante


Un littéral à virgule flottante est de type floats'il se termine par la lettre Fou
f; sinon son type est doubleet il peut éventuellement se terminer par la lettre Dou
d.

Les types à virgule flottante ( floatet double) peuvent également être exprimés à
l'aide de Eou e(pour la notation scientifique), Fou f(littéral flottant 32 bits) et
Dou d(double littéral 64 bits ; il s'agit de la valeur par défaut et, par
convention, il est omis).

double d1 = 123.4;

// same value as d1, but in scientific notation


double d2 = 1.234e2;
float f1 = 123.4f;

Littéraux de caractère et de chaîne


Littéraux de types charet Stringpeuvent contenir n'importe quel caractère Unicode
(UTF-16). Si votre éditeur et votre système de fichiers le permettent, vous pouvez
utiliser ces caractères directement dans votre code. Sinon, vous pouvez utiliser un
"échappement Unicode" tel que \u0108(C majuscule avec circonflexe) ou "S\u00ED Se\
u00F1or" (Sí Señor en espagnol). Utilisez toujours des "guillemets simples" pour
charles littéraux et des "guillemets doubles" pour Stringles littéraux. Les
séquences d'échappement Unicode peuvent être utilisées ailleurs dans un programme
(comme dans les noms de champs, par exemple), pas seulement dans charou dans
Stringles littéraux.

Le langage de programmation Java prend également en charge quelques séquences


d'échappement spéciales pour les littéraux charetString : \b(retour arrière), \
t(tabulation), \n(saut de ligne), \f(saut de page), \r(retour
chariot), \"(guillemet double), \'(guillemets simples) et \\( barre oblique
inverse).

Il existe également un nulllittéral spécial qui peut être utilisé comme valeur pour
n'importe quel type de référence. Le nulllittéral peut être affecté à n'importe
quelle variable, à l'exception des variables de types primitifs. Vous ne pouvez pas
faire grand-chose avec une nullvaleur au-delà de tester sa présence. Par
conséquent, nullest souvent utilisé dans les programmes comme marqueur pour
indiquer qu'un objet n'est pas disponible.

Enfin, il existe également un type spécial de littéral appelé littéral de classe ,


formé en prenant un nom de type et en ajoutant .class; par exemple, String.class.
Cela fait référence à l'objet qui représente le type lui-même, de type Class.

Utilisation de caractères de soulignement dans les littéraux numériques


Dans Java SE 7 et versions ultérieures, n'importe quel nombre de caractères de
soulignement ( _) peut apparaître n'importe où entre les chiffres d'un littéral
numérique. Cette fonctionnalité vous permet, par exemple. pour séparer des groupes
de chiffres dans des littéraux numériques, ce qui peut améliorer la lisibilité de
votre code.

Par exemple, si votre code contient des nombres avec de nombreux chiffres, vous
pouvez utiliser un caractère de soulignement pour séparer les chiffres par groupes
de trois, de la même manière que vous utiliseriez un signe de ponctuation comme une
virgule ou un espace, comme séparateur.

L'exemple suivant montre d'autres façons d'utiliser le trait de soulignement dans


les littéraux numériques :

long creditCardNumber = 1234_5678_9012_3456L;


long socialSecurityNumber = 999_99_9999L;
float pi = 3.14_15F;
long hexBytes = 0xFF_EC_DE_5E;
long hexWords = 0xCAFE_BABE;
long maxLong = 0x7fff_ffff_ffff_ffffL;
byte nybbles = 0b0010_0101;
long bytes = 0b11010010_01101001_10010100_10010010;
Vous pouvez placer des traits de soulignement uniquement entre les chiffres ; vous
ne pouvez pas placer de traits de soulignement aux endroits suivants :
Au début ou à la fin d'un numéro
Adjacent à un point décimal dans un littéral à virgule flottante
Avant un suffixe FouL
Dans les positions où une chaîne de chiffres est attendue
Les exemples suivants illustrent les placements de traits de soulignement valides
et non valides dans les littéraux numériques :

// Invalid: cannot put underscores


// adjacent to a decimal point
float pi1 = 3_.1415F;
// Invalid: cannot put underscores
// adjacent to a decimal point
float pi2 = 3._1415F;
// Invalid: cannot put underscores
// prior to an L suffix
long socialSecurityNumber1 = 999_99_9999_L;

// OK (decimal literal)
int x1 = 5_2;
// Invalid: cannot put underscores
// At the end of a literal
int x2 = 52_;
// OK (decimal literal)
int x3 = 5_______2;

// Invalid: cannot put underscores


// in the 0x radix prefix
int x4 = 0_x52;
// Invalid: cannot put underscores
// at the beginning of a number
int x5 = 0x_52;
// OK (hexadecimal literal)
int x6 = 0x5_2;
// Invalid: cannot put underscores
// at the end of a number
int x7 = 0x52_;
Dans ce tutoriel
Types primitifs
Initialisation d'une variable avec une valeur par défaut
Créer des valeurs avec des littéraux
Littéraux entiers
Point flottant
Littéraux de caractère et de chaîne
Utilisation de caractères de soulignement dans les littéraux numériques

Dernière mise à jour : 22 septembre 2021

Vous aimerez peut-être aussi