[[: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=====