S. Laporte Java intro Lycée Louise Michel BTS IG DA
1/7
INTRODUCTION A JAVA
JAVA est un langage orienté-objet pur.
Il ressemble beaucoup à C++ au niveau de la syntaxe.
En revanche, ces deux langages sont très différents dans leur structure (organisation du code et
gestion des variables).
L’avantage principal de Java par rapport aux autres langages c’est sa PORTABILITE, le fait
qu’un programme Java puisse théoriquement être exécuté sur n’importe quelle plate-forme (type
de processeur et système d’exploitation)
Pour comprendre cette caractéristique, nous devons faire quelques rappels.
Rappels sur l’interprétation et la compilation
Quelque soit le langage utilisé pour écrire un programme, ce dernier devra toujours être traduit
en langage machine pour pouvoir être exécuté par le processeur. En effet, un ordinateur ne
connaît qu’une seule langue : celle de son processeur. Les langages de programmation ne sont
pas écrits dans un langage directement exécutable par le processeur : pour exécuter un
programme, il faut toujours que le code soit préalablement traduit en langage machine.
Le moment où la traduction s’effectue diffère selon les langages.
Traditionnellement on distingue deux grands types de langages :
- les langages compilés tels que C/C++ , Pascal…
- les langages interprétés tels que Basic
Dans les langages compilés, il est nécessaire de traduire tout le code préalablement à
l'exécution, pendant une étape appelée compilation pour pouvoir ensuite exécuter le programme.
Un fichier du programme traduit en langage machine est généré (souvent, un .exe), et c’est ce
fichier qui sert de base à l’exécution.
Compilation Exécution
Dans les langages interprétés au contraire, l’exécution se base sur le fichier du code,
mais chaque ligne du fichier est traduite en langage machine juste avant d’être exécutée.
C’est l’interprétation.
Interprétation
Code
Fichier en
langage
machine
Exécutable
compilateur
Code
intepréteur
S. Laporte Java intro Lycée Louise Michel BTS IG DA
2/7
Programmes compilés
Avantages
- rapides à l’exécution
- code source inutile pour l’exécution (on peut vendre un programme compilé sans donner le
code : on ne risque pas (ou moins) de se faire copier)
Inconvénient
- un programme est compilé dans un langage machine donné : il ne va fonctionner que sur les
ordinateurs dont le processeur connaît ce langage machine. Ex : un programme compilé pour
Mac ne marchera pas sur PC. On dit qu’un programme compilé n’est pas portable.
Programmes interprétés
Avantage
- un programme interprété peut être exécuté sur n’importe quelle machine qui possède un
interpréteur du langage, quelque soit le type de langage machine (puisque c’est l’interpréteur qui
traduit dans le langage de la machine)
Inconvénients
- lents car chaque instruction doit d’abord être traduite par l’interpréteur avant d’être exécutée.
- l'exécution est basée sur le code source donc celui-ci doit être fourni au client qui peut s’en
servir à mauvais escient
Et Java dans tout ça ?
Java est un langage hybride, à la fois compilé et interprêté. On dit qu’il est semi-compilé.
Pour simplifier, disons qu’un programme Java est compilé dans un langage qui devra ensuite
être interprété. Le résultat de la compilation n’est pas du langage machine directement
exécutable (propre au processeur), mais un code intermédiaire appelé byte-code. Le byte-code
est intermédiaire entre le code source et le langage machine.
Pour exécuter le programme, le byte-code est interprété par un interpréteur appelé
machine virtuelle Java (MVJ). Toutes les machines actuelles possèdent une MVJ. Ainsi, le
byte-code d’un programme peut être exécuté sur n’importe quel ordinateur (possédant une MVJ)
alors qu’un programme compilé en langage machine n’est exécutable que sur un seul type de
processeur. C’est pour cela que le langage Java est un langage portable.
En outre, le langage Java a été conçu pour être utilisable avec Internet. Il existe deux
types de programmes java pour internet :
- les applets, petit programme incorporé aux pages web et exécuté localement par le
navigateur du client (les applets se rapprochent des scripts Javascript)
- les servlets, qui sont des programmes Java s'exécutant côté serveur et qui permettent
de répondre à des requêtes http envoyées par un navigateur client.
Cycle de vie d’un programme Java
- Pour écrire le code source d’un programme Java, n’importe quel éditeur de texte convient,
pourvu que le texte ne soit pas formaté. Le Bloc Note est bien adapté car il est chargé très
rapidement et ne permet pas le formatage du texte.
- Le fichier source doit être enregistré avec l’extension .java (au lieu de .cpp en C++) et porter le
même nom que la classe (ou la classe qui contient la fonction principale main s’il y en a
plusieurs)
- Le compilateur s’appelle javac. Pour compiler un programme java, on utilise une fenêtre DOS
(ou du langage de commande de NT) et on tape la commande :
javac NomDuProg.java
S. Laporte Java intro Lycée Louise Michel BTS IG DA
3/7
- La compilation génère des fichiers de byte-code avec l’extension .class, dans le même
répertoire que le fichier source. Chaque classe du fichier donne lieu à la création d’un fichier
.class
Ensuite, l’exécution diffère selon que le programme écrit est une application, une applet ou une
servlet
- une application Java est un programme indépendant du Web, exécuté en local (comme
tous les programmes C++ que l’on a écrit ), lancé localement sur la machine
- une applet Java est un programme destiné à être inséré dans une page Web. Une applet
est exécutée par le client (comme les programmes). C’est le fichier compilé en byte code qui est
envoyé au client (et non le fichier source comme dans le cas de javascript). Dans une page Web,
une applet est considérée comme une image
- une servlet Java est un programme exécuté sur le serveur, qui permet de répondre à une
requête d'un client http. Une servlet reçoit une requête http avec des données (paramètres), elle
traite ses données (souvent accès à une BD) et la plupart du temps elle renvoie une réponse
sous la forme d'une page web dynamique.
Exécution d’une application
Pour exécuter une application Java (un programme indépendant du Web), on peut utiliser la
MVJ qui s’appelle java, avec la commande :
java NomDuProg
Eventuellement, le nom du programme peut être suivi de paramètres (chaînes) à passer au
programme
Exécution d’une applet
Pour exécuter une applet, il faut évidemment qu’elle soit intégrée dans une page Web..
L’exécution de l’ applet se fait automatiquement après chargement de la page Web.
Ce qui est intégré dans la page, c’est le nom fichier semi-compilé(.class). Au moment du
chargement de la page, le fichier semi-compilé est envoyé au client, et c’est la MJV du
Ecriture du code
source
Compilation
Interprétation et
exécution
Editeur de
texte :
Bloc-Note
Compilateur
en ligne de
commande:
j
avac
Machine
virtuelle java
*.java
*.class
S. Laporte Java intro Lycée Louise Michel BTS IG DA
4/7
navigateur qui exécute le byte code. L’applet est donc exécutée par le client et non par
le serveur (contrairement aux programmes en ASP ou PHP).
Pour intégrer un applet dans une page Web , il faut l’avoir préalablement semi-compilé.
Dans la section BODY, à l’endroit où l’on veut insérer l’applet, on intègre le .class avec
les balises suivantes :
<APPLET CODE = « NomDuProg.class » WIDTH = largeur HEIGHT = hauteur>
</APPLET>
Excécution d'une servlet
C'est le serveur web, recevant une requête http, qui va lancer automatiquement la
servlet chargée de traiter la requête http. On peut dire que c'est l'internaute qui lance la
servlet.
Structure d’un programme Java
Un programme Java est constitué d'un ensemble de classes. Aucune partie de
code ne peut être écrite en dehors d’une classe. Cela vient du fait que, contrairement au
C++, Java est un PUR langage orienté-objet. Même la fonction main( ), point d’entrée
des applications Java est incluse dans une classe.
Le fichier .java doit obligatoirement porter le nom de la classe (ou si il en a plusieurs,
le nom de celle qui est publique).
Une application Java (programme non inclus dans un page Web) doit toujours posséder
une classe contenant une méthode appelée main . Cette fonction est celle qui est
exécutée en premier et qui appelle toutes les autres (c’est le programme principal en
quelque sorte). Plus précisément elle commence ainsi :
public static void main (String args[ ])
Exemple d’une application Java
Cette application se contente d’afficher Bonjour à l’écran
public class Bonjour //le fichier doit s’appeler Bonjour.java
{
public static void main (String args[ ]) //fonction principale
{
System.out.println(“Bonjour”);
}
}
Une applet quand à elle doit contenir une fonction appelée paint, chargée de dessiner l’image du
résultat de l’applet dans la page Web. Une applet ne doit pas contenir de fonction main( ). C’est
la fonction paint qui est cherchée en premier par la MVJ intégrée au navigateur et pas la fonction
main( ).
tableau de chaînes qu'on peut passer en
p
aramètre du programme principale dans l
a
commande d'exécution.
S. Laporte Java intro Lycée Louise Michel BTS IG DA
5/7
Exemple d’une applet Java
// importation des packages (ensembles de classes) nécessaires pour écrire des //applets
import java.awt.Graphics;
import java.applet.Applet;
public class Bonjour extends Applet { //Le fichier doit s’appeler Bonjour.java
public void paint(Graphics g) { // fonction principale pour une applet
g.drawString("Bonjour ! ,10, 10); //chaque affichage se fait dans une //« fenêtre » avec
une largeur et une hauteur en pixels
}
}
Cette applet, pour être exécutée, devra être insérée dans une page Web qui pourrait ressembler
à ceci :
<HTML>
<HEAD>
<TITLE>Page HTML support de l'applet Bonjour</TITLE>
</HEAD>
<BODY>
<APPLET CODE="Bonjour.class" WIDTH=100 HEIGHT=50>
Votre navigateur ne supporte pas les applets ! (ceci est le message qui s’affiche par défaut dans le
cas où le navigateur ne sait pas exécuter les applets)
</APPLET>
</BODY>
</HTML>
SYNTAXE DU LANGAGE JAVA
Comparaison avec le C++
Principaux points communs
- Les instructions sont terminées par un ;
- Les blocs sont délimités par des accolades { }
- Les commentaires sur une ligne commencent par // et ceux qui sont sur plusieurs lignes sont
délimités par /* */
- Distinction majuscules-minuscules
- Les opérateurs sont les mêmes :
o= (affectation)
o+ - * /
o! (non) &&(et) ||(ou)
o!= (différent) == (égal) <= >= < >
o++ incrémentation
- Les boucles et les structures conditionnelles sont les mêmes
ofor(initialisation ; condition de continuation ; incrémentation) { … }
owhile (condition d’entrée) {…}
odo {…} while (condition de continuation)
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !