Elles appartiennent à la classe Character.
public static boolean isDigit (char ch)
Renvoie true si le caractère ch est un chiffre.
public static boolean isLetter (char ch)
Renvoie true si le caractère ch est une lettre.
public static boolean isLetterOrDigit (char ch)
Renvoie true si le caractère ch est un chiffre ou une lettre.
public static boolean isLowerCase (char ch)
public static boolean isUpperCase (char ch)
Ces méthodes renvoient true si le caractère ch est respectivement une minuscule ou une majuscule.
public static boolean isWhitespace (char ch)
Renvoie true s'il s'agit d'un caractère d'espacement et faux sinon.
Exemple :
char c = 'D';
System.out.println ("Est-ce que " + c + " est une lettre ? ");
System.out.println ("Réponse : " + Character.isLetter(c));
public static char toLowerCase (char ch)
public static char toUpperCase (char ch)
Ces méthodes renvoient le caractère ch converti respectivement en minuscule ou en majuscule
Exemple :
char ce='a';
System.out.println ("ce : " + Character.toUpperCase(ce));
public static int digit (char ch, int b)
Renvoie le nombre correspondant au caractère ch en base b ou -1 si le caractère ch est incorrect en base b.
Exemple :
char ce='B';
System.out.println ("ce : " + Character.digit(ce,16));
Elles appartiennent à la classe String.
Ainsi que nous l'avons vu :
. l'affectation se fait par l'opérateur = et non par une fonction particulière comme c'est le cas en C.
. la concaténation se fait avec l'opérateur +
public int length()
Renvoie la longueur de la chaîne
Exemple :
String chaine= "Salut à tous";
System.out.println ("Nombre de caractères : " + chaine.length);
Plusieurs fonctions peuvent être utilisées.
· public boolean equals(Object objet)
Renvoie true si les 2 chaînes sont identiques (casse prise en compte) et false sinon.
Exemple :
String instrument="piano";
String bruit="tambour";
System.out.println("les 2 chaînes sont-elles identiques ? ");
System.out.println("Réponse : " + instrument.equals(bruit));
System.out.println("Réponse : " + instrument.equals("PIANO")) ;
Comme equals () mais la comparaison est faite sans tenir compte des majuscules/minuscules des chaînes comparées.
Compare une chaîne de caractères avec autreChaine. Renvoie une valeur négative, nulle, ou positive suivant que la chaîne de caractères est respectivement inférieure, égale ou supérieure à celle transmise en paramètre.
Exemple :
String instrument="piano";
String bruit="tambour";
System.out.println("Réponse : " + instrument.compareTo(bruit)); // Réponse : -4
System.out.println("Réponse : " + instrument.compareTo(instrument)); // Réponse : 0
System.out.println("Réponse : " + instrument.compareTo("PIANO")); // Réponse : 32
public char charAt (int index)
Renvoie le caractère situé à l'indice index (index compris entre 0 et length () - 1).
Cette fonction a déjà été vue dans le paragraphe 10.
· En indiquant la position de début :
public String substring(int debut)
· En indiquant le début et la fin (l'élément situé à la position de fin sera exclu) :
Public String substring(int debut, int fin)
Exemple :
String instrument="piano";
System.out.println("Réponse : " + instrument.substring(2)) ; // ano
System.out.println("Réponse : " + instrument.substring(0,3)) ; // pia
System.out.println("Réponse : " + instrument.substring(3,instrument.length())) ; // no
public int indexOf (int ch)
public int indexOf (int ch, int fromIndex)
public int lastIndexOf (int ch)
public int lastIndexOf (int ch, int fromIndex)
public int indexOf (String str)
public int indexOf (String str, int fromIndex)
public int lastIndexOf (String str)
public int lastIndexOf (String str, int fromIndex)
Renvoient l'indice de la première ou la dernière occurrence d'un caractère ch ou d'une chaîne str dans une chaîne de caractères, ou -1 si aucune occurrence n'a pas été trouvée.
String instrument="piano";
System.out.println("Réponse : "+instrument.indexOf('a')); // 2
System.out.println("Réponse : "+instrument.indexOf(97)); // 2
System.out.println("Réponse : "+instrument.indexOf('a', 3)); // -1
System.out.println("Réponse : "+instrument.indexOf("an")); // 2
instrument += " Steinway";
System.out.println("Réponse : "+instrument.lastIndexOf('i')); // 9
public String toLowerCase ()
public String toUpperCase ()
Renvoie une chaîne où tous les caractères majuscules sont convertis en minuscules, et inversement.
Exemple :
String instrument="piano";
System.out.println("Réponse : "+instrument.toUpperCase()); // Affiche PIANO mais la
// chaîne contient toujours piano
instrument = instrument.toUpperCase(); // instrument contient maintenant PIANO
public String trim ()
Renvoie une chaîne où tous les caractères d'espacement en tête et en queue d'une chaîne de caractères sont supprimés.
Exemple :
String chaine = "\nBonjour Monsieur\n";
chaine = chaine.trim();
…
public String replace(char avant, char apres)
Exemple :
String chaine = "toto";
chaine = chaine.replace('o','i');
…
Nous avons déjà étudié comment convertir une chaîne en un autre type. Ici nous étudions la conversion réciproque.
public static String valueOf (boolean b)
public static String valueOf (char c)
public static String valueOf (int i)
public static String valueOf (long l)
public static String valueOf (float f)
public static String valueOf (double d)
Exemple :
int nbe=1234;
String chaine = String.valueOf(nbe);
….
En Java, les éléments d'un tableau sont des objets alloués dynamiquement.
Il faut déclarer le tableau et créer les éléments, tout ceci peut être effectué en une seule instruction.
// Déclaration d'un tableau
NomType NomTableau[];
Exemple : int tabl [ ];
// Création des éléments d'un tableau
NomTableau = new NomType[Nombre_éléments];
Exemple : tabl = new int[nombre_elements];
Remarques : nombre_elements peut être un littéral ou une variable.
le tableau est initialisé à 0 s'il s'agit d'un tableau numérique.
// On peut faire directement la création du tableau
Exemple : int tabl [ ] = new int[nombre_elements];
Comme en C, un tableau contenant n éléments, a son premier élément à l'indice 0 et son dernier à l'indice n-1.
NomTableau[ind] désigne l'élément d'indice ind comme en C.
Le nombre d'éléments d'un tableau est donné par NomTableau.length , attention il ne faut pas mettre () derrière length.
Exemples :
// Déclaration de références sur des tableaux
int [ ] tableEntiers;
float tableFlottants [ ]; // Les crochets peuvent être avant ou après la variable
String [ ] tableChaines;
// Création des éléments
tableEntiers = new int[12];
tableFlottants = new float[3];
tableChaines = new String[3];
// Création d'un tableau
int [ ] tableEntiers2 = new int [5];
// Création de tableaux initialisés
long [ ] tableLongs = {1L, 2L, 5L};
String [ ] tableChaines2 = {"Bonjour", null, "Bonsoir"};
// Alimentation d'éléments
tableEntiers[0] = 31;
tableChaines[0] = "Bonjour";
tableChaines2[1] = "Salut";
Ecriture d'une classe de test des tableaux à une dimension :
import java.io.*;
public class test_tab
{
public static void main(String args[]) throws IOException
{
int [] tab1 = new int[10];
int i, nb;
int [] tab2;
for (i=0; i<10; i++)
{
System.out.println("Saisir l'élément " + i);
BufferedReader rep = new BufferedReader(new
InputStreamReader(System.in));
tab1[i] = Integer.parseInt(rep.readLine()) ;
}
for (i=0; i<10; System.out.print("tab1["+i+"] = " + tab1[i++] + "\t"));
do
{
System.out.println("\nSaisir le nombre d'éléments du tableau");
BufferedReader rep = new BufferedReader(new
InputStreamReader(System.in));
nb = Integer.parseInt(rep.readLine()) ;
}
while (nb < 0 || nb > 5);
tab2 = new int[nb];
for (i=0; i<nb; i++)
tab2[i] = tab1[i];
for (i=0; i<nb; System.out.print("tab2["+i+"] = " + tab2[i++] + "\t"));
}
};
Une fois qu'un tableau est créé, sa taille ne peut être modifiée ; par contre, la classe System fournit la méthode arraycopy, elle permet de copier une partie d'un tableau dans un autre.
public static void arraycopy (Object TabSource, int srcind, Object TabDst, int dstind, int nb)
Copie les nb éléments du tableau TabSource à partir de l'indice srcind dans le tableau TabDst à l'indice dstind.
Dans l'exemple précédent, pour copier les nb éléments de tab1 dans tab2, on peut remplacer ce qui figure en gras par :
System.arraycopy (tab1,0,tab2,0,nb);
Java permet de créer les tableaux multi-dimensionnels de deux manières différentes :
1ère façon : créer un tableau directement avec plusieurs dimensions
OU
2ème façon : créer la 1ère dimension puis les sous-tableaux, les sous-tableaux (donc les colonnes si 2 dimensions) pouvant avoir des tailles différentes.
Exemples 1ère façon :
int [ ][ ] table1 = new int [dim1][dim2]; // dim1 et dim2 peuvent être des littéraux ou bien
// des variables préalablement déclarées
// puis initialisées ou saisies.
int [ ][ ] table2 = {{15, 20, 30},
{ 5, 10, 15}};
Pour désigner un élément : c'est comme en C. Par exemple table2[0][1] désigne le 2ème élément de la 1ère ligne donc 20.
Exemple 2ème façon :
int [ ][ ] table1 = new int [dim1][ ]; // Création de la première dimension
// (dim1 est un littéral ou bien une variable
// préalablement
// déclarée puis initialisée ou saisie).
int i, j;
for (i = 0; i < dim1; i++)
{
table1 [i] = new int [dim2]; // Création de la deuxième dimension (dim 2 est un
// littéral ou bien une variable préalablement déclarée
// puis initialisée ou saisie, l'initialisation ou
// saisie peut être effectuée dans la 1ère
// boucle for ce qui permettra d'avoir des
// colonnes de taille différente).
for (j = 0; j < dim2; j++)
table1 [i][j] = 1;
}