Introduction au langage JAVA

Transcription

Introduction au langage JAVA
Centre Universitaire d’informatique –
Université de Genève
Introduction au langage JAVA
Mustapha EL ATIFI
CUI - 2004
[email protected]
Sommaire
¬ Introduction
¬
Caractéristiques du langage Java
¬
Fonctionnement
¬
Le langage
¬
Références
1
ƒ1
Introduction
Caractéristiques
Le langage
Références
Introduction
¬ Langage informatique
¬ Langage machine
¬ Langages évolués
¬ Programme
¬ Programmation
2
Introduction
Caractéristiques
Le langage
Références
Java - caractéristiques
¬ Java un langage de programmation à objets
¬ Plusieurs utilisations:
communication entre client et BD, gestion de
réseau, applications multi-tâches, systèmes
embarqués, ...
3
ƒ2
Introduction
Caractéristiques
Le langage
Références
Java - caractéristiques
¬ Plusieurs caractéristiques:
portabilité, simplicité, sécurité,… cf le livre blanc
de java: http://java.sun.com/doc/language_environment
¬ Java est accompagné d’une bibliothèque de
programmation connue sous le nom API JAVA
4
Introduction
Caractéristiques
Le langage
Références
Java - fonctionnement
Code Java: source > compilation : bytecode Java>
exécution par la machine virtuelle Java (JVM)
Pseudo-code
(bytecode)
Fichier source
m
co
éPr
la
pi
Programme
exécuté
n
tio
compilateur
compilateur
m
Co
tio
la
pi
e
n-
tio
cu
xe
n
Interpréteur
Interpréteur
7
ƒ3
Introduction
Caractéristiques
Le langage
Références
Java - fonctionnement
¬ JDK, Java Development Kit
¬ javac: le compilateur Java
javac -g nom_du_fichier.java
¬ java: un interpréteur d'applications (JVM)
java nom_du_fichier
¬ applet viewer: un interpréteur d'applets
appletviewer nom_de_l_applet.class
¬ jdb: un débogueur
9
Introduction
Caractéristiques
Le langage
Références
Java - fonctionnement
¬ javap: un décompilateur, pour revenir du
bytecode au codesource
¬ javadoc: un générateur de documentation
javadoc.exe -author -version -d DocFolder *.java
¬ jar: un compresseur de classes Java
jar cvf nom_de_l_archive.jar repertoire
jar xvf nom_de_l_archive.jar
jar -jar nom_de_l_archive.jar
¬ API Java http://java.sun.com/j2se/1.4.2/docs/api/
10
ƒ4
Introduction
Caractéristiques
Le langage
Références
Structure d’un programme java
¬ Structure générique
package <nom_du_paquetage>
import <paquetage>.<classe>;
import <paquetage>.*;
public class NomDeLaClasse{
//variables de classe
//méthodes
//méthode principale:
public static void main (String args[]) {
System.out.println("Hello World");
}
}
11
Introduction
Caractéristiques
Le langage
Références
Structure d’un programme java
¬ toute instruction se termine par un point-virgule.
¬ La méthode(fonction) principale n’est pas
obligatoire dans toutes les classes. Mais dans
chaque programme on a besoin d’une telle
methode pour déclancher son exécution.
¬ la méthode principale doit être appelée main(). Elle
est appelée automatiquement par la machine
virtuelle lorsque le programme est lancé. Par:
java Programme arg1 arg2 … argn
12
ƒ5
Introduction
Caractéristiques
Le langage
Références
Structure d’un programme java
Java permet de créer deux types de programmes :
¬ Les applications:
public class Nom_du_programme
{
public static void main (String args[]) {
System.out.println("Hello World");
}
}
13
Introduction
Caractéristiques
Le langage
Références
Structure d’un programme java
¬ Les applets :
public class Nom_de_l_applet extends
java.applet.Applet
{
public void paint (Graphics g){
g.drawString("Hello World",20,40);
}
}
14
ƒ6
Introduction
Caractéristiques
Le langage
Références
Structure d’un programme java
<HTML>
<BODY>
<APPLET code="FirstApplet.class" width="100"
height="30" align="left">
Message s'affichant si l'applet n'est pas
supportée par le navigateur
</APPLET>
</BODY>
</HTML>
15
Introduction
Caractéristiques
Commentaires
Le langage
Références
Bonnes habitudes: il faut commenter
les programmes!
/** Voici un commentaire
Sur plusieurs
lignes */
// Voici un commentaire sur une ligne
/** Voici un commentaire
Sur plusieurs lignes
mais qui permet de documenter une application
@author texte-nom
@version 1.4.2
@param nom-paramètre description
*/
16
ƒ7
Introduction
Caractéristiques
Le langage
Références
Les primitives du langage Java
¬ Java est un langage à objets.
¬ Les objets contiennent des données.
¬ Les données manipulées avec Java, sont
typées, (java est fortement typé)
17
Introduction
Caractéristiques
Le langage
Références
Les primitives du langage Java
¬ Types:
¬ entiers (int),
¬ entier long (long)
¬ entier court (short)
¬ entier très court (byte)
¬ réels ou flottant c'est-à-dire à virgules
(float),
¬ Flottant double (double),
¬ booléen(Boolean), True ou False
¬ caractère (char)
18
ƒ8
Introduction
Caractéristiques
Le langage
Références
Les primitives du langage Java
Exemples:
int UnEntier;
int UnDeuxiemeEntier = 6;
int E = UnDeuxiemeEntier – 2;
char UnCaractere, UnDeuxiemeCaractere;
float UnReel;
Bonnes habitudes: il faut bien choisir les identificateurs des variables!
19
Introduction
Caractéristiques
Le langage
Références
Les primitives du langage Java
¬ Les enveloppeurs (Wrappers) Les primitives peuvent être
"enveloppées" dans un objet provenant d'une classe prévue
à cet effet
¬ BigDecimal : aucune primitive associée, car cette classe peut
contenir des valeurs décimales de précision quelconque
¬ BigInteger : aucune primitive associée, car cette classe peut contenir
des valeurs entières de précision quelconque
¬ Character : char
¬ Byte : byte
¬ Short : short
20
ƒ9
Introduction
Caractéristiques
Le langage
Références
Les primitives du langage Java
¬ Les enveloppeurs (Wrappers) Short short
¬
¬
¬
¬
¬
Integer : int
Long : long
Float : float
Double : double
Boolean : boolean
21
Introduction
Caractéristiques
Le langage
Références
Les primitives du langage Java
¬ Chaîne de caractères :
Les chaînes de caractères ne correspondent
pas à un type de données mais à une classe
String s = "Bonjour";
¬…
22
ƒ10
Introduction
Caractéristiques
Le langage
Références
Structures conditionnelles
¬ IF ..
if (condition)
{
/* instruction ou bloc exécute si la condition
est
Vraie */
}
23
Introduction
Caractéristiques
Le langage
Références
Structures conditionnelles
¬ IF .. Else..
if (UnEntier ==4)
{
/* instruction ou bloc exécute si la condition
est vraie */
} else if (UnEntier == 0)
{
/* instruction ou bloc execute si la
condition2 est
Vraie */
} else
{
// traitement alternatif
}
24
ƒ11
Introduction
Caractéristiques
Le langage
Références
Structures conditionnelles
¬ switch case: (ne peut être utilisée qu'avec des entiers ou des caractères indiqués
entre apostrophes ’x’. )
switch (expression)
{
case valeur1 : instruction(s) ; break ;
/* on exécute les instructions si
expression = valeur1 puis on quitte (break)
*/
case valeur2 : instruction(s) ; break ; // (break) n’est pas necessaire
/* on exécute les instructions si
expression = valeur2 puis on quitte (break)
Si pas de (break), on continue
*/
// ...
default : instruction(s); // on exécute ces instructions si aucune
// valeur ne convient
}
Introduction
Caractéristiques
Le langage
25
Références
Boucles
¬ For ..
for (init; expression_test; incrémentation)
{
/* bloc ou instructions exécutées à chaque
incrémentation jusqu’à ce que la
condition_test soit fausse.
*/
}
26
ƒ12
Introduction
Caractéristiques
Le langage
Références
Boucles
for (int i=0; i<=9; i++)
{
// instructions
for (k=1; k< 11) //boucle imbriquée
{
/* bloc ou instructions exécutées à chaque
incrémentation jusqu’à ce que k>=11.
*/
}
// instructions
}
27
Introduction
Caractéristiques
Le langage
Références
Boucles
¬ While ..
while (condition)
{
// on exécute les instructions de ce bloc tant que
// la condition est vraie
}
28
ƒ13
Introduction
Caractéristiques
Le langage
Références
Boucles
¬ Do .. While
do
{
// idem que ci-dessus mais les instructions de ce
// bloc sont exécutées au moins une fois, que la
// condition, en fin de boucle, soit vraie ou non
} while (condition);
29
Introduction
Caractéristiques
Le langage
Références
Annexe: liste des mots réservés JAVA
abstract
double
int
strictfp
boolean
else
interface super
break
extends
long
switch
byte
final
native
synchronized
case
finally
new
this
catch
float
package
throw
char
for
private
throws
class
goto *
protected transient
const *
if
public
try
continue
implements
return
void
default
import
short
volatile
do
instanceof
static
while
30
ƒ14
Introduction
Caractéristiques
Le langage
Références
Editeurs ou environnements de développement
Java
¬ Visual Age(IBM),
http://www-306.ibm.com/software/awdtools/vajava/
¬ JBuilder(Inprise > Borland), http://www.borland.com/jbuilder/
¬ PowerJ(Sybase) http://www.sybase.com/products/internetappdevttools/powerbuilder
¬ IntelliJ IDEA (JetBrains), http://www.jetbrains.com/idea/
¬ NetBeans IDE (Sun) http://www.netbeans.org/
¬ JEdit, (Open Source) http://www.jedit.org/
¬ Together,(TogetherSoft > Borland) http://borland.com/together/
¬ BlueJ(Uni. Australia, Denmark, UK) http://www.bluej.org/
31
Introduction
Caractéristiques
Le langage
Références
Références
¬
¬
¬
¬
¬
¬
http://java.sun.com/
http://java.sun.com/docs/books/tutorial/java/TOC.html
http://java.sun.com/j2se/1.4.2/docs/api/index.html
http://cui.unige.ch/java/
http://www.eteks.com/coursjava/tdm.html
…
32
ƒ15
Introduction
Caractéristiques
Le langage
Références
Références
33
Introduction
Caractéristiques
Le langage
Références
Références
34
ƒ16