JAVA Chapitre7

10

Click here to load reader

description

Riadh Bouhouch Mastere pro : réseaux et télécommunication

Transcript of JAVA Chapitre7

Page 1: JAVA Chapitre7

Chapitre 7 : Les Classes de bases de JAVA

Riadh BOUHOUCHI

1

MASTER PROFESSIONNEL

NOUVELLES TECHNOLOGIES DES TELECOMMUNICATIONS ET RESEAUX

(N2TR)

Cours JAVA © FST

Les Classes de bases de JAVA

Objectif :

Ce chapitre vous permettra d’identifier les classes de base du langage

à traves des exemples et de pouvoir les manipuler.

Page 2: JAVA Chapitre7

Chapitre 7 : Les Classes de bases de JAVA

Riadh BOUHOUCHI

2

Sommaire Les classes dans le package java.lang : .................................................................................................... 3

Comme nous l’avons déjà dit ces classes sont l’ensemble des classes de base importées

automatiquement par le compilateur. ............................................................................................ 3

La classe Object : ................................................................................................................................. 3

La méthode getClass() : ................................................................................................................... 3

La méthode toString() : ................................................................................................................... 3

La classe String : ...................................................................................................................................... 4

La classe StringBuffer : ............................................................................................................................ 5

La classe System : .................................................................................................................................... 6

Les flux d'entrée/sortie standard : ...................................................................................................... 6

La classe Integer : ................................................................................................................................... 7

La classe Math ......................................................................................................................................... 8

La classe Runtime : .................................................................................................................................. 8

Les classes du package java.util : ............................................................................................................. 9

La classe StringTokenizer : ....................................................................................................................... 9

La classe Random : ................................................................................................................................ 10

La classe Date : ...................................................................................................................................... 10

Page 3: JAVA Chapitre7

Chapitre 7 : Les Classes de bases de JAVA

Riadh BOUHOUCHI

3

Dans cette partie on se propose de présenter quelques classes de base en JAVA fournies avec

la machine virtuelle.

Les classes dans le package java.lang :

Comme nous l’avons déjà dit ces classes sont l’ensemble des classes de base importées

automatiquement par le compilateur.

La classe Object :

C'est la super classe de toutes les classes Java : toutes ces méthodes sont donc héritées par

toutes les classes.

La méthode getClass() :

La méthode getClass() renvoie un objet de la classe Class qui représente la classe de l'objet.

Avec cet exemple on peut connaitre le nom d’une classe :

La méthode toString() :

La méthode toString() de la classe Object renvoie le nom de la classe , suivi du séparateur @,

lui même suivi par la valeur de hachage de l'objet.

La méthode equals() :

La méthode equals() implémente une comparaison par défaut. Sa définition dans Object

compare les références : donc obj1.equals(obj2) ne renverra true que si obj1 et obj2 désignent

le même objet. Dans une sous classe de Object, pour laquelle on a besoin de pouvoir dire que

deux objets distincts peuvent être égaux.

La méthode clone() :

Si x désigne un objet obj1, l'exécution de x.clone() renvoie un second objet obj2, qui est une

copie de obj1 : si obj1 est ensuite modifié, obj2 n'est pas affecté par ce changement.

String nomClasse = monObject.getClass().getName();

Page 4: JAVA Chapitre7

Chapitre 7 : Les Classes de bases de JAVA

Riadh BOUHOUCHI

4

La classe String :

Une chaîne de caractères est contenue dans un objet de la classe String

On peut initialiser une variable String sans appeler explicitement un constructeur : le

compilateur se charge de créer un objet.

Voici un exemple de déclaration :

Voici un exemple de comparaison entre deux chaines en utilisant la méthode equals :

La classe String possède de nombreuses méthodes dont voici les principales :

Méthodes Rôle

charAt(int) renvoie le n éme caractère de la chaine

compareTo(String) compare la chaîne avec l'argument

concat(String) ajoute l'argument à la chaîne et renvoie la

nouvelle chaîne

String Chaine = "bonjour";

String Chaine = new String("bonjour");

String chaine = "bonjour";

String chaine1 = "bonjour";

String chaine1 = "bonjour1";

if(chaine.equals(chaine1))//cette instruction permet de

//comparer le contenu des deux chaines

{

System.out.println(“ les deux chaines de caracteres

sont identiques") ;

}

Page 5: JAVA Chapitre7

Chapitre 7 : Les Classes de bases de JAVA

Riadh BOUHOUCHI

5

La classe StringBuffer :

Les objets de cette classe contiennent des chaines de caractères variables, ce qui permet de les

agrandir ou de les réduire.

Cet objet peut être utilisé pour construire ou modifier une chaîne de caractères chaque fois

que l'utilisation de la classe String nécessiterait de nombreuses instanciations d'objets

temporaires.

Par exemple, si str est un objet de type String, le compilateur utilisera la classe StringBuffer

pour traiter la concaténation de "abcde"+str+"z" en générant le code suivant :

Ce traitement aurait pu être réalisé avec trois appels à la méthode concat() de la classe String

mais chacun des appels aurait instancié un objet StringBuffer pour réaliser la concaténation,

ce qui est couteux en temps exécution.

La classe StringBuffer dispose de nombreuses méthodes qui permettent de modifier le

contenu de la chaîne de caractère et voici un exemple :

endsWith(String) ajoute l'argument à la chaîne et renvoie la

nouvelle chaîne

equalsIgnoreCase(String) compare la chaîne sans tenir compte de la

casse

indexOf(String) renvoie la position de début à laquelle

l'argument est contenu dans la chaine

lastIndexOf(String) renvoie la dernière position à laquelle

l'argument est contenu dans la chaine

lenght() renvoie la longueur de la chaine

replace(char,char) renvoie la chaîne dont les occurrences d'un

caractère sont remplacées

startsWith(String int) Vérifie si la chaîne commence par la sous

chaîne

substring(int,int) renvoie une partie de la chaine

toLowCase() renvoie la chaîne en minuscule

toUpperCase() renvoie la chaîne en majuscule

trim() enlève les caractères non significatifs de la

chaine

new StringBuffer().append("abcde").append(str).append("z").toString();

Page 6: JAVA Chapitre7

Chapitre 7 : Les Classes de bases de JAVA

Riadh BOUHOUCHI

6

La classe System :

Cette classe possède de nombreuses fonctionnalités pour utiliser des services du système

d'exploitation.

Les flux d'entrée/sortie standard :

La classe System définit trois variables statiques qui permettent d'utiliser les flux

d'entrée/sortie standards du système d'exploitation.

La variable in est de type PrintStream :

elle permet de gérer l’entrée standard du système.

Par défaut, c'est le clavier.

La variable out est de type InputStream :

C’est la sortie standard du système.

Par défaut, c'est le moniteur.

La variable err est de type PrintStream :

public class MettreMaj {

static final String lMaj = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";

static final String lMin = "abcdefghijklmnopqrstuvwxyz";

public static void main( String[] args) {

System.out.println(MetMaj("chaine avec MAJ et des min"));

}

public static String MetMaj(String s) {

StringBuffer sb = new StringBuffer(s);

return toUpperCase(sb).toString();

}

}

Page 7: JAVA Chapitre7

Chapitre 7 : Les Classes de bases de JAVA

Riadh BOUHOUCHI

7

C’est la sortie standard des erreurs du système.

Par défaut, c'est le moniteur.

Exemple en utilisant System.out :

Voici un exemple de quelques méthodes de la classe System :

méthode rôle

arraycopy(Object src, int src_position,

Object dst, int dst_position, int length)

Copie un tableau à partir de la matrice source

spécifiée, commençant à la position spécifiée, à

la position spécifiée du tableau de destination.

currentTimeMillis() Renvoie l'heure courante en millisecondes.

exit(int status) Renvoie l'heure courante en millisecondes.

gc() Exécute le garbage collector.

getProperty(String key) Obtient la propriété système indiqué par la clé

spécifiée.

La classe Integer :

La classe Integer encapsule une valeur du type int primitive dans un objet. L’objet de type

Integer contient un seul champ dont le type est int.

Voici quelques méthodes de la classe Integer :

Méthode Rôle

byteValue() Retourne la valeur de cet entier comme un

octet

equals(Object obj) Compare un objet par rapport à un autre

hashCode() Retourne le hashcode de l’entier

intValue() Retourne la valeur de l’entier avec un type

int

longValue() Retourne la valeur de l’entier avec un type

long

parseInt(String s) Convertie une chaine en un entier decimale

System.out.println("salut");

Page 8: JAVA Chapitre7

Chapitre 7 : Les Classes de bases de JAVA

Riadh BOUHOUCHI

8

Voici un exemple d’utilisation de la méthode parseInt(String s) :

Cette méthode retourne une valeur booléenne true si la chaine a est un entier ou false dans le

cas contraire.

La classe Math

Cette classe contient des méthodes pour effectuer des opérations numériques de base.

Nous proposons dans cet exemple quelques méthodes :

Méthode Rôle

abs(int a) Retourne la valeur absolu de d’un

entier

max(int a, int b) Retourne la valeur maximum entre

deux entiers

min(int a, int b) Retourne la valeur minimum entre

deux entiers

La classe Runtime :

La classe Runtime permet d'interagir avec le système dans lequel l'application s'exécute :

obtenir des informations sur le système, arrêt de la machine virtuelle, exécution d'un

programme externe.

public Boolean isInteger(String a)

{

try{

int i=Integer.parseInt(a);

}

catch(Exception e){

return false;

}

return true;

}

Page 9: JAVA Chapitre7

Chapitre 7 : Les Classes de bases de JAVA

Riadh BOUHOUCHI

9

Méthode Rôle

totalMemory() permet d'obtenir la quantité totale de la

mémoire.

freeMemory() permet d'obtenir et la quantité de mémoire

libre.

Les classes du package java.util :

Ce package contient un ensemble de classes utilitaires : la gestion des dates (Date et

Calendar), la génération de nombres aléatoires (Random), la gestion des collections

ordonnées ou non tels que :

la table de hachage (HashTable),

le vecteur (Vector),

la pile (Stack) ...,

la gestion des propriétés (Properties), des classes dédiées à l'internationalisation

(ResourceBundle, PropertyResourceBundle, ListResourceBundle) etc ...

La classe StringTokenizer :

Cette classe permet de découper une chaîne de caractères (objet de type String) en fonction de

séparateurs.

Le constructeur de la classe accepte 2 paramètres : la chaîne à décomposer et une chaîne

contenant les séparateurs.

import java.util.*;

class test9 {

public static void main(String args[]) {

StringTokenizer st = new

StringTokenizer("chaine1,chaine2,chaine3,chaine4",",");

while (st.hasMoreTokens())

{

System.out.println((st.nextToken()).toString());

}

}

}

Resultas :

chaine1

chaine2

chaine3

chaine4

Page 10: JAVA Chapitre7

Chapitre 7 : Les Classes de bases de JAVA

Riadh BOUHOUCHI

10

Remarques :

La méthode hasMoreTokens() fournit un contrôle d'itération sur la collection en

renvoyant un booleen indiquant s’il reste encore des éléments.

La méthode getNextTokens() renvoie le prochain élément sous la forme d'un objet

String

La classe Random :

La classe Random permet de générer des nombres pseudo−aléatoires. Après l'appel au

constructeur, il suffit d'appeler la méthode correspondante au type désiré.

Voici quelques méthodes :

Méthode rôle

next(int ) Retourne un entier au hazard

nextLong( ) Retourne un nombre pseudo−aléatoires de

type Long

nextFloat( ) Retourne un nombre pseudo−aléatoires de

type Float

La classe Date : La classe Date permet de manipuler les dates.

Voici un exemple qui permet de récupérer l’heure et la date du système d’exploitation.

import java.util.*;

import java.text.SimpleDateFormat;

import java.lang.String;

class DateSysteme{

public static void main(String args[])

{

Date localTime = null;

localTime = new Date();

SimpleDateFormat sdf = new SimpleDateFormat("hh_mm_ss");

StringBuilder sb = new StringBuilder(sdf.format(localTime));

String actualHeure = String.valueOf(sb);

System.out.println(actualDate);

SimpleDateFormat sdf1 = new SimpleDateFormat("dd_MM_yyyy");

StringBuilder sb1 = new StringBuilder(sdf1.format(localTime));

String actualDate = String.valueOf(sb1);

System.out.println(actualDate);

}

}