Académique Documents
Professionnel Documents
Culture Documents
Chargeur de
classes Java
Bytecode Class
Libraries
Vérificateur
Java
Source
(.java)
Juste à
Java
temps
Java Interpreter
Bytecodes e
Compilate Java
se déplacer localement ur Virtual
ou par l'intermédiaire d'un
réseau machine
Java
Compiler
Système d'exécution
Java
Bytecod Système d'exploitation
e
(.class )
Matériel
Comment ça marche... !
Java n'est indépendant que pour une
seule raison :
Il ne dépend que de la machine virtuelle
Java (JVM),
Le code Java est compilé en bytecode,
qui est interprété par la JVM résidente,
Les compilateurs JIT (just in time)
tentent d'augmenter la vitesse.
Java - Sécurité
Refus de pointeurs - réduit les chances que des
programmes virulents corrompent l'hôte,
Les applets sont encore plus limités -
Ne peuvent pas
exécuter des exécutables locaux,
lire ou écrire dans le système de fichiers local
communiquer avec tout autre serveur que le serveur
d'origine.
Orienté objet
int myArray[];
déclare que myArray est un array d'entiers
myArray = new int[8];
crée 8 espaces de taille entière en mémoire,
labelled myArray[0] to myArray[7]
int myArray[] = new int[8];
combine les deux déclarations en une seule
ligne
Attribution de valeurs
faire référence aux éléments de l’array par leur index
pour y stocker des valeurs.
monTableau[0] = 3 ;
monTableau[1] = 6 ;
monTableau[2] = 3 ; ...
peut créer et initialiser en une seule étape :
int myArray[] = {3, 6, 3, 1, 6, 3, 4, 1} ;
Iterating Through Arrays
for loops sont utiles lorsqu'il s'agit des arrays :
int total_calories() {
return(grams*cals_per_gram);
}
}
Methods
Une méthode est une séquence de code nommée
qui peut être invoquée par d'autres codes Java.
Une méthode prend certains paramètres, effectue
certains calculs et renvoie éventuellement une valeur
(ou un objet).
Les méthodes peuvent être utilisées dans le cadre
d'une déclaration d'expression.
public float convertCelsius(float tempC) {
return((tempC * 9.0f) / 5.0f) + 32.0 ) ;
}
Signatures de la méthode
La signature d'une méthode spécifie
le nom de la méthode
Le type et le nom de chaque paramètre.
le type de la valeur (ou de l'objet) renvoyée par la méthode
Les exceptions vérifiées lancées par la méthode.
Les différents modificateurs de méthode.
modificateurs type nom ( liste des paramètres ) [lance des
exceptions ]
public float convertCelsius (float tCelsius ) {}
public boolean setUserInfo ( int i, int j, String name ) throws
IndexOutOfBoundsException {}
Public/private
Les méthodes/données peuvent être
déclarées publiques ou privées, ce qui
signifie qu'elles peuvent ou non être
accessibles par le code d'autres
classes ...
Bonne pratique :
garder les données privées
garder la plupart des méthodes privées
interface bien définie entre les classes -
aide à éliminer les erreurs
Utilisation d'objets
Ici, le code d'une classe crée une instance
d'une autre classe et fait quelque chose avec
elle …
Fruit plum=new Fruit();
int cals;
cals = plum.total_calories();
48
Afficher le contenu du fichier
import java.io.*;
public class FileToOut1 {
public static void main(String args[]) {
try {
FileInputStream infile = new FileInputStream("testfile.txt");
byte buffer[] = new byte[50];
int nBytesRead;
do {
nBytesRead = infile.read(buffer);
System.out.write(buffer, 0, nBytesRead);
} while (nBytesRead == buffer.length);
}
catch (FileNotFoundException e) {
System.err.println("File not found");
}
catch (IOException e) { System.err.println("Read failed"); }
}
} 49
Filters
50
Écriture de données dans un fichier à l'aide de filtres
import java.io.*;
public class GenerateData {
public static void main(String args[]) {
try {
FileOutputStream fos = new FileOutputStream("stuff.dat");
DataOutputStream dos = new DataOutputStream(fos);
dos.writeInt(2);
dos.writeDouble(2.7182818284590451);
dos.writeDouble(3.1415926535);
dos.close(); fos.close();
}
catch (FileNotFoundException e) {
System.err.println("File not found");
}
catch (IOException e) {
System.err.println("Read or write failed");
}
} 51
}
Lecture de données à partir d'un fichier à l'aide de
filtres
import java.io.*;
public class ReadData {
public static void main(String args[]) {
try {
FileInputStream fis = new FileInputStream("stuff.dat");
DataInputStream dis = new DataInputStream(fis);
int n = dis.readInt();
System.out.println(n);
for( int i = 0; i < n; i++ ) { System.out.println(dis.readDouble());
}
dis.close(); fis.close();
}
catch (FileNotFoundException e) {
System.err.println("File not found");
}
catch (IOException e) { System.err.println("Read or write failed");
}
} 52
}
Sérialisation des objets
53
Écrire un objet dans un fichier
import java.io.*;
import java.util.*;
public class WriteDate {
public WriteDate () {
Date d = new Date();
try {
FileOutputStream f = new FileOutputStream("date.ser");
ObjectOutputStream s = new ObjectOutputStream (f);
s.writeObject (d);
s.close ();
}
catch (IOException e) { e.printStackTrace(); }