JAVA
Cours et TP n° 01
Introduction – Installation – Premiers programmes
Bertrand LIAUDET
SOMMAIRE
SOMMAIRE 1
JAVA – INTRODUCTION - INSTALLATION 4
Références 4
Documentation ORACLE 4
Introduction historique 5
Historique 5
Principes techniques 5
Java et Internet 5
Java aujourd’hui : ORACLE 5
Structure du marché - 2018 6
Composants pour la programmation en 2018. 7
Java SE 7
Java EE 7
Java ME 7
Grosse communauté de développeurs 7
Composants d’installation pour le JSE : JRE et JDK 8
Le JRE 8
Le JDK 8
Robuste 10
Compilé – JDK - javac - bytecode 10
Interprété – JRE - JVM 10
Performance 11
Dynamique 11
Riche : bibliothèques nombreuses 11
Sécurisé 12
Multi-tâches : thread 12
Architecture distribuée 12
Premiers programmes 13
Ecriture du code 13
Nom des fichiers : fichier .java 13
Compilation : javac.exe 13
Résultats de la compilation : fichier .class : bytecode 13
Erreurs de compilation 13
Exécution d’un programme : java.exe 13
Nom du fichier, nom de la classe, majuscules et minuscules 14
Exemple 1 : Hello World 14
Exemple 2 : Calculette et analyse de la ligne de commande 15
Remarques générales sur la programmation Java 17
Identificateurs 17
Fichier Java 17
Commentaires 18
Les commentaires de code 18
Les commentaires pour la documentation et le « javadoc » 18
JAVA – TP DE PRISE EN MAIN 21
Installation 21
1- Nettoyer son PC 21
2 - Installation JRE (2018) 21
3 - Installation JDK (2018) 22
Documentation Oracle d’installation 23
Environnement de travail 23
4 – Créer un répertoire de travail 23
Documentation du langage et des API 23
5 - Versions 23
Hello World 24
6 – Saisie d’un programme 24
7 – Test du programme 24
Calculette 24
8 – Saisie d’un programme 24
9 – Test du programme 25
Documentation standard 25
10 – Parcours de la documentation 25
Premier programme 25
11. Equa1 25
Edition septembre 2018
JAVA – INTRODUCTION - INSTALLATION
Références Bibliographie
• Programmer en Java – Claude Delannoy – Eyrolles 2004
• Java 6 – Thierry Groussard - ENI 2009 Syntaxe
• Pour les notions et la syntaxe : polycopié de Albin Morelle – ESIEE 2008 http://bliaudet.free.fr/IMG/pdf/PolyJava.pdf
Référence 2018 :
The Java™ Language Specification : https://docs.oracle.com/javase/specs/
JSE-10-HTML : https://docs.oracle.com/javase/specs/jls/se10/html/index.html JSE-10-PDF : https://docs.oracle.com/javase/specs/jls/se10/jls10.pdf
La documentation des API
https://docs.oracle.com/javase/10/docs/api/index.html?overview-summary.html
Documentation ORACLE
Le site ORACLE fourmille de documentation. Par exemple : Java qu’est-ce que c’est
https://www.java.com/fr/about/whatis_java.jsp Plus d’informations sur Java
https://www.java.com/fr/about/
Documentation JSE
http://www.oracle.com/technetwork/java/javase/overview/index.html Documentation JDK
https://docs.oracle.com/javase/10/
Introduction historique
Historique Quand
• 1991
• Post C++
Qui
• SUN : constructeur d’ordinateurs en réseau sous Unix et éditeur de logiciel.
• James Gosling et Patrick Naughton (et Billy Joy) – James Gosling et Henry Mc Gilton Quoi
• Idée d’un langage autour d’une plateforme de développement
• Objectifs : applications sécurisées et multi-périphériques (code indépendant du type de machine et du type d’OS) : c’est le principe même du WEB !
Principes techniques
• Syntaxe simple type C simplifié
• Langage « pur objet ». Le Java est la référence en programmation objet.
• Applications portables : grâce à la plateforme.
• Application robuste : grâce à une gestion de la mémoire prise en charge par le moteur d’exécution Java : Java Runtime Environment = JRE => pas de problème de pointeur.
• Applications graphiques performantes : grâce à la gestion des processus légers : threading et multi-threading.
Java et Internet
Dès les années 90 :
• Applets : programme java exécuté dans les pages HTML
• 1995 : JDK 1.0 : Java Development Kit : plateforme de développement gratuite en ligne.
• 1996 : Netscape intègre les applets et la plateforme java. Netscape était « le » navigateur dominant des années 90. Il a été remplacé par internetExplorer, puis Mozilla Firefox, puis Chrome, Safari, Opera, etc.
Java aujourd’hui : ORACLE
Structure du marché - 2018
Il y a 3 acteurs majeurs sur le marché : ORACLE, Microsoft et le « libre ».
Schématiquement : ORACLE
Langage : Java (JSE : Java Standard Edition), JEE (Java Entreprise Edition) - BD : ORACLE Microsoft
Langage : C#, .NET (c sharp, DotNET), BD : SQL server Libres
LangageS: PHP, Python, Ruby, … et les frameworks associés, BD : MySQL, PostgreSQL, MariaDB, etc.
Composants pour la programmation en 2018.
Java SE
• Java SE : Java Standard Edition. Java 10 en 2018 (JSE). Le JSE est le langage complet pour pouvoir développer et exécuter des programmes java. C’est la couche de base.
JSE at a Glance (d’un coup d’oeil) : ici.
Pour le graphisme, JSE contient entre autres ces bibliothèques : o SWING : graphisme
o APPLET : programme java exécuté dans les pages HTML Java EE
• Java EE : Java Enterprise Edition. Java EE 8 en 2018 (JEE). API dédiées à l'informatique l'entreprise.
JEE at a Glance (d’un seul coup d’œil) : ici.
Java ME
• Java ME : Java Micro Edition (JME). API dédiées entre autres aux applications mobiles.
JME at a Glance (d’un seul coup d’œil) : ici.
Grosse communauté de développeurs
Il y a une grès grosse communauté de développeurs. On trouve donc facilement les réponses à ses questions.
Composants d’installation pour le JSE : JRE et JDK
Le JRE
JRE Java Runtime Environment. C’est l’environnement pour pouvoir exécuter un programme java. Il a deux composants : le moteur d’exécution Java (JVM) appelée aussi « machine virtuelle » et les bibliothèque associées (API).
JVM Java Virtual Machine. Composant principal du JRE. Logiciel d’exécution du code binaire java. Un programme Java n’est pas exécuté mais interprété par la machine virtuelle.
Le JDK
JDK Java Development Kit. C’est l’environnement de développement dont principalement le compilateur. Il inclut le JRE.
Outils de développement
• Compiler : javac.exe transforme les .java en .class.
• Documenter : javadoc.exe.
• Exécuter des applications autonomes Java : java.exe
• Créer des archives : jar
• Visualiser l’exécution d’une Applet dans une page HTML : appletviewer.exe
• JPDA : Java Platform Debugger Architecture permet d’intégrer du débuggeur.
• JVM Profiler Interface : pour auditer le fonctionnement des applications.
Les outils de déploiement
• Java Web Start : Installation d’applications disponibles sur le serveur avec gestion des mises à jour.
• Java Plug-In : pour permettre d’assurer la compatibilité entre la machine virtuelle d’un navigateur et la dernière version de machine virtuelle.
SDK Software Development Kit. « DK » générique. Le SDK java c’est le JDK
Relations entre JDK et JRE
https://www.oracle.com/technetwork/java/javase/tech/index.html
IDE
Un IDE est un environnement graphique qui intègre tous les outils de développement, donc le JDK, et en ajoute d’autres.
Eclipse est un IDE pour Java (et aussi pour d’autres langages).
JDK JRE
API JVM
Le langage
Simple
Une syntaxe proche du C et du C++, mais…
• 4 types de base : entier, réel, caractère, booléen.
• Que des classes : tableaux et chaînes sont des objets : pas de structures, pas d’unions.
• Pas de pointeurs mais des références. Gestion de la mémoire assurée par le « garbage collector » (« ramasse miettes »).
• Pas de préprocesseur ni de fichiers d’en-têtes (techniques C).
• Pas d’héritage multiple, mais de l’interfaçage multiple qui permet de le simuler.
• Pas de goto mais des débranchements multi-niveaux.
• Pas de surcharge des opérateurs.
Orienté objet
• Tout est objet sauf les types primitifs qui peuvent toutefois être encapsulé dans des objets.
• De nombreux packages existent déjà offrant des objets pour les interfaces graphiques, l’accès au réseau, la gestion des entrées-sorties, etc.
Robuste
• Déclaration de variables obligatoire
• Fortement typé avec des types natifs toujours de même taille pour une meilleure portabilité.
• Vérification du code à la compilation et à l’exécution.
Compilé – JDK - javac - bytecode
• Un programme Java est compilé avant d’être exécuté. Le compilateur s’appelle « javac ».
C’est un composant du JDK : Java SE Development Kit.
• Le compilateur produit du « bytecode » qui peut être transformé en code natif pour des besoins de performances.
• Commande : C :> javac monfichier
Interprété – JRE - JVM
• Un programme Java compilé n’est pas exécuté mais interprété par la JVM : la Java Virtual Machine. C’est un composant du JRE : Java SE Runtime Environment.
• Un peu lent : l’interprétation rend l’exécution un peu plus lente
• Pas d’édition de liens : compilation et exécution uniquement
• Portabilité : chaque machine possède sa JVM pour interpréter les programmes Java.
<<compilation>>
JAVAC.exe
<<fichier texte>>
[fichier .JAVA]
<<bytecode>>
[fichier .CLASS]
<<interprétation>>
JAVA.exe
Performance
• Le JRE (qui contient la JVM) optimise l’interprétation du code ce qui permet d’arriver à des résultats très performants.
Dynamique
• La compilation vérifie l’existence des classes.
• Mais l’appel du code des classes se fait à l’exécution. De ce fait, on peut modifier un programme en modifiant une classe sans faire de mise à jour de tout le programme (une nouvelle édition de liens pour les programmes exécutés).
Riche : bibliothèques nombreuses
http://www.oracle.com/technetwork/java/javase/tech/index.html
Java propose de nombreuses API : Application Programming Interface.
• Equivalent des librairies C.
• 200 packages en version 6. 3800 classes et interfaces.
• 3 grandes catégories d’API : API de base, API d’accès au données, API d’interface L’API de base
• Collections
• Maths
• Expressions régulières
• Date
• Réseau
• Sérialisation (gestion de la persistance)
• Etc.
L’API d’interface utilisateur
• API AWT
• API Swing
• Etc.
L’API d’accès au données
• JDBC : API pour la manipulation des bases de données.
• Etc.
Sécurisé
• Le JRE peut-être paramétré (fichier java.policy) pour contrôler l’accès au réseau des applications.
Multi-tâches : thread
• Le JRE permet l’exécution de plusieurs threads (processus légers) ce qui permet l’exécution simultanée de traitement ce qui accroît la rapidité des applications, soit en partageant le CPU, soit en déployant les traitements sur plusieurs processeurs (plusieurs machines : architecture distribuée).
Architecture distribuée
Java fournit 2 API (Application Programming Interface) de base :
• RMI : communication entre machines virtuelles et même machines physiques
• CORBA : communication entre machine physiques
Premiers programmes
Ecriture du code
Le code source est écrit avec un éditeur de texte.
Nom des fichiers : fichier .java
Les fichiers source ont une extension .java
Compilation : javac.exe
L’utilitaire « javac.exe » permet de compiler.
javac nomFichier.java ou bien, avec plusieurs fichiers :
javac nomFichier_1.java nomFichier_2.java L’extension .java est obligatoire.
Résultats de la compilation : fichier .class : bytecode La compilation produit des fichiers .class
Un fichier .class est un fichier contenant du « bytecode » interprétable par la machine virtuelle Java.
Ils sont créés dans le répertoire des fichiers source.
L’option –d permet de proposer un répertoire pour les .class.
Erreurs de compilation
Les messages d’erreur de compilation ont la forme suivante :
nomFichier.java : numéro de ligne : message d’erreur ligne de code correspondant avec une flèche sur
l’endroit de l’erreur
Il faut savoir analyser les messages du compilateur.
Il faut connaître le vocabulaire du compilateur.
Exécution d’un programme : java.exe
java.exe, c’est la machine virtuelle qui permet d’exécuter un programme java. On lui passe en paramètre le fichier qui contient le « main » et d’éventuels arguments.
java nomFichierMain [arguments]
nomFichierMain est le nom d’un fichier « .class » provenant d’un « .java » contenant le main.
Nom du fichier, nom de la classe, majuscules et minuscules Nom du fichier = nom de la classe
Un fichier contient une classe publique (public class).
Le nom du fichier qui contient cette classe est celui de la classe.
Programme principal
Le programme principal contient une classe qui contient une fonction appelée « main ».
main.
Sensible à la casse
Attention : Java est sensible à la casse : il distingue les minuscules et les majuscules.
Exemple 1 : Hello World
/**
* Déclaration de la classe principale de l’application * @author BL
*/
public class HelloWorld {
/** main : Fonction d’entrée dans toute application java */
public static void main (String args[]) { System.out.println("Hello World JAVA");
} }
On déclare la classe HelloWorld : elle contient la méthode « main ».
« public » est une caractéristique de la programmation objet. On n’en parle pas pour le moment.
« static » signifie que la fonction (=méthode en programmation objet) est une méthode de classe : on peut y accéder sans avoir à instancier un objet. C’est ce que fera la machine virtuelle Java pour exécuter le programme. La machine virtuelle appellera : HelloWorld.main()
void main(String args[]) : c’est l’en-tête du programme principal (la main). String args[] c’est l’argument obligatoire pour la fonction main. args est un tableau de String. Il contient les arguments passés au main (0, 1 ou plusieurs).
« System » est une classe de l’API. Cette classe (= structure) contient un champ « out ». Ce champ est une variable « static » (on ne le voit pas ici, on peut le voir dans l’API). Une variable static est une variable accessible via sa classe et pas via un objet. Ce champ « out » est de type
« PrintStream » (on peut le voir dans l’API). PrintStream est une classe avec les méthodes dont la méthode « println ». On peut donc y faire appel à partir de l’objet out.
Exemple 2 : Calculette et analyse de la ligne de commande Le programme ci dessous fournit les résultats suivants :
C:\ >java Calculette 2 + 3 Nombre d'arguments : 3 argument 0 = 2
argument 1 = + argument 2 = 3
Résultat : 2 + 3 = 5 C:\ >
Il correspond au code suivant :
/**
* Class Calculette. Contient le main.
* Fait une opération avec les paramètres passés en ligne de commande.
* Version avec switch.
* @author BL * @version 1.0 */
public class CalculetteSwitch { /**
* main : fonction d’entrée dans toute application java * @param args : E : 3 arguments.
* Le 1er et le 3ème sont des entiers. Le 2ème est un opérateur * Le programme fait l'opération.
*/
public static void main (String args[]) {
/* afficher les arguments de la ligne de commande */
System.out.println("Nombre d'arguments : " + args.length );
if (args.length != 3){
System.out.println("Usage : Calculette entier1 {+, -, x, /} entier2");
return;
}
for (int i=0 ; i<args.length ; i++) {
System.out.println("argument "+ i + " = " + args[i]);
}
System.out.print("Résultat : ");
int entier1=Integer.parseInt(args[0]);
int entier2=Integer.parseInt(args[2]);
char operateur=args[1].charAt(0);
int resultat=0;
switch (operateur) {
break;
case ('x'):
resultat=entier1 * entier2;
break;
}
System.out.println(entier1+" "+operateur+" "+entier2 + " =
" + resultat);
} }
« args[] » est un tableau de String. L’attribut length permet de connaître le nombre d’éléments du tableau.
« parseInt » est une méthode (statique) de la classe Integer qui permet de transformer une chaîne de caractères en entier (« parser » veut dire : faire une analyse syntaxique). La methode parseInt renvoie l’entier correspondant à la chaîne de caractères.
« charAt» est une méthode de la classe String. Elle permet de récupérer le caractère à la position donnée. ch.charAt(0) c’est équivaent à ch[0]. Mais on ne peut pas utiliser les crochets sur une String en Java. L’écriture ch.charAt(), c’est de l’écriture de POO. On accède à la méthode (fonction) charAt à partir de l’objet (la variable) ch.
Remarques générales sur la programmation Java
Identificateurs
• Le Java manipule : - des variables, - des types, - des objets, - des classes,
- des méthodes (ou fonctions) - des constantes.
• Les identificateurs de variables, d’objets et de méthodes commencent toujours par une minuscule. Ils sont ensuite écrits en minuscule. Si le nom contient plusieurs parties, chaque nouvelle partie commence par une majuscule. On évite les « _ ».
• Les identificateurs de classe commencent toujours par une Majuscule. Ils sont ensuite écrits en minuscule. Si le nom contient plusieurs parties, chaque nouvelle partie commence par une minuscule. On évite les « _ ».
• Les identificateurs de type fonctionnent comme des variables pour les types « natifs », c’est- à-dire les type que ne sont pas des classes (des structures).
• Les identificateurs de méthode commencent par un verbe.
• Les identificateurs de constantes sont en majuscules.
Fichier Java
Un fichier java contient une seule classe publique.
Il a le nom de la classe publique en question et comme suffixe « .java »
Il a la forme suivante :
• Commentaires de classe
• Inclusion de la classe dans un paquetage
• Importation de classes
• Déclaration de la classe publique (et des éventuelles classes privées).
Commentaires
Il y a deux types de commentaires :
• Les commentaires de code
• Les commentaires pour la documentation
Les commentaires de code
Le choix des identificateurs et la clarté du code doivent permettre de minimiser les commentaires d’implémentation.
Il n’y a pas de syntaxe spécifique.
/* commentaires
*/
Ou bien
/* commentaire */
Ou bien
// commentaire
Les commentaires pour la documentation et le « javadoc » Présentation
Les commentaires pour la documentation ne traitent que des spécifications (les classes et les méthdodes-fonctions).
Ils sont automatiquement produits par l’utilitaire « javadoc ».
Contenus
Commentaires de classe : au minimum : nom, usages, grandes caractéristiques, auteur, version.
Commentaires de méthode : nom, but, en-tête, usage, exceptions.
Syntaxe des commentaires
Les syntaxes suivantes sont à utiliser pour que le « javadoc » exploite correctement les commentaires :
/**
* */
/** commentaire */
Balise de commentaires
Il existe des balises de commentaires prédéfinies :
@author, @version, @param, @return, @see, @trhows, etc.
/**
* commentaires *
* @author toto */
Il existe des balises de commentaires prédéfinies :
Exemples Ø 1)
/**
* Class HelloWorld. Contient le main.
* Premier programme Java * @author BL
* @version 1.0 */
public class HelloWorld { /**
* le main affiche Hello World Java * @param args : pas d'argument */
public static void main (String[] args) { System.out.println("Hello World Java");
} }
Ø 2)
/**
* Class Calculette. Contient le main.
* Fait une opération avec les paramètres passés en ligne de commande.
* Version avec switch.
* @author BL * @version 1.0 */
public class CalculetteSwitch { /**
* main : fonction d’entrée dans toute application java * @param args : E : 3 arguments.
* Le 1er et le 3ème sont des entiers. Le 2ème est un opérateur * Le programme fait l'opération.
*/
La documentation officielle ORACLE :
http://www.oracle.com/technetwork/java/javase/documentation/index-jsp-135444.html Syntaxe :
https://www.oracle.com/technetwork/java/javase/documentation/index-137868.html 2 présentations synthétiques :
http://dpt-info.u-strasbg.fr/~blansche/files/ogl_cours_2.pdf
http://prevert.upmf-grenoble.fr/Prog/Java/CoursJava/javaDoc/javaDoc.html https://www.jmdoudoux.fr/java/dej/chap-javadoc.htm
Javadoc
L’utilitaire « javadoc » permet de générer une documentation au format html
javadoc HelloWorld.java -author -version -d HelloWorld
Avec l’option « -d HelloWorld» on peut définir le répertoire HelloWorld pour les fichiers de la documentation (c’est préférable, il y en a beaucoup !)
Avec l’option « -author» on obtient les commentaires de balise author.
Avec l’option « -version» on obtient les commentaires de balise version.
On peut faire la documentation pour tout un dossier (package) contenant plusieurs fichiers .java : javadoc *.java –d MonPackage
Résultat du Javadoc
Dans le dossier choisi, on trouve un fichier index.html qui propose une documentation au format de la documentation Java SE standard.
JAVA – TP DE PRISE EN MAIN
Installation
1- Nettoyer son PC Téléchargement
Télécharger CCleaner Prendre la version gratuite Installer CCleaner
Nettoyage
Ø Menu Cleaner
run CCleaner. Faire « continue ». Répéter l’opération 2 fois.
Ø Menu Registry
Scan for issue. Puis : fix selected issue. Pas de backup. Répéter l’opération jusqu’à ce que le scan ne renvoie rien.
Ø Menu Tools Chercher Java.
Tout désinstaller.
2 - Installation JRE (2018)
http://www.lirmm.fr/~fmichel/old/ens/
Téléchargement et installation https://www.java.com/fr/
qui mène à :
https://www.java.com/fr/download/
On télécharge un petit fichier « setup » : environ 2 MO.
On lance le programme : on suit le fil de l’installation. Rien à paramétrer.
Vérification
Chercher le fichier java.exe : il se trouve dans un répertoire « bin ».
Ce fichier, c’est la machine virtuelle.
Ø Taper java dans un terminal
Ouvrir un terminal (chercher « cmd » ou « invite de commande » ou « terminal »).
Dans le terminal, taper : « java »
On obtient la documentation de la syntaxe pour ce programme.
Ca veut donc dire qu’il est installé. Le JRE est installé.
Ø Taper javac dans un terminal
A ce moment, si on tape « javac » dans le terminal, on n’a pas de réponse : le JDK n’est pas installé.
3 - Installation JDK (2018) Téléchargement et installation
https://www.oracle.com/technetwork/java/javase/downloads/index.html Charger le JDK pour Windows.
On télécharge un petit fichier « jdk…windows» : environ 390 MO.
On lance le programme : on suit le fil de l’installation. Rien à paramétrer.
Vérification
Ø Avec CCleaner
Vérifier que Java est installé. On a un Java SE Development Kit
Ø Chercher le dossier d’installation et le fichier javac.exe Le dossier d’installation se trouve dans C : program/Java Dans ce dossier, on trouve un dossier JRE et un dossier JDK.
On a donc un JRE d’installé spécialement pour le JDK. Il est potentiellement plus récent que le JRE installé pour la machine.
Ø Chercher le fichier javac.exe
Le fichier javac.exe se trouve dans le le répertoire « bin » du répertoire « jdk »
Ce fichier, c’est le compilateur qui va produire des fichier en « bytecode » qui seront interprétables par la JVM.
Ø Taper javac dans un terminal
Ouvrir un terminal (chercher « cmd » ou « invite de commande » ou « terminal »).
Dans le terminal, taper : « javac »
On n’a pas de réponse : il faut modifier le PATH Windows pour que ça fonctionne.
Ø Modification du PATH
Il faut mettre à jour le PATH pour l’utilisateur pour accéder à javac.exe dans un terminal.
Méthode :
https://www.java.com/fr/download/help/path.xml
Ø Re-taper javac dans un terminal
Après la modification du PATH, si on tape javac, on obtient un message qui indique le mode d’emploi.
ð On peut désormais compiler des fichiers .java https://docs.oracle.com/javase/8/docs/api/index.html
Documentation Oracle d’installation
Pour information, Oracle fournit une documentation d’installation : https://www.java.com/fr/download/help/index_installing.xml A noter qu’on peut désactiver la JVM.
Environnement de travail
4 – Créer un répertoire de travail
1. Créez un répertoire de travail (JAVA). Mettez-y un batch permettant d’ouvrir une console Windows (cmd). Vous pouvez prendre ce batch sur la plateforme. Ce batch est un fichier texte appelé : console.bat et qui contient l’unique commande : cmd.
2. Dans le répertoire de travail, créez un raccourci vers la doc en ligne de l’API.
https://docs.oracle.com/javase/8/docs/api/index.html Dans ce répertoire on pourra mettre nos fichiers java.
Documentation du langage et des API
Il existe aussi une documentation en ligne équivalente :
Toute la documentation JSE : https://docs.oracle.com/javase/specs/jls/se10/html/index.html La documentation des API :
https://docs.oracle.com/javase/10/docs/api/index.html?overview-summary.html Les « frames », permettent d’avoir la colonne de gauche.
La page de documentation des API est divisée en trois zones :
• En haut à gauche : la liste des packages.
• En bas à gauche : la liste des classes et des interfaces d’un package sélectionné.
Et
C:\Documents and Settings\> javac -version
Hello World
6 – Saisie d’un programme
Saisissez le programme HelloWorld qui se trouve dans le cours. Mettez-le dans un fichier appelé HelloWorld.java placé dans le dossier de travail.
7 – Test du programme
Compilation : production d’un fichier de byteCode
Dans la console du dossier de travail, compiler le fichier HelloWorld : C :> javac HelloWorld.java
Constater la présence d’un nouveau fichier : HelloWorld.class : c’est le byteCode produit par la compilation.
Exécution
Dans la console du dossier de travail, exécuter le fichier HelloWorld : C :> java HelloWorld
Le fichier exécuté, c’est HelloWorld.class.
Variante
Essayer de passer votre prénom en paramètre de l’exécution et faites-en sorte que votre prénom s’affiche.
Le principe est de passer « String[] argv » en paramètre de la fonction main.
A l’exécution, vous devez taper :
C :> java HelloWorld toto Javadoc
Générer la documentation de votre code avec la Javadoc
Calculette
8 – Saisie d’un programme
Saisissez le programme CalculetteSwitch qui se trouve dans le cours. Mettez-le dans un fichier appelé HelloWorld.java placé dans le dossier de travail.
9 – Test du programme
Compilation : production d’un fichier de byteCode
Dans la console du dossier de travail, compiler le fichier CalculetteSwitch:
C :> javac CalculetteSwitch.java
Constater la présence d’un nouveau fichier : CalculetteSwitch.class : c’est le byteCode produit par la compilation.
Exécution
Dans la console du dossier de travail, exécuter le fichier CalculetteSwitch:
C :> java CalculetteSwitch Le fichier exécuté, c’est CalculetteSwitch.class.
Javadoc
Générer la documentation de votre code avec la Javadoc. Affichez la documentation (le fichier index.html).
Documentation standard
10 – Parcours de la documentation Ouvrir la documentation :
https://docs.oracle.com/javase/10/docs/api/index.html?overview-summary.html Pour chercher une classe, on peut utiliser l’outil de recherche.
1. Cherchez la fonction « parseInt » dans la classe Integer. Elle est « static ». Qu’est-ce que cela veut dire ?
2. Cherchez la fonction « sort » dans la classe Arrays de l’API. Il y a plusieurs versions de cette fonction. Ce mécanisme s’appelle la « surcharge ». Comment expliquez-vous son fonctionnement. Est-ce une caractéristique propre à la programmation objet ?
3. Cherchez la fonction « tuUpperString » dans la classe String de l’API. Elle n’est pas « static ».
Qu’est-ce que cela veut dire ?
Premier programme
5. Commentez votre programme comme c’est expliqué dans le document et générez de la documentation avec javadoc.
6. Peut-on écrire une fonction : equa1 (a, b, x, nbsol), avec x et nbsol en sortie ? 7. Faites une deuxième version du code avec une fonction d’affichage des résultats.