[[:home|TableDesMatieres]] -> [[esi:home|esi's home]]
//Voici une série de petits exemples donnés au cours et qui nous paraissent élémentaires. Comme en début d'apprentissage, on aime généralement avoir des **exemples** d'utilisation, j'en donne ici ... libre à vous de modifier ou d'en ajouter. //
===== Integer =====
====parseInt()====
La méthode //[[http://java.sun.com/j2se/1.5.0/docs/api/java/lang/Integer.html |parseInt()]]// permet de convertir un //String// en //int//.
De telles méthodes existent également pour //parser// d'autres types numériques, cfr la doc.
/**
* Exemple
*
* Illustration de la méthode parseInt()
*/
public class Exemple {
public static void main ( String[] args ) {
String chaine = "12" ;
int entier ;
entier = Integer.parseInt( chaine ) ; // entier reçoit 12
}
}
===== String =====
====charAt()====
La méthode //[[http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#charAt(int) |charAt()]]// permet d'accéder à un caractère d'une chaine.
Par exemple
/**
* Exemple
*
* Illustration de la méthode charAt()
*/
public class Exemple {
public static void main ( String[] args ) {
String chaine = "Ma jolie chaine" ;
char caractère = chaine.charAt(3) ; // caractère reçoit j
}
}
====toLowerCase() / toUpperCase()====
Les méthodes //[[http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#toLowerCase() |toLowerCase]]// et [[http://java.sun.com/j2se/1.5.0/docs/api/java/lang/String.html#toUpperCase() |toUpperCase]] permettent de modifier la casse d'une chaine de caractères. Respectivement en remplacant tous les caractères en minuscule ou majuscule.
Par exemple
/**
* Exemple
*
* Illustration des méthodes toLowerCase(), toUpperCase()
*/
public class Exemple {
public static void main ( String[] args ) {
String chaine = "Ma jolie chaine" ;
System.out.println( chaine.toLowerCase() ); // écrit "ma jolie chaine"
System.out.println( chaine.toUpperCase() ); // écrit "MA JOLIE CHAINE"
}
}
====matches() ====
La méthode [[sunLang>String.html#matches|matches]] permet de tester si un //String// correspond (//match//) à un //pattern//. Pour ce faire, il FAUT lire la [[http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html#sum|doc]]
sur les **expressions régulière**.
Par exemple, je veux voir si un String est bien de la forme
//aaaa/mm/dd//, j'écris l'extrait de code suivant :
String s = "2006/02/14" ;
if ( s.matches("\\d{4}/\\d{2}/\\d{2}") )
System.out.println("Match") ;
else
system.out.println("Don't match") ;
=== Remarques ===
* Je suis obligé de doubler les //backslashs// car je "passe" une chaine de caractères et l'expression régulière doit contenir un //backslach//.
====split()====
La méthode [[sunLang>String.html#split|split]] permet d'éclater (//split//) un //String// sur base d'un caractère mais également --de manièreplus générale-- sur base d'une expression régulière (relire [[http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/Pattern.html#sum|la doc]]).
On peut donc, par exemple, découper une chaine sur base d'un caractère. Extrait:
String s = "Un1Deux2Trois3Quatre";
String[] ss;
System.out.println("Split sur un digit");
ss = s.split("\\d");
System.out.println("Chaine: " + s);
System.out.println("Morceaux: ");
for ( String piece : ss) {
System.out.println("\t" + piece);
}
=====String[] args=====
Le paramètre formel **args** de la méthode //main// permet de passer des arguments au programme. Il suffit d'utiliser le tableau de //String// ... dès qu'il existe. Il existe dès que l'on fait suivre l'appel du programme par des "mots".
/**
* Exemple de passage de paramètre
*/
public class Exemple {
public static void main ( String[] args ) {
// Je veux un paramètre
if ( args.length != 1 ) {
System.err.println( "Usage: java Exemple " ) ;
System.exit(1) ;
}
// A ce stade, je suis sur d'avoir un paramètre
String monParamètre = args[0] ;
System.out.println("Paramètre entré: " + monParamètre ) ;
}
}
=====Demande d'exemples=====