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 linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !