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 saut de ligne
\f saut de page
\b retour arrière
\t tabulation
\" guillemet
\’ apostrophe
\\ back slash
\xxx caractère Latin 1
\uxxxx 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 effet exemple
length calcul de la longueur ch1.length
+ ou concat concaténation ch1 + ch2 ou ch1.concat(ch2)
equals test d’égalité ch1.equals(ch2)
equalsIgnoreCase() test d’égalité ch1.equalsIgnoreCase(ch2)
sans distinguer minuscules/majuscules
valueof traduction de char en String String.valueof(cc)
toUpperCase traduction en majuscules ch1.toUpperCase()
toLowerCase traduction en minuscules ch1.toLowerCase()
replace remplacement d’un caractère par un autre ch1.replace(cc,’*’) ;
trim suppression des espaces (début et fin de chaine) ch1.trim()
toString() conversion d’un numérique en string ch1=toString(num) ;
conversion d’un Byte en String ch1=Byte.toString(num) ;
conversion d’un Short en String ch1=Short.toString(num) ;
conversion d’un Int en String ch1=Int.toString(num) ;
conversion d’un Float en String ch1=Float.toString(num) ;
conversion d’un Double en String ch1=Double.toString(num) ;
traduction d’une chaine en numérique
parseByte() numérique de type Byte Byte.parseByte(ch1) ;
parseShort() numérique de type Short Short.parseShort(ch1) ;
parseInt() numérique de type Int Integer.parseInt(ch1) ;
parseLong() numérique de type Long Long.parseLong(ch1) ;
parseFloat() numérique de type Float Float.parseFloat(ch1) ;
parseDouble() numérique de type Double 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 suc-
cession 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éclan-
chant 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.
1 / 4 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !