Explorer les Livres électroniques
Catégories
Explorer les Livres audio
Catégories
Explorer les Magazines
Catégories
Explorer les Documents
Catégories
1
Programmation orientée objet Mme Eya cheikh
2
Programmation orientée objet Mme Eya cheikh
Java Micro Edition (JME / Java ME) : environnement d'exécution et API pour le
développement d'applications sur appareils mobiles et embarqués dont les capacités
ne permettent pas la mise en œuvre de Java SE
La séparation en trois plateformes permet au développeur de mieux cibler l'environnement
d'exécution et de faire évoluer les plateformes de façon plus indépendante.
3
Programmation orientée objet Mme Eya cheikh
3.1 La JVM
3.1.1 Définition
C’est une couche logicielle intermédiaire entre les systèmes d’exploitation et les
programmes écrits en java. Elle isole les programmes java des contraintes de
l’environnement local, assurant ainsi leur portabilité.
Dans cette optique, un programme écrit sur PC, par exemple, doit pouvoir s’exécuter
sur un PC (de type IBM), un Macintosh (Apple) ou une station Unix (de type Sun), et
ce sans réécriture ni compilation du code source.
Or, le code binaire est spécifique pour chaque machine. Il est impossible de faire
tourner un même programme source d’une machine à une autre sans le compiler à
nouveau. En effet, lors de la nouvelle compilation, des erreurs apparaissent, dues aux
différences de matériel informatique.
Pour corriger cet inconvénient majeur, l’idée de J.Gosling a été de créer un code
intermédiaire entre le code source et le code binaire. Ce code intermédiaire est
appelé pseudo-code, ou encore byte code.
En effet, en créant un pseudo-code, identique pour tous les ordinateurs, il est possible
d’exécuter ce code sur différentes machines, sans avoir à le recompiler.
Ce code sera interprété par une machine virtuelle java, ou JVM (Java Virtual Machine).
C'est à dire que chaque instruction du bytecode sera lue et décodée puis traduite en
langage machine local.
Pour qu’un système puisse faire tourner des programmes java, il faut donc que la JVM
soit portée sur le système en question.
4
Programmation orientée objet Mme Eya cheikh
L’avantage d’un tel système est que le développeur d’applications est certain de créer des
programmes totalement compatibles avec les différents ordinateurs du marché sans avoir
à réécrire une partie du code.
3.1.3. Les principaux modules d’une JVM
Le chargeur de classes (class loader)
L’interprèteur de bytecode, JITcompiler
Le garbage collector (ramasse miette)
Et aussi :
les E/S ,
le graphique,la sécurité, …
5
Programmation orientée objet Mme Eya cheikh
6
Programmation orientée objet Mme Eya cheikh
Simple
La facilite d’accès à Java commence par le fait que la syntaxe est héritée de C++ et
donc qu’un développer C ou C++ pourra facilement maîtriser ce nouveau langage.
Les développeurs de Java ont décidé de simplifier considérablement C++
: certaines fonctionnalités, telles que l’héritage multiple ou la surcharge
d’opérateurs, ou les types inutiles n’ont pas été retenus par l’équipe qui a conçu
Java.
Certaines autres fonctionnalités ont été ajoutées comme le «ramasse-
miettes»(garbage collector).Pour faciliter la programmation, Java intègre également
une importante librairie de classes prédéfinies.
7
Programmation orientée objet Mme Eya cheikh
Portable
Ce langage a été créé pour être fonctionnel au sein d’une architecture réseau de
machines et de systèmes d’exploitation hétérogènes, car son implémentation se base
sur le déploiement d’une machine virtuelle.
Orienté objet
En java, il n’y a pas ni de constantes ni de variables ou de fonctions autonomes
puisque l’accès se fait toujours par des classes et des objets.
On peut dire donc que le niveau le plus externe de la structure des données est
l’objet d’où Java est un pur langage orienté objets.
Compilé et interprété
Un programme Java est compilé dans un langage de la JVM qui est le byte-code
(Ce code constitue les instructions pour la JVM), ce dernier devra ensuite être
interprété par la JVM.
Dynamique
Java a été conçu pour s’adapter à un environnement qui évolue, et pousse le concept
orienté objet à son optimum en permettant l’édition des liens entre modules objets
dynamiquement au moment de l’exécution, en particulier dans le cas ou une
application s’appuie sur une librairie de classes (une librairie de composants
logiciels). Même si cette librairie de classes évolue, il n’est pas nécessaire de
modifier ou de recompiler l’application qui y fait appel. Ces nouvelles versions de
modules seront prises en compte sans problèmes dès le moment ou elles auront été
utilisées.
Multithreadé
L’utilisation du multithreading permet à un seul programme d’effectuer plusieurs
activités simultanément. En effet, Java permet aux programmeurs la gestion de
multiples threads. Ce qui représente un outil puissant pour améliorer l'exécution
interactive des applications.
8
Programmation orientée objet Mme Eya cheikh
Java offre une classe Thread qui renferme une collection riche de méthodes pour
tout type d’action (commencer, exécuter, arrêter et vérifier l’état d’un thread).
Sécurisé
Java étant prévu pour être utilisé en réseau, la sécurité a été prise en compte dès le
début de la définition de ce langage : La technique d’authentification s’appuie sur
des mécanismes de chiffrement à clé publique. C’est grâce aux restrictions
apportées au langage qui interdisent à des applications d’accéder et de modifier les
structures de données en mémoire, que Java permet le développement de systèmes
totalement résistant aux virus.
9
Programmation orientée objet Mme Eya cheikh
10
Programmation orientée objet Mme Eya cheikh
char
- Type défini sur 16 bits.
- Valeurs possibles :{' \u0000' , …, ' \uFFFF' }
- Valeur par défaut : ' \u0000'
a. Les types entiers
byte
- Type défini sur 8 bits.
- Valeurs possibles -128 à 127
- Valeur par défaut: 0
short
- Type défini sur 16 bits.
- Valeurs possibles -215 à 215 -1 (-32768 à 32767)
Valeur par défaut: 0
int
- Type défini sur 32 bits.
- Valeurs possibles -231 à 231-1
- Valeur par défaut: 0
long
- Type défini sur 64 bits.
- Valeurs possibles -263 à 263-1
- Valeur par défaut: 0
11
Programmation orientée objet Mme Eya cheikh
double
- Type défini sur 64 bits.
- Valeur par défaut: 0.0D
12
Programmation orientée objet Mme Eya cheikh
Exemple2
int x=3, y=2;
double z = x/y; // affecte la valeur 1.0 à z
double z = (double) x/y; // la valeur 1.5 est affectée à z
13
Programmation orientée objet Mme Eya cheikh
Exemple
x = (y + z) / q; //instruction 1
x=
(y + z
) / q; // instruction 2
Exemple
int i=0;
while (i<5)
{ Bloc While
System.out.println(i);
i=i+1 ;
}
14
Programmation orientée objet Mme Eya cheikh
15
Programmation orientée objet Mme Eya cheikh
16
Programmation orientée objet Mme Eya cheikh
17
Programmation orientée objet Mme Eya cheikh
18
Programmation orientée objet Mme Eya cheikh
Exemple
if (a>b)
{if (a>c)
max=a ;
else if (c>a)
max=c ;
}else if (b>c)
max=b ;
else
max=c ;
19
Programmation orientée objet Mme Eya cheikh
l’instruction for
for (instr_init; condition_arret; inst_iteration) {
//blocCode
}
Exemple
for (int i=0;i<10;i++){
if(i<5)
System.out.println("c’est inf à 5");
else
System.out.println("iteration "+i);}
L'instruction while
while (condition) {
//blocCode
}
On boucle tant que la condition est vérifiée. La boucle peut ne jamais être
exécutée et l'accolade n'est pas suivie de point-virgule.
20
Programmation orientée objet Mme Eya cheikh
Ne pas mettre de ";" après la condition sinon le corps de la boucle ne sera jamais
exécuté.
Exemple
int i=0;
while (i<10){
if (i<5){
System.out.println("c’est inf à 5");
}else
System.out.println("iteration "+i);
i++;}
L'instruction do while
do{
action1;
action2;
}while(condition) ;
On boucle tant que la condition est vraie Cette boucle est au moins exécuté
une fois quelque soit la valeur de la condition booléenne.
Exemple
int i=0;
do{
if (i<5){
System.out.println("c’est inf à 5");
}else
System.out.println("iteration "+i);
i++;
}while(i<10);
21
Programmation orientée objet Mme Eya cheikh
L'instruction continue
L'instruction continue permet de passer prématurément au tour de boucle
suivant.
Exemple
repet : while
{ .....
for (. ... )
{ .....
continue ; //poursuivre l'itération suivante de la boucle for
continue repet ; // poursuivre l'itération suivante de la boucle while }}
22
Programmation orientée objet Mme Eya cheikh
QCM Leçon 2
23
Programmation orientée objet Mme Eya cheikh
24
Programmation orientée objet Mme Eya cheikh
case 10:System.out.print("B");
break;
default:System.out.print("C");
}
(a) Erreur de compilation
(b) AC
(c) BC
(d) AB
(e) Rien du tout
12. Quel sera le résultat de la compilation et l'exécution du code suivant?
int i = 0, j = 5;
for ( ; (i < 3) && (j++ < 10) ; i++ )
{ System.out.print(" " + i + " " + j);
}
System.out.print(" " + i + " " + j);
(a) 0 6 1 7 2 8 3 8
(b) 0 6 1 7 2 8 3 9
(c) 0 5 1 5 2 5 3 5
(d) Rien du tout
(e) Erreur de compilation
25