Cours Java
Cours Java
Cours Java
INTRODUCTION À « JAVA »
Qu’est ce que « Java » ?
2
Par exemple :
int a;
float pi = 3.14;
float rayon = 5;
float surface = pi * pi * rayon;
Les types de base
10
Exemple :
type_du_paramètre nom_du_paramètre
Les constructeurs de classe
13
monInstance = null;
System.gc();
Espace de désignation
17
package Premier;
class toto { … }
Un package peut être vue comme un répertoire dans lequel est rangé la
classe java.
Un package introduit un espace de désignation ( plusieurs classes peuvent
porter le même nom si elles sont placées dans des packages différents ).
Utilisation des « packages »
18
Pour accéder à un élément défini dans un package on doit utiliser son nom
complet sauf si l'élément qui l'utilise est dans le même package :
nom_de_package . nom_de_l'élément
Exemple :
Pour ajouter une classe dans un tel package, on utilise également le mot
clef « package » suivit du chemin désignant le package.
Exemple :
package Exemple.SousPackage;
class toto { … }
Importation de « package »
20
Exemple :
import Exemple.*;
class tutu extends titi
{…}
Le modificateur « abstract »
21
Une classe, une interface ou une méthode peuvent être spécifiés comme
étant abstraite en utilisant le mot clef « abstract ».
On ne pourra pas créer d'instance d'une classe abstraite, ou d'une classe
possédant une méthode abstraite.
De plus un classe qui possède une méthode abstraite doit obligatoirement est
marqué abstraite.
On emploi le mot clef « final » pour signaler qu'un élément est final.
Exemple :
Exemple :
public class Exemple
{
public final float pi = 3.14;
Cette attribut peut être utile pour retourner une référence vers l'instance ou
pour lever certaines ambiguïtés sur les identifiants.
Exemples :
public float longueur;
public void fixeLongueur( float longueur )
{
this.longueur = longueur;
}
Les tests de conditions
25
if ( condition )
// Bloc d'instruction si la condition est vraie
else
// Bloc d'instruction si la condition est fausse
Les choix multiples
26
switch ( type )
{
case valeur :
// Bloc d'instructions
default :
// Bloc d'instructions par défaut
}
Les boucles
27
while ( condition )
// Bloc d'instructions exécuté tant que la condition est vraie
do
{
// bloc d'instructions exécuté tant que la condition est vraie
}
while ( condition )
Les aspects objets du langage
28
Exemple :
On peut définir un tableau sur tous les types java ( types primitifs,
classes, interfaces, tableaux ).
type [ ] nom;
type nom [ ];
class Tableau {
public static void main(String[] args) {
int tabEntier[] = {1,5,9};
String[] joursOuvrables
={"lundi","mardi","mercredi","jeudi","vendredi"};
boolean tableau[]={true,false,true};
System.out.println("sommes nous le
"+joursOuvrables[3]+ tabEntier[0]+" ? c'est
"+tableau[1]);
}
}
Tableaux d'objets
37
Déclaration :
typeTab[] [] nomTab = new typeTab [taille1]
[taille2] ; int [] [] tabEntier2 = new int[10] [100] ;
Exemple
Construction normale
String ch = new String("Voici une chaine
!") ; System.out.println( ch ) ;
Construction simplifiée
String ch = "Voici une chaine !" ;
Reconstruction automatique
String ch = "Voici une chaine !" ;
System.out.println( ch ) ;
ch = "Bonjour !";
System.out.println( ch ) ;
Autres schémas de construction
43
Méthodes spécifiques
CONFIGURATION DE
L’ENVIRONNEMENT
Distribution des applications java
50
Pour créer une archive JAR, on utilise la commande « jar » qui est
similaire à la commande « tar » d'unix et qui prends à ce titre les
mêmes paramètres :
Pour exécuter une application, la machine virtuelle java doit savoir où sont
stockées les classes à utiliser.
Syntaxe de javac :
javac [ options ] nom_application
-sourcepath : spécifie un chemin ou sont contenus des fichiers java pouvant être
nécessaires à la compilation.
Exécution d'une application java
54
Pour exécuter une application java à partir du JDK, on doit emploi l'utilitaire
« java ».
Syntaxe de « java »
java [ options ] nom_de_l'application.class arguments
Options
-Dxxxx=yyyyy : définie une variable d'environnement qui sera accessible pour un
programme,
Constructeur :
BufferedOutputStream( OutputStream out );
Constructeur :
BufferedInputStream( InputStream in )
Constructeurs :
PrintWriter( OutputStream out )
PrintWrtier( OutputStream out, boolean autoflush )
Il existe deux flux standards de sortie ( ces deux flux sont implantés
par des « PrintWriter » ):
out : qui est un attribut statique de la classe « System » et qui par défaut
l’écran
err : est également un attribut statique qui symbolise le flux de sortie
pour les erreurs ( par défaut, c’est également l’écran )
Lecture et écriture de données
63
Voici quelques unes des opérations les plus usitées de cette classe
:
int length() : retourne la taille de la chaîne
char CharAt(int index ) : retourne un caractère de la chaîne
int hashCode() : retourne une code hash pour la chaîne
String toUpperCase() : retourne une chaîne équivalente en majuscule
String toLowerCase() : retourne une chaîne équivalente en minuscule
boolean startsWith( String prefix ) : retourne « true » si la chaîne est
préfixée de la chaîne passée en paramètre
boolean endsWith( String suffix ) : retourne « true » pour un suffixe
Manipulation de chaîne de
69
caractères
Des méthodes supplémentaires de la classe « java.lang.String »
permettent la manipulation des chaînes de caractères :
String substring( int begin_index )
String substring( int begin_index, int end_index )
int indexOf( char c, int from_index )
int indexOf( String s, int from_index )
int lastIndexOf( char c )
int lastIndexOf( String s )
Vecteurs Java
70
Contrairement aux tableaux, les objets
Vector sont des structures semblables aux
listes
de dimension variable
les éléments peuvent être des objets
quelconques (de types différents) .
les éléments d'un vecteur contiennent
obligatoirement des références à des objets
Il faut importer la classe Vector par import
java.util.Vector
Construction
Vector liste = new Vector() ;
Méthodes de gestion (1)
71
void addElement(Object obj)
ajout d'un objet en fin de liste.
boolean removeElement (Object obj)
suppression de l'élément si possible, renvoie
vrai ou faux selon.
Object elementAt(int n)
retourne l'élément à la place spécifiée
boolean contains(Object obj)
teste si l'objet spécifié appartient ou non au
vecteur.
int indexOf(Object obj )
recherche et renvoie la 1ère occurrence de
l'objet, -1 si non trouvé
Méthodes de gestion (2)
72
Enumeration e= dico.keys();
while (e.hasMoreElements())
{
String s= (String) e.nextElement();
System.out.println(s);
}