Introduction au
Langage Java
Master Informatique 1ère année
Julien Velcin
http://mediamining.univ-lyon2.fr/velcin
Plan du cours
• Introduction au langage Java
• Programmation Orientée Objet
• Notions complémentaires
• Quelques API standards
• Interface graphique en Java FX
• API pour la recherche d’information
Historique du langage
http://www.oracle.com/technetwork/java/index.html
• Java 1.0 (1995) : Oak
.
.
.
• Java 1.5.0 (2004) ou Java 5.0 : Tiger
• Java 1.6.0 (2006) ou Java 6 : Mustang
• Java 7 (2012) : Dolphin
• Java 8 (2014)
Sous licence GPL depuis 2006 !
Sun est racheté par Oracle en 2010
Trois versions : JavaEE, JavaME et JavaSE
Java Runtime Environment (JRE) et Java SDK (JDK)
Nouveautés de Java 7
• Améliorations de la machine virtuelle
• Petites améliorations du langage
– ex. : switch sur les chaînes (String), expressions litérales
binaires (0b101000101), multi-catch (IOException |
SQLException)…
• Support des langages dynamiques
• Nouveau package d’accès aux données
• API de concurrence (framework Fork/Join)
• AWT/Swing (transparence, Nimbus…)
Nouveautés de Java 8
• Programmation fonctionnelle avec les « lambdas »
(paramètres) -> {code}
• Ajout de méthodes par défaut pour beaucoup
d’interfaces (permet par ex. l’ajout d’une méthode de tri
direct pour les collections)
• Nouveaux package « java.util.function » et
« java.util.stream » pour réaliser des opérations
fonctionnelles sur des flux (en ligne ou parallèles)
• De nouvelles annotations (ex. @FunctionalInterface pour
les interfaces dites « fonctionnelles »)
• Gestion améliorée des dates et du temps
Caractéristiques
• Langage interprété (bytecode)
WORA : Write Once Run Anywhere
• Langage orienté objet
• Gestion des exceptions
• Garbage collector
Code Byte-Code
Pseudo compilateur
javac
Machine virtuelle
(JVM) java
Exécution
â haut niveau
â portabilité
â réutilisabilité
â extensibilité
â robustesse
â intégrité
Dans le fichier Hello.java, écrire :
• Ouvrir la ligne de commande (DOS, bash)
• Se placer dans le répertoire de travail (cd nom_repertoire)
• Tapez javac Hello.java (création du pseudo code)
• Puis java Hello (interprétation du pseudo code)
public class Hello
{
public static void main(String [] arg)
{
System.out.print(" Hello world ");
}
}
Mon premier programme
Variables denvironnement
Sous Windows :
• Mise à jour du chemin de la JVM :
set path=%path%;c:\Program Files\Java\jdk1.5.0_06\bin
• Mise à jour du chemin de recherche des classes :
set classpath=%classpath%;.
Sous Linux ou MacOS (architecture UNIX) :
• Mise à jour du chemin de recherche des classes :
export CLASSPATH=$CLASSPATH:.
Environnement NetBeans (1)
Organisation du projet
Environnement NetBeans (2)
Code source
Environnement NetBeans (3)
Exécution (texte) du programme
Environnement NetBeans (4)
• Quelques raccourcis TRES utiles :
– Ctrl + Shift/Cmd + i : import automatique
– Cmd + Shift + C : toggle comments
– Clic droit + Insert Code
– St + tab : String
– sout + tab : System.out.println…
– ifelse : if (cond.) {} else {}
Environnement ECLIPSE (1)
Organisation du projet
Environnement ECLIPSE (2)
Code source
Environnement ECLIPSE (3)
Organisation de la classe
Environnement ECLIPSE (4)
Exécution (texte) du programme
Types de données simples (1)
• Entiers (1, 2, 3, …) : int
Opérateurs : + - * / % (reste de la divistion)
Exemple : 5/2 = 2 et 5%2 = 1
• Réels (2.4, 3.1416, …) : double
Opérateurs : + - * /
Exemple : 5.0/2.0 = 2.5
• Booléens (true, false) : boolean
Opérateurs : && (and), || (or), ! (not)
Exemple : !true = false
Note : pas de type simple pour les chaînes de caractères
Types de données simples (2)
Type Codage Domaine
Char 2 octets caractère Unicode
int 4 octets [-231, 231-1]
long 8 octets [-263, 263 -1]
byte 1 octet [-27 , 27 -1]
short 2 octets [-215, 215-1]
float 4 octets [3.4 10-38, 3.4 10+38] en
valeur absolue
double 8 octets [1.7 10-308 , 1.7 10+308] en
valeur absolue
boolean 1 bit true, false
String référence d'objet chaîne de caractères
Date référence d'objet date
Caractères spéciaux
\ caractère d
échappement pour introduire caractères spéciaux
'\t' tabulation
'\n' nouvelle ligne
'\r' retour chariot retour arrière
'\f' saut de page
…
'\\' '\' '\"
\u03a9( \u suivi du code hexadécimal à 4 chiffres d
un
caractère Unicode)
Types de données simples (3)
i
10
i
11
i
Valeurs
• Déclaration de variables :
int i; Nom de la variable,
représente un espace mémoire.
Type de la variable,
ce que peut contenir l’espace mémoire.
• Affectation :
i = 10;
i = i + 1;
int j = 11;
1 / 9 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans l'interface ou les textes ? Ou savez-vous comment améliorer l'interface utilisateur de StudyLib ? N'hésitez pas à envoyer vos suggestions. C'est très important pour nous!