java débutant -  · java : write once, run anywhere • la compilation d'un programme ne...

17
Java débutant Qua faire quand j'arrive en TP ?

Upload: ngokhanh

Post on 05-Jan-2019

230 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Java débutant

Qua faire quand j'arrive en TP ?

Page 2: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Compilation• Le compilateur traduit le programme écrit en programme

source Java en programme exécutable par la machine

Programme source .java

COMPILATEUR

Programme exécutable par le processeur sur la machine

Page 3: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

En Java • C'est un peu différent

• Le compilateur convertit le programme source en un programme exécutable sur une « machine virtuelle »

Programme source .java

COMPILATEUR

Programme exécutable par le processeur sur la machine virtuelle

INTERPRTE

Programme exécutable par le processeur sur la machine réelle

Page 4: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

JAVA : write once, run anywhere

• La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

• Mais du bytecode Java, qui sont des instructions pour la machine virtuelle Java (JVM)

• Ce qui signifie que si vous disposez d'une JVM (Windows, Unix, Android, IOS, navigateur internet,…), elle peut exécuter le bytecode

Page 5: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Principe JVM

Page 6: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Notre environnement java• javac : le compilateur java

• java : l'interprète de la machine virtuelle java

• L'écosystème Java est beaucoup plus large

Page 7: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Notre première application Java

Le programme affiche « Hello World ! »

1) Créer un fichier source Hello.javaCe fichier contient le code écrit en Java

2) Compiler le source en fichier bytecode Hello.classCette compilation est réalisée par l'intermédiaire du compilateur javac. Le fichier Hello.class contient du bytecode exécutable sur la JVM

3) Appeler la machine virtuelle JVM pur exécuter le bytecodeL'interprète traduit le bytecode en instructions exécutables par votre machine

Page 8: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Comment réaliser ces étapes

1. Création du fichierUtilisation d'un éditeur (emacs, Notepad++,…)

2. Compilation du fichier en bytecodeUtilisation du compilateur javac

3. Exécution du programme par appel de la JVMUtilisation de la commande java

Note : ces trois étapes peuvent être réalisées par un unique outil comme eclipse ou Netbeans

Page 9: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Fichier Hello.java

public class Hello {

public static void main(String [] args){ System.out.println("Hello World:"); // Affichage du texte

}

Page 10: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Compilation et exécution• Compiler le fichier source

javac Hello.java

Si et seulement si la compilation réussit (vous n'aurez aucun message d'erreur), un fichier Hello.class est créé

• Interpréter et exécution l'applicationjava Hello

Attention : pas de java Hello.class ou java Hello.java

Page 11: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Écosystème javaPour informations

• javac : le compilateur java

• java : l'appel à la JVM

• javadoc : convertit le code en documentation HTML (très utile)

• appletviewer : permet d'exécuter des applets sans passer par un navigateur

• jdb : debugger java

• jar : système d'archivage java

• javah : permet l'utilisation de code java en C

• ...

Page 12: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Inspection de notre programme

• définition d'une classe

• Brique de base d'un langae orienté-objet (cf plus tard)

• Le nom de la classe débute obligatoirement par une majuscule

public class Hello {

public static void main(String [] args){ System.out.println("Hello World:"); // Affichage du texte

}

Page 13: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

La méthode main (...)• Le point d'entrée dans le programme est la méthode main (…)

– appelée en premier par la JVM

– le nom du fichier source est celui de la classe qui contient la méthode main

public class Hello {

public static void main(String [] args){ System.out.println("Hello World:"); // Affichage du texte

}

Page 14: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Utilisation d'une métjode• La classe System fournit des accès à des fonctionnalités

comme l'affichage ou l'heure, la date…

• A voir sur https://docs.oracle.com/javase/8/docs/api/java/lang/System.html

public class Hello {

public static void main(String [] args){ System.out.println("Hello World:"); // Affichage du texte

}

Page 15: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez
Page 16: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Documentation JAVA• utiliser la documentation Java est un point important pour la

compréhension du langage

Page 17: Java débutant -  · JAVA : write once, run anywhere • La compilation d'un programme ne génère pas d'instructions spécifiques pour la machine sur laquelle vous travaillez

Conventions d'écriture en JAVA

• TRES TRES IMPORTANT

• classe MonPremierProgramme

• méthode commence toujours par une minuscule– écrireNom()

– getNom() (appelées geters)

– setNom(« toto ») (appelées seters)

• Variables ou attributs– monNom, monPrénom

• Constantes en MAJUSCULES– NOMBRE_ETUDIANTS

• Respectez ces conventions dans ce cours (première loi)