Rappels Java (compilation avec cmd, package

publicité
POO
Rappels
Compilation en ligne de commande :

Configurer le path :
set path=%path%;C:\Program Files\Java\jdk\bin

Compiler tous les fichiers java :

-d pour destination
Exécuter une classe (avec un main) :
javac -d build/classes src/package/package1/*.java
java -cp build/classes package.package1.NomClasse
-cp pour classpath
Généralités et conventions :
 2 possibilités pour une classe :
public NomClasse {} => public, le fichier doit porter le nom de la classe
(rien) NomClasse {} => package, le fichier peut s'appeler autrement, on peut même mettre
autant de classes que voulu dans le fichier
Il est convenu de n’utiliser que des lettres minuscules, chiffres, point pour nommer un
package.
Si NomClass est dans NomPackage, le nom complet de la classe NomClasse devient
NomPackage.NomClasse, c’est pourquoi on utilise pour exécuter la commande :
java NomPackage.NomClasse
Les classes StringBuffer et StringBuilder
Le caractère immuable de la classe String peut poser problème lors de nombreux traitements
sur des objets de cette classe. En effet lors d’une modification successive d’un objet String,
exemple :
String s = "";
for (int i = 0; i < tab.length; i++){
s += tab[i] + ", ";
}
On crée en réalité différents objets String qui viennent remplacer le premier. Le temps
d’exécution pour la création est peut prendre bien plus de temps que la modification d’un
élément. C’est pourquoi il existe les classes StringBuffer et StringBuilder, qui représentent
également une chaine de caractères mais les objets de type StringBuffer et StringBuilder sont
mutables (la différence entre StringBuffer et StringBuilder vient du fait que toutes les
méthodes de StringBuffer sont synchronisées, adapté aux programmes multithreads,
contrairement aux méthodes de StringBuilder, plus rapide dans le cas de programme avec un
seul thread).
La manière de concaténer avec la classe String varie également :
StringBuilder bui = new StringBuilder();
bui.append ("Hell");
bui.append (" World ");
bui.append ('!');
bui.insert (4, 'o'); //Insert le "o" à
la position 4
bui.deleteCharAt(1); //Supprime le "e" à
l'indice 1
System.out.println (bui);
// Affiche "Hllo World !"
String str = new String();
str = "Hell";
str += " World ";
str += '!';
//Obligation de concaténer en
fin de chaine, il faut se servir
de substring (dispo également
dans StringBuilder)
System.out.println (str);
// Affiche "Hell World !"
Téléchargement