Langage de programmation
Les algorithmes sont traduits dans un langage qui pourra être compris par un ordinateur. On l’appelle le langage de programmation.
Java est un langage de programmation.
12
Langage JAVA
JAVA est un langage de programmation objet créé en 1991 par la firme Sun Microsystems.
Il est très proche du langage C++.
C’est un langage portable (indépendant des plates formes : windows, linux….),
compilé et interprété.
Java est en plus multitâche,
robuste ( gestion d’erreurs et d’exceptions intégrées au langage), gratuit,
orienté client/serveur (traditionnel ou web).
Avec java, on peut écrire :
Des applications client/serveur traditionnel Des applications côté client pour le web (applet) Des applications côté serveur pour le web (servlet)
13
Langage JAVA: Liens utiles
Le site dédié à JAVA par son constructeur : http://java.sun.com/
Et plus particulièrement la documentation sur les classes (API) : http://java.sun.com/javase/6/docs/api/
Des cours et exercices en ligne : http://java.developpez.com/cours/
14
Interprétation et compilation
Un ordinateur ne connaît qu’une seule langue : celle de son processeur.
Pour exécuter un programme, il faut toujours que le code soit préalablement traduit en langage machine.
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, PHP…
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.
Dans les langages interprétés au contraire, chaque ligne du fichier est traduite en langage machine juste avant d’être exécutée. C’est l’interprétation.
15
Interprétation et compilation
Programmes compilés Avantages
Rapides à l’exécution
code source inutile pour l’exécution (copie) Inconvénients
Pas de portabilité
16
Code (Fichier texte)
Fichier en langage machine exécutable Compilation
Exécution
Interprétation et compilation
Programmes interprétés Avantages
un programme interprété peut être exécuté sur n’importe quelle machine qui possède un interpréteur du langage
Inconvénients
Lenteur (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
17
Code (Fichier
texte) Interprétation
Interprétation et compilation
Java est un langage hybride, à la fois compilé et interprété. On dit qu’il est semi-compilé.
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.
Pour exécuter le programme, le byte-code est interprété par un interpréteur appelé machine virtuelle Java (JVM). Ainsi, le byte-code d’un programme peut être exécuté sur n’importe quel ordinateur possédant une JVM.
Java est un langage portable.
18
Création d’un programme Java: Outils nécessaires
Pour écrire et mettre au point un programme, vous aurez besoin : d'un éditeur de texte. Au choix :
Les plus courants : bloc-notes, editPlus, gedit Les spécialisés pour Java : jcreator, netbean, eclipse Du kit de développement appelé J2SE SDK (Software
Development Kit) contenant : un compilateur : javac un interpréteur : java
la machine virtuelle java appelée J2SE JRE (Java Runtime Environment )
des utilitaires. Ex : javadoc pour générer de la documentation , jar pour générer des archives, appletviewer pour visualiser des applets,….
19
Création d’un programme Java
Le fichier source doit être enregistré avec l’extension .java 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 un terminal et on tape la commande :
« javac NomDuProg.java »
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 »
Pour exécuter une application Java, on peut utiliser la JVM 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
20
Création d’un programme Java
21
*.java Ecriture du code
source Editeur de texte
Compilation Cde « javac »
*.java
*.java
*.java
*.clas s
Interprétation par la JVM Cde « java »
Structure d’un programme Java
Un programme Java est constitué d'une classe ou d’un ensemble de classes. Aucune partie de code ne peut être écrite en dehors d’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 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 les autres.
La méthode « main » commence ainsi :
«public static void main (String args[ ])» Exemple d’une application Java
22 public class Bonjour {
public static void main (String args[ ]){
System.out.println(“Bonjour”);
} }
Syntaxe d’un programme Java
- 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 :
= (affectation) + - * /
! (non) &&(et) ||(ou)
!= (différent) == (égal) <= >= < >
++ (incrémentation)
23 public class Bonjour {
public static void main (String args[ ]){
System.out.println(“Bonjour”);
} }
Stocker une information
Avec JAVA, on peut manipuler des variables : Simples : entier, caractère,…
Structurées ou complexes : les objets Multiples : collections, listes ou tableaux
24
Manipulation d’une variable simple
Il est obligatoire de déclarer une variable avant de l’utiliser.
Déclarer, c’est définir le type de la variable.
Syntaxe pour définir une variable: « type nomVariable ; »
On peut affecter une valeur à une variable dès sa définition : c’est une initialisation !
Convention pour nommer une variable:
Le nom d’une variable commence par une minuscule. Par opposition, les classes devront commencer par une majuscule.
25 int a ; // a est un entier
int b , c ; // b et c sont des entiers
int a = 3 ; // a est un entier et a pour valeur 3
Manipulation d’une variable simple
Catégorie entier
Elle permet l’emploi de valeurs numériques entières et signées.
Type Taille occupée Eventail de valeurs dans la mémoire
byte 1 octet De –128 à 127 short 2 octets De 32 768 à 32 767 int 4 octets De – 2 147 483 648 à 2 147 483 647
long 8 octets De – 9 223 372 036 854 775 808 à 9 223 372 036 854 775 807 Catégorie réel
Elle permet l’emploi de nombres à virgule.
Type Taille occupée Eventail de valeurs dans la mémoire
float 4 octets -1.4*10-45à 3.4*1038 Double 8 octets 4.9*10-324à 1.7*10308
26
Manipulation d’une variable simple
Catégorie texte
char : il sert à représenter des caractères isolés.
Un caractère est codé sur 2 octets.
L’éventail des valeurs est donc de 65 536 caractères différents (216).
ATTENTION :
'F' est considéré comme une variable de type char
"F" est considéré comme un objet de classe String
Catégorie logique Il s’agit du type boolean.
Un caractère est codé sur 1 bit.
L’éventail des valeurs est : {false, true} ce qui est traduit par {0,1}
conversion de types simples (casting)
On peut facilement changer le type d’une donnée, cela s’appelle faire une opération de cast.
Exemple : int x; x = (int) 8.324;
27
Afficher une information
En mode console : System.out.println(…)
28 System.out.print(expr); //affiche le contenu de expr System.out.println() ; // saute une ligne
System.out.println(expr) ; // affiche à l’écran le // contenu de expr et saute une ligne System.out.println("Mon texte") ; // affiche à
// l’écran le texte et saute une ligne System.out.println("Mon texte" + expr) ; // affiche à
// l’écran le le texte et le contenu // de expr int a
Saisir et récupérer une information
En mode console:
Il n’existe pas de méthode prédéfinie pour lire les données saisies par l’utilisateur dans une console.
Vous allez donc utiliser les méthodes définies dans la classe Lire (classe à télécharger). Cette classe n’est pas une classe définie par Java.
Class Lire. Voici ses 4 méthodes:
- static String lireStr() //renvoie la saisie de l’utilisateur sous forme //d’une donnée de type String
- static float lireFloat() //renvoie la saisie de l’utilisateur sous forme //d’une donnée de type float
- static int lireInt() // renvoie la saisie de l’utilisateur sous forme // d’une donnée de type int
- static char lireChar() //renvoie la saisie de l’utilisateur sous forme //d’une donnée de type char
Pour les utiliser, vous devrez faire référence à la classe afin que le compilateur puisse savoir où trouver la définition de ces méthodes.
29 System.out.println(" Entrez votre age ") ;
int age = Lire.lireInt() ;