Académique Documents
Professionnel Documents
Culture Documents
E-mail : blaghji.manel@gmail.com
LOGO
AU : 2010/2011
Définition de Sun :
1
Caractéristiques du Langage Java
Simple :
• Inspiré du C++, Fortran, Lisp, Smalltalk.
• Pas de pointeur, pas de surcharge d'opérateurs, pas d’héritage multiple,
• Pas de structures, ni d’unions, ni de types énumérés, ni de fonctions en
dehors des classes.
• Java a été conçu pour écrire facilement du code sans bugs.
Orienté objet :
• La programmation objet modélise des objets ayant un état (ensemble de
variables) et des méthodes (fonctions) qui leur sont propres.
• L’unité de base en Java est la classe.
• Encapsulation, héritage, polymorphisme, …
Robuste:
• Fortement typé.
• Interdiction de manipulation des adresses via des pointeurs (50% des
bugs en C sont dus aux allocations et désallocations mémoire).
• Récupération automatique de la mémoire inutilisée (garbage collector).
Sûr :
• Mécanisme de gestion d’exceptions.
• Vérification par le compilateur et l'interpréteur.
2
Caractéristiques du Langage Java
Portable :
• Pas de compilation spécifique pour chaque plate forme : Il est possible
d'exécuter des programmes Java sur tous les environnements qui
possèdent une Java Virtual Machine (JVM).
• La machine virtuelle de Java est présente sur toutes les plates-formes
(Unix, Win32, Mac, etc).
Multithread :
• Une application peut être décomposée en unités d'exécution
fonctionnant simultanément.
Dynamique :
• Les classes Java peuvent être modifiées sans avoir à modifier le
programme qui les utilise.
Mise en œuvre
3
Mise en œuvre
Codage :
• Le fichier source d’un programme java est un fichier texte écrit avec la
syntaxe java sous la forme « NomDeClasse.java »
• Pas de séparation entre définition et codage des méthodes.
Compilation :
Mise en œuvre
Interprétation :
Les outils de développement Java fournis par SUN sont contenus dans le
Java Development Kit (JDK) qui contient principalement un compilateur
de source java (javac), un interpréteur de bytecode (java), un débogueur
(jdb), des API pour gérer le son, les interfaces graphiques, le réseau, etc.
4
Premier programme Java
Une application est une classe qui contient toujours la méthode :
public static void main(String args[])
10
5
Structures de contrôle
La structure if :
• if (condition) instruction1;
• if (condition) instruction1 else instruction2;
La structure switch :
switch(<variable>) {
case <val1> :<bloc1>
case <val2> :<bloc2>
case ... :...
default :<blocdefaut>
}
La structure while :
while ( expression booléenne ) instruction;
La structure for :
for (<init> ;<condition>;<instr_post_itération>) <bloc>
11
Type de données
Java possède deux sortes de types de données :
• Types primitifs gérés par valeurs.
• Types référencés représentés par les classes et les tableaux. Ces
types sont gérés par références (les adresses mémoire des objets)
Types primitifs :
• Java reprend les types primitifs équivalents à ceux du langage C : int,
char, short, long, float, double, byte.
• Java définit le type boolean (true/false).
• L’utilisation d’une variable non-initialisée est détectée à la compilation
et provoque une erreur.
• Une constante est déclarée avec le modificateur final et doit être
initialisée au moment de la déclaration.
• Exemples :
int x=10; char c='a'; float f = 253.56;
boolean b= true; final double PI = 3.141592;
12
6
Les chaines de caractères
• Les chaînes de caractères ne sont pas considérées en Java comme un
type primitif ou comme un tableau mais elles sont manipulées par la classe
String (fournie dans le package java.lang.).
• Les valeurs des variables de type String ne peuvent pas être modifiées.
• Il n’y a pas de caractère NULL pour la fin de chaîne.
• L’opérateur + pour concaténer deux chaînes de caractères
• Un ensemble de méthodes de la classe java.lang.String permettent
d’effectuer des opérations ou des tests sur une chaîne de caractères.
• Exemples :
String ch1 = "Langage C";
String ch2 = new String("Langage Java");
ch1.equals(ch2); // Test d’égalité
ch1.charAt(2); // Retourne la lettre à la position 2
ch2.length(); // Retourne 12
String ch3 = ch1 + ”ּ” + ch2; // ch3 vaut "Langage C Langage Java"
13
Les tableaux
Déclaration :
Les tableaux peuvent être déclarés suivant les syntaxes suivantes :
type [ ] nom ou bien type nom [ ]
Exemples :
• int [] tab; // équivalent à int tab[] ;
• String [] chaine;
Création et initialisation :
Pas de tableau statique.
La taille d'un tableau est allouée dynamiquement par l’opérateur new.
Exemples :
• int tab = new int [42];
• string [] couleurs ={"Rouge", "Jaune" ,"Noir"};
• int[] scores = {10, 20, 30};
• tab[0] = 3;
14
7
Les tableaux
Utilisation :
Exemple :
int[] tableau = new int[4] ;
for (int i = 0;i < 4 ;i ++) // premier élément indice 0
tableau[i] = i ;
int longueur = tableau.length; // longueur = 4
15