IHM1
IHM1
IHM1
Pr A. Majda
2017 - 2018
DÉROULEMENT DU COURS
Initiation au Langage Java
Introduction
Outils de développement
Données, Types et Operateurs
Les structures alternatives et répétitives
Les tableaux de données et chaines de caractères
Les instructions d’écriture et de lecture
3
INTRODUCTION
Caractéristiques de Java
Java est interprété : Interpréteur JVM
Java est indépendant de toute plate-forme
Java est orienté objet
Java est simple
Java est fortement typé : Toute variable a son type
Java assure la gestion de la mémoire : GC
Java est sûr : Aucune menace au SE
Java est économe : Petite taille du pseudocode
Java est multitâche : Threads
4
INTRODUCTION
Source Java
Fichier utilisé lors de la phase de programmation
Le seul fichier réellement intelligible par le programmeur
Byte-Code Java
ou Pseudocode : Code objet destiné à être exécuté sur toute « Machine Virtuelle »
Java
Provient de la compilation du code source
Machine Virtuelle Java
Programme interprétant le Byte-Code Java et fonctionnant sur un système
d’exploitation
NI : il suffit de disposer d’une « Machine Virtuelle » Java pour pouvoir exécuter tout
programme Java même s ’il a été compilé avec un autre système d’exploitation 5
INTRODUCTION
8
OUTILS DE DÉVELOPPEMENT
Édition
Editeur de texte, EDI(Eclipse) nomfichier.java
Compilation
nomfichier.java nomfichier.class
le pseudo code
Fichier Source
Java
Installation de Eclipse
11
OUTILS DE DÉVELOPPEMENT
Installation de Eclipse
12
OUTILS DE DÉVELOPPEMENT (ALTERNATIVE 2)
Installation de Eclipse
L'installation consiste simplement à décompresser le fichier.
Pour le lancement exécuter le fichier eclipse.exe
13
OUTILS DE DÉVELOPPEMENT
La fonction main est exécutée la première lors de l'exécution d'un programme Java.
Elle doit avoir obligatoirement la signature précédente :
public static void main(String arg[]){
ou
public static void main(String[] arg){
Le nom de l'argument arg peut être quelconque. 15
LA STRUCTURE D'UN PROGRAMME JAVA
L‘instruction d’Arrêt
16
DONNÉES, TYPES ET OPERATEURS EN JAVA
17
DONNÉES, TYPES ET OPERATEURS EN JAVA
Les types
19
DONNÉES, TYPES ET OPERATEURS EN JAVA
Exemple
final float PI = 3.141592F;
Les identificateurs
Chaque objet, classe, programme ou variable est associé à un nom :
l'identificateur
Le premier caractère doit être une lettre, le caractère de
soulignement ou le signe dollar.
Java est sensible à la casse.
Un identificateur ne peut pas appartenir à la liste des mots réservé
du langage Java ex :
L’opérateur cast
Permet, dans une expression, de changer le codage d'une valeur.
On appelle cela changement de type d'une donnée ou en anglais type casting.
Exemple :
int i, j;
float f;
f= (float)i/j; // priorité de () sur /
24
LES STRUCTURES ALTERNATIVES ET
RÉPÉTITIVES
Les structures alternatives
if (boolean)
{ ... } else
{ ... }
swith (expression)
{ case c1 : instr11; instr12; break;
…
case cn : ...
default : ...
}
Opérateur ternaire
Exemple
…
boolean trouve = false;
for (int i = 0 ; !trouve ; i++ )
{ if ( tableau[i] == 1 ) trouve = true; ... //gestion de la fin du parcours du tableau
} … 26
LES STRUCTURES ALTERNATIVES ET
RÉPÉTITIVES
Les débranchements
break : permet de quitter immédiatement une boucle ou un branchement.
continue : s'utilise dans une boucle pour passer directement à l'itération
suivante
Exemple
int compteur = 1,c=1;
while (compteur < 200)
{ compteur *= c;
if ((compteur %5)==0) {System.out.println("compteur="+compteur+"
c="+c);break; }
c++;
}
Rq : Il est possible de nommer une boucle pour permettre de
l'interrompre 27
LES TABLEAUX DE DONNÉES ET CHAINES DE
CARACTÈRES
Les tableaux de données
Un tableau Java est un objet permettant de rassembler sous un même identificateur des données de
même type.
Tableaux rectangulaires
Dimensionnement : tab . . .
tab= new type[2][3]; . . .
Tableaux non-rectangulaires
tab null
Dimensionnement :
tab= new type[2]; null
30
LES TABLEAUX DE DONNÉES ET CHAINES DE
CARACTÈRES
La manipulation des chaînes de caractères
Les variables de type String sont des objets
Exemple : String texte = "bonjour";
String nom=s.nextLine();
char[] ch=nom.toCharArray();
31
LES INSTRUCTIONS D’ÉCRITURE ET
LECTURE
Exemple
System.out.println(" longueur demandée est " + taux[1].length);
System.out.println(taux[1][1]);
System.err écriture des messages d’erreurs :
System.err.print("Attention!!!"); Attention!!! 32
LES INSTRUCTIONS D’ÉCRITURE ET
LECTURE
Lecture de données tapées au clavier (Alternative1)
Le flux de données provenant du clavier est désigné par l'objet
System.in de type InputStream.
Ce type d'objets permet de lire des données caractère par
caractère.
Pour lire d'un seul coup une ligne de texte on utilise le type
BufferedReader avec la méthode readLine.
BufferedReader IN=
new BufferedReader(new InputStreamReader(System.in));
String ligne;
ligne=IN.readLine();
L’utilisation de ces classes nécessite l’importation du
paquetage de flux d’E/S java.io 33
LES INSTRUCTIONS D’ÉCRITURE ET
LECTURE
Exemple // lecture d'une ligne saisie au clavier
import java.io.*;
…
String ligne; // lecture d'une ligne saisie au clavier
BufferedReader IN=null;
try{
IN=new BufferedReader(new InputStreamReader(System.in));
} catch (Exception e){ System.err.print(e); System.exit(1); }
System.out.print("Tapez une ligne : ");
ligne=IN.readLine(); System.out.println("ligne="+ligne);
…
N.I. : La construction d'un flux peut échouer Génération d’une exception (erreur) en
Java
le compilateur Java exige que toute exception susceptible d’être générée soit gérée par le
programmeur. 34
LES INSTRUCTIONS D’ÉCRITURE ET
LECTURE
try{
ligne=IN.readLine();
System.out.println("ligne="+ligne);
} catch (Exception e){
affiche(e);
System.exit(2);
}
} //fin main
public static void affiche (Exception e){
System.err.println("Erreur : "+e);
}
} //fin classe
N.I. Lecture des données d’autres types readLine et les méthodes de conversion de
35
types
LES INSTRUCTIONS D’ÉCRITURE ET
LECTURE
36
LES INSTRUCTIONS D’ÉCRITURE ET
LECTURE
Exemple
Importer la classe Scanner :
Import java.util.Scanner;
37
LES INSTRUCTIONS D’ÉCRITURE ET
LECTURE
38
LES INSTRUCTIONS D’ÉCRITURE ET LECTURE
EXEMPLE
…
System.out.println("bonjour");
Scanner s = new Scanner(System.in);
System.out.print("donner votre nom");
String nom = s.next();
System.out.print("donner votre age");
int age = s.nextInt();
System.out.print(" Age est "+age+" Nom est "+nom);
…
Il n’est pas obligatoire de :
1. gérer les IOException car les méthodes de Scanner ne lèvent
pas cette exception
2. Créer plusieurs objets type Scanner pour lire des données
differentes
39