Base documentaire - partie web Le langage Java

publicité
Base documentaire - partie web
Le langage Java
Marie-Noëlle Terrasse, Joël Savelli, Eric Leclercq, Marinette Savonnet
Département IEM, Université de Bourgogne
Cette présentation du langage Java doit vous servir de référence mis les différents éléments du langage
dont vous avez besoin seront présentés au fur et à mesure.
Le langage Java (lancé par Sun au milieu des années 90, voir http ://java.sun.com) est actuellement
représenté par la version Java 2. Java est essentiellement utilisé soit sous forme de programmes (exécutés
au niveau système, soit directement sur le système d’exploitation soit sur une machine virtuelle java) soit
sous forme d’applets incluses dans du code HTML (s’exécutant sur la machine virtuelle d’un navigateur
internet).
Java est un langage orienté objet dans lequel le programmeur définit des classes (regroupement d’attributs
et d’opérations). L’appel d’une opération d’une classe lorsqu’elle est exécutée par un objet de cette classe
prend la forme :
objet.operation(paramètres)
1
Les bases
Nous allons donner rapidement les composants principaux d’un programme Java.
Les types de base sont les booléens pour les expressions logiques (boolean), les caractères (char codage
Unicode sur deux octets, par exemple ’A’), les différents format d’entiers relatifs (sur un octet byte, sur
deux octets short, sur quatre octets int, sur huit octets long), les réels (sur quatre octets float, sur huit
octets double).
Les noms de variables peuvent être construits avec des lettres minuscules ou majuscules, des tirets, des
chiffres. La déclaration d’une variable comprend le type et le nom de la variable. Par exemple pour définir
une variable x de type long, on écrira :
long x ;
Il est possible de modifier le type d’une valeur en indiquant, avant la valeur et entre paranthèses, le
type résultat. Par exemple pour transtyper en entier sur 4 octet le contenu de la variable x on écrira :
(int) x . Attention : le transtypage peut modifier la valeur de façon importante (voire lui faire perdre
toute signification).
Il existe un certain nombre de caratères spéciaux :
\n
\f
\b
\t
\"
\’
\\
\xxx
\uxxxx
saut de ligne
saut de page
retour arrière
tabulation
guillemet
apostrophe
back slash
caractère Latin 1
caractère Unicode
Il existe en Java une classe qui permet de manipuler les chaînes de caractères : c’est la classe String. Pour
pouvoir utiliser cette classe, il faut importer le package correspondant, i.e., mettre avant la définition de
la classe, l’instruction :
import java.lang.String ;
1
2
Une variable de type chaînes est déclarée par String ch1 ;.
Dans les exemples ci-dessous on suppose que l’on a (en plus de ch1) :
String ch2 ;
char cc ;
Les chaînes de caractères en Java sont délimitées par des guillemets ("). Une valeur de type chaîne est
par exemple "AZERTY". Les principales opérations disponibles sur les chaînes sont :
opération
length
+ ou concat
equals
equalsIgnoreCase()
valueof
toUpperCase
toLowerCase
replace
trim
toString()
parseByte()
parseShort()
parseInt()
parseLong()
parseFloat()
parseDouble()
effet
calcul de la longueur
concaténation
test d’égalité
test d’égalité
sans distinguer minuscules/majuscules
traduction de char en String
traduction en majuscules
traduction en minuscules
remplacement d’un caractère par un autre
suppression des espaces (début et fin de chaine)
conversion d’un numérique en string
conversion d’un Byte en String
conversion d’un Short en String
conversion d’un Int en String
conversion d’un Float en String
conversion d’un Double en String
traduction d’une chaine en numérique
numérique de type Byte
numérique de type Short
numérique de type Int
numérique de type Long
numérique de type Float
numérique de type Double
exemple
ch1.length
ch1 + ch2 ou ch1.concat(ch2)
ch1.equals(ch2)
ch1.equalsIgnoreCase(ch2)
String.valueof(cc)
ch1.toUpperCase()
ch1.toLowerCase()
ch1.replace(cc,’*’) ;
ch1.trim()
ch1=toString(num) ;
ch1=Byte.toString(num) ;
ch1=Short.toString(num) ;
ch1=Int.toString(num) ;
ch1=Float.toString(num) ;
ch1=Double.toString(num) ;
Byte.parseByte(ch1) ;
Short.parseShort(ch1) ;
Integer.parseInt(ch1) ;
Long.parseLong(ch1) ;
Float.parseFloat(ch1) ;
Double.parseDouble(ch1) ;
Les opérateurs de base Pour manipuler les valeurs numériques on dispose des opérateurs arithmétiques + - * / et % pour la division entière) ainsi que ++ et - - pour incrémenter (de 1).
Les comparaisons s’écrivent < <= > >= ainsi que == pour l’égalité et != pour la différence.
Les opérateurs & (et), | (ou), ! (non) ainsi que ˆ (xor, ou exclusif) permettent d’écrire des conditions
complexes.
Les instructions de base
– L’affectation est notée =.
– Pour afficher sur écran on utilise l’instruction System.out.println(xxx) ; dans laquelle xxx est une succession de commentaires (chaînes de caractères) et de variables séparées par des +.
– La conditionnelle simple s’écrit :
if (condition )
{ partie alors}
else {partie sinon}
La partie else est facultative. On peut donc écrire :
if ( x==5 )
System.out.println("La valeur de " + x + "n’est pas nulle");
ou
if ( x==5 )
System.out.println("La valeur de x (" + x + ") est cinq");
else System.out.println("Valeur de x non conforme");
– La conditionnelle à cas s’écrit :
3
switch (expression)
{ case valeur : action;break;
case valeur : action;break;
...
case valeur : action;break;
default : action;
}
L’expression doit être de type char, byte, short ou int. Attention chaque action doit être terminée par
break ; (sauf la dernière action du switch). La partie default est facultative.
– La boucle for s’écrit :
for (initialisation; condition de continuation; incrementation)
{ action
}
Par exemple pour afficher les carrés des entiers de 1 à 5 on écrira :
for (i=1; i<=5; i++)
{ System.out.println(i + "a pour carre : ",i*i);
}
– L’itération conditionnelle (while) s’écrit :
while ( condition de continuation)
{ action
}
Par exemple pour afficher les carrés des entiers de 1 à 5 on écrira :
i=1;
while (i<=5)
{ System.out.println(i + "a pour carre : ",i*i);
i++;
}
On peut aussi utiliser la forme avec test de la condition de continuation en fin d’itération :
do
{ action
}
while ( condition de continuation)
Par exemple pour afficher les carrés des entiers de 1 à 5 on écrira :
i=1;
do { System.out.println(i + "a pour carre : ",i*i);
i++;
}
while (i <=5);
– Les classes sont la base de structuration des programmes en Java. Une classe a un nom. Son code
source (en java) est stocké dans un fichier ayant le même nom que la classe et comme extension .java.
Une fois compilé on obtient un fichier de même nom et d’extension .class qui peut être interprété par
une machine virtuelle Java.
Une classe est définie de la façon suivante :
class nom
{
static void main()
{
déclaration des variables
instructions
}
définition des opérations
4
}
Les opérations (sauf main) sont optionnelles. Elles peuvent renvoyer un résultat (de type char, byte,
short, int, long, float, double) ou non (type void). Elles sont définies par :
static type_resultat nom (type parametre, type parametre, ...)
{
déclaration des variables
instructions
}
}
2
Les exceptions
Lors de la définition d’une opération, il est possible en java d’indiquer un déroulement anormal en déclanchant une exception (on utilise throw ). Pendant l’exécution d’un bloc d’action il est possible de détecter
(lever) les exceptions et de lancer un traitement spécifique à cette exception. On utilise :
try { action
}
catch (exception) { traitement de l’exception }
catch (exception) { traitement de l’exception }
...
catch (exception) { traitement de l’exception }
finally {action terminale}
La clause finally est optionnelle, si elle existe, l’action "finally" est exécutée dans tous les cas (avec ou
sans traitement d’exceptions).
3
Compléments divers
La définition des constantes se fait par le mot-clé final : final char FIN=’F’ ;
En pratique nous allons souvent déclarer et initialiser la variable en une seule fois (ce qui permet d’éviter
le problème de variable non initialisées) puis l’utiliser.
4
Liens
Vous pouvez trouver des cours plus détaillés :
– "Introduction à la programmation Java", Jacques Bapst, URL=www.eif.ch/ jbapst/pr1/.
– Java in a nutshell, David Flanagan, Ed. O’Reilly, traduction française.
Téléchargement