Introduction au
Langage Java
Master Informatique 1ère année
Julien Velcin
http://mediamining.univ-lyon2.fr/velcin
Université Lumière Lyon 2
Faculté de Sciences Economiques et Gestion
KHARKIV National University of Economic
Plan du cours
• Notions de Génie Logiciel
• 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 packagex « 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 {}
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 chaines 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;
Types de données simples (4)
• Opérateurs de comparaison :
<, <=, >, >=, !=, ==
boolean ← var_type_1 opérateur var_type_1
Exemple :
boolean b = (5<2); // b = false
! ne pas confondre avec =
commentaire
Opérateurs dentrées / sorties
• Sortie :
System.out.print("Ecrit à l'écran");
System.out.println("Et passe à la ligne");
• Entrée :
System.in.read( … );
Classe Lire (fichier Lire.java) :
• Lecture d’un entier : Lire.i();
• Lecture d’un réel : Lire.d();
Enregistrer dans le même répertoire que votre programme.
Structures de contrôle (1)
• Branchement conditionnel :
Syntaxe :
(facultatif)
if (condition)
{
instructions
}
else
{
instructions
}
if (condition)
instruction
else
instruction
Structures de contrôle (2)
Exemple (saisie d’information) :
public class Saisie {
public static void main(String [] arg) {
System.out.println(“Pause ?");
int reponse = Lire.i();
if (reponse==1)
System.out.println(“Non, continuons.");
else
System.out.println(“Oui, dans 1 heure.");
}
}
1 / 8 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!