SlideShare uma empresa Scribd logo
1 de 47
Baixar para ler offline
COURS JAVA 
Rappel 
Réalisé par Mme LAKHROUIT Jihane
20.06.2014 
Objectifs 
 Comprendre la structure d’une classe Java : attributs et méthodes 
 Les variables et les types primitifs 
 Les Constantes 
 Les instructions et les Expressions 
 Les Opérateurs Les tests 
Les boucles
20.06.2014 
Java : Sun 
« Java : a simple, object-oriented, distributed, robust, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic language » 
Parmi les caractéristiques qui ont contribué au succès de Java : 
1 Java est Portable (grâce à JVM) 
2 Java est simple (pas de pointeurs, héritage multiple) 
3 Fortement typé 
4 Gestion automatique de la mémoire (GC) 
5 Java est Sûr 
6 Multitâche
20.06.2014 
Pour Commencer Vous avez besoins de : 
Compilateur Java 
Une machine virtuelle Java 
API Java 
documentation API Java 
un editor pour composer vos programmes Java 
1+2+3 = JDK SE disponible sur le site de Sun http://java.sun.com/javase/downloads/index.jsp 
Pour Commencer
20.06.2014 
Un premier Programme Java 
5 public class Bienvenue 
6 { 
7 // méthode main point d’entrée pour l’exécution d’une application Java 
8 public static void main( String args[] ) 
9 { 
10 System.out.println(" Bienvenue à la programmation Java!" ); 
11 
12 } // Fin méthode main 
13 
14 } // Fin class Bienvenue 
Bienvenue à la programmation Java!
20.06.2014 
Bienvenue.java modifié 
5 public class Bienvenue 
6 { 
7 // méthode main point d’entrée pour l’exécution d’une application Java 
8 public static void main( String args[] ) 
9 { 
10 System.out.print(" Bienvenuen à lat programmationn Java!n" ); 
11 
12 } // Fin méthode main 
13 
14 } // Fin class Bienvenue 
Bienvenue 
à la programmation 
Java!
20.06.2014 
Séquences d’échappement 
SE 
Description 
n 
Retour à la ligne. Positionne le curseur au début de la ligne suivante. 
t 
Tabulation horizontale. Déplace le curseur par une tabulation. 
r 
Retour Chariot. Positionne le curseur au début de la ligne courante. Chaque caractère affiché après le retour chariot va écraser les caractères affichés préalablement dans cette ligne. 
 
Antislash. Utilisé pour afficher le caractère antislash. 
" 
Pour afficher les deux guillemets par exemple 
System.out.println( "" entre guillemets "" ); affiche 
" entre guillemets "
20.06.2014 
Printf 
Printf permet d’afficher les résultats dans un format bien précis, par exemple : afficher un nombre réel avec 4 chiffres après la virgule Printf prend en Paramètres une chaîne de caractères format et une liste d’arguments
20.06.2014 
Bienvenue.java modifié 
5 public class Bienvenue 
6 { 
7 // méthode main point d’entrée pour l’exécution d’une application Java 
8 public static void main( String args[] ) 
9 { 
10 System.out.printf("%sn%sn", " Bienvenue", "à la programmation Java! "); 
11 
12 } // Fin méthode main 
13 
14 } // Fin class Bienvenue 
Bienvenue 
à la programmation Java!
20.06.2014 
1.// Listing 4: Addition.java 
2.// Programme d’addition qui affiche la somme de 2 entier 
3.import java.util.Scanner; //importer la classe Scanner 
4.public class Addition { 
5.// méthode main point d’entrée pour l’exécution d’une application Java 
6.public static void main(String args[ ]) { 
7.// créer un Scanner pour lire sur l’entrée standard 
8.Scanner input = new Scanner(System.in); 
9.int number1; // premier nombre 
10.int number2; // second nombre 
11.int sum; // somme des deux nombres 
12.System.out.print("Entrer le premier entier : "); /* inciter l’utilisateur à saisir un entier*/ 
13.number1 = input.nextInt(); // lire le premier nombre 
14.System.out.print("Entrer le second entier: "); /* inciter l’utilisateur à saisir un entier*/ 
Addition.java
20.06.2014 
15.number2 = input.nextInt(); // lire le second nombre 
15.sum = number1 + number2; // sommer les deux entiers. 
16.System.out.printf(" La somme est %dn", sum); // afficher la somme 
17.} // fin méthode main 
18.} // fin classe Addition 
Addition.java
CONCEPTS DE BASE DU LANGAGE JAVA
20.06.2014 
Objectifs 
 Comprendre la structure d’une classe Java : attributs et méthodes 
 Les variables et les types primitifs 
 Les Constantes 
 Les instructions et les Expressions 
 Les Opérateurs 
Les tests 
Les boucles
20.06.2014 
Variables 
Définition : une variable est un élément de données nommé par un identificateur 
Vous devez explicitement donner un nom et un type à chaque variable utilisée dans votre programme. 
En plus du nom et type une variable à une portée = la section du code où on peut appeler la variable par son nom simple.
La déclaration de variables 
Pour pouvoir utiliser une variable, il faut la définir, c'est-à-dire lui donner un nom, mais surtout un type de donnée à stocker afin qu'un espace mémoire conforme au type de donnée qu'elle contient lui soit réservé. 
Une variable se déclare de la façon suivante : 
type nomDeVariable; 
Ou bien s'il y a plusieurs variables du même type : 
type nomDeVariable1, nom_de_variable2; 
Java impose que les variables soient impérativement déclarées avant d'être utilisée. 
Java permet de définir une variable à n'importe quel endroit du code.
Affectation d'une donnée à une variable 
La déclaration d'une variable réserve un emplacement mémoire où stocker la variable, et une valeur par défaut (généralement 0, null ou false), pour modifier cette valeur par défaut, il faut faire une affectation, c'est-à-dire préciser la donnée qui va être stockée à l'emplacement mémoire qui a été réservé. 
Pour cela on utilise l'opérateur d'affectation "=" : 
nomDeVariable = valeur; 
 Il est aussi possible d'initialiser les valeurs lors de leurs déclarations. 
 type nomDeVariable = valeur; 
 Exemple : Pour stocker le caractère B dans une variable que l'on a appellera caractere, il faudrait écrire : 
char caractere = 'B'; 
 Ce qui signifie "stocker la valeur de la lettre B dans la variable nommée 'caractere'".
20.06.2014 
Variables / type 
Le type d’une variable détermine les valeurs qu’une variable peut contenir et les opération qu’elle supporte. 
Java manipule deux sortes de types de variables : les primitifs et les références. 
Une variable primitive contient une seule valeur d’une taille et format bien précises par son type. Ex: short, int, float.. 
Java fixe la taille de chacun des types primitifs. Ces tailles ne changent pas d'une architecture de machine à une autre, comme c'est le cas dans la plupart des langages. L'invariance de la taille de ces types est l'une des raisons pour lesquelles Java est si portable. 
les types primitifs :
20.06.2014 
les types primitifs 
Type primitif 
Taille 
Minimum 
Maximum 
Type wrapper 
boolean 
- 
- 
- 
Boolean 
char 
16-bit 
Unicode 0 
Unicode 216- 1 
Character 
byte 
8-bit 
-128 
+127 
Byte 
short 
16-bit 
-215 
+215-1 
Short 
int 
32-bit 
-231 
+231-1 
Integer 
long 
64-bit 
-263 
+263-1 
Long 
float 
32-bit 
IEEE754 
IEEE754 
Float 
double 
64-bit 
IEEE754 
IEEE754 
Double
20.06.2014 
Nom d’une Variable 
Un programme se réfère à une valeur d’une variable par le nom de la variable. Un nom d’une variable doit être : 
Commençant par une lettre 
Différent des mots réservés java 
Doit être unique dans sa portée. 
Par convention : le nom de variable commence par une minuscule et le nom de classe commence par une majuscule. Si le nom est composé de plusieurs mots, il convient de concaténer les mot en commençant chaque mot par une majuscule ex : 
int tailleMemoireTotale ; 
Public class RoseBlue { … }
20.06.2014 
Liste des mots réservés JAVA 
abstract 
double 
int 
strictfp 
boolean 
else 
interface 
super 
break 
extends 
long 
switch 
byte 
final 
native 
synchronized 
case 
finally 
new 
this 
catch 
float 
package 
throw 
char 
for 
private 
throws 
class 
goto 
protected 
transient 
const 
if 
public 
try 
continue 
implements 
return 
void 
default 
import 
short 
volatile 
do 
instanceof 
static 
while
Portée (visibilité) des variables 
Selon l'endroit où on déclare une variable, celle-ci pourra être accessible (visible) de partout dans le code ou bien que dans une portion confinée de celui-ci (à l'intérieur d'une méthode par exemple), on parle de portée d'une variable. 
Lorsqu'une variable est déclarée directement dans la classe, c'est-à-dire à l'extérieur de toute méthode, elle sera accessible dans toute la classe. On parle alors de champ de la classe (fields, en anglais). Elle représente l'état de l'objet courant (ou avec le mot clé static, l'état de la classe elle même). 
Lorsque l'on déclare une variable à l'intérieur d'un bloc d'instructions (entre des accolades), sa portée se restreint à l'intérieur de ce bloc (dans les lignes qui suit sa déclaration), on parle alors de variable locale. 
Il est interdit d'avoir deux variables de même nom si elles ont un portée commune. Il serait alors impossible de les distinguer...
20.06.2014 
Portée 
En Java en définit quatre niveaux de portée des variables : 
Variable membre 
Variable locale 
paramètre d’une méthode 
Paramètre de gestion des exceptions
20.06.2014 
Portée 
Une variable membre est une variable membre d’une classe ou objet. Elle est déclarée au sein d’une classe mais en dehors de toute méthode ou constructeur, elle est visible dans la classe entière. 
Une variable locale est déclarée au sein d’un bloc {….}, elle est reconnue seulement dans ce bloc. 
Un paramètre d’une méthode ou constructeur est un argument formel utilisé pour passer les valeurs à une méthode ou constructeur, il est reconnu dans la méthode entière 
Un paramètre de gestion des exceptions est similaire à un paramètre de méthode, il est reconnu dans le bloc de gestion des exceptions.
20.06.2014 
Objectifs 
Les variables et les types primitifs 
 Les Constantes 
 Les instructions et les Expressions 
 Les Opérateurs Arithmétiques 
 Les Opérateurs Logique 
Les tests 
Les boucles
Constante 
Une constante est une donnée dont la valeur est inchangeable lors de l'exécution d'un programme. Le mot clé final permet de faire cela. Toutefois on ne peut véritablement parler de constantes en Java que pour les types primitifs, car pour un objet le mot clé final impose seulement que la référence de l'objet n'est pas modifiable, mais les champs de l'objets peuvent être modifiés malgré tout. Par convention, et pour les distinguer des variables, les constantes sont écrites entièrement en majuscules, et le caractère _ peut être utilisé pour séparer deux mots. 
final int MA_CONSTANTE = 12 
aura pour effet de définir une variable de type int possèdant la valeur 12 et ne pouvant pas être modifiée dans la suite du code, auquel cas le compilateur générera une erre
20.06.2014 
Variable final 
Vous pouvez déclarer une variable dans n’importe quelle portée en tant que final pur qu’elle demeure inchangée dans tout le programme, c’est l’équivalent des constantes en C et C++. 
final int aFinalVar = 0; 
Une fois une variable final à été initialisée, elle ne peut être changée, chaque tentative de lui affecter une valeur va conduire à une erreur de compilation.
20.06.2014 
Objectifs 
Les variables et les types primitifs 
 Les Constantes 
Les Opérateurs 
Les tests 
Les boucles
20.06.2014 
Opérateurs 
Il y’a plusieurs type d’opérateur en Java : 
Opérateurs arithmétiques 
Opérateurs conditionnels et relationnels 
Opérateur logiques et de décalage. 
Opérateurs d’affectation 
Autres opérateurs
20.06.2014 
Opérateurs arithmétiques 
Opérateur 
Utilisation 
Description 
+ 
op1 + op2 
Ajoute de op1 à op2 
- 
op1 - op2 
Soustrait op2 de op1 
* 
op1 * op2 
Multiplie op1 par op2 
/ 
op1 / op2 
divise op1 par op2 
% 
op1 % op2 
Calcul le reste de la division de op1 par op2
20.06.2014 
public class ArithmeticDemo 
{ public static void main(String[] args) 
{ //a few numbers int i = 37; int j = 42; double x = 27.475; double y = 7.22; 
//adding numbers 
System.out.println(“ Adding..."); 
System.out.println(" i + j = " + (i + j)); 
//subtracting numbers 
System.out.println(“ Subtracting..."); 
System.out.println(" i - j = " + (i - j)); 
//multiplying numbers 
System.out.println(“ Multiplying...");
20.06.2014 
System.out.println(" i * j = " + (i * j)); 
//dividing numbers 
System.out.println("Dividing..."); 
System.out.println(" i / j = " + (i / j)); 
//computing the remainder resulting from dividing numbers System.out.println("Computing the remainder..."); 
System.out.println(" i % j = " + (i % j)); 
//mixing types 
System.out.println("Mixing types..."); 
System.out.println(" j + y = " + (j + y)); 
System.out.println(" i * x = " + (i * x)); 
} 
}
20.06.2014 
Opérateurs unaires 
Opérateur 
Utilisation 
Description 
+ 
+op 
Change le type de op à int si c’était un byte, short, ou char 
- 
-op 
Négation arithmétique de op 
Opérateur 
Utilisation 
Description 
++ 
op++ 
Incrément op par 1; il est évalué par la valeur de op avant incrémentation . 
++ 
++op 
Incrément op par 1; il est évalué par la valeur de op après incrémentation . 
-- 
op-- 
Décrément op par 1; il est évalué par la valeur de op avant décrémentation . 
-- 
--op 
décrément op par 1; il est évalué par la valeur de op après décrémentation .
20.06.2014 
Opérateurs relationnels 
Un opérateur relationnel compare deux opérandes et détermine la relation entre eux 
Opérateur 
Utilisation 
Retourne true si 
> 
op1 > op2 
op1 est plus grand que op2 
>= 
op1 >= op2 
op1 est plus grand ou égal à op2 
< 
op1 < op2 
op1 est inférieur à op2 
<= 
op1 <= op2 
op1 est inférieur ou égal à op2 
== 
op1 == op2 
op1 et op2 sont égaux 
!= 
op1 != op2 
op1 et op2 sont différents
20.06.2014 
Opérateurs conditionnels 
Opérateur 
Utilisation 
Retourne true si 
&& 
op1 && op2 
op1 et op2 sont vrai tous les deux, l’évaluation de op2 est conditionnelle 
|| 
op1 || op2 
L’un des opérandes op1 ou op2 est vrai, l’évaluation de op2 est conditionnelle 
! 
! op 
op est faux 
& 
op1 & op2 
op1 et op2 sont vrai tous les deux, l’évaluation de op2 et op1 est nécessaire 
| 
op1 | op2 
L’un des opérandes op1 ou op2 est vrai, l’évaluation de op2 et op1 est nécessaire 
^ 
op1 ^ op2 
Si op1 et op2 sont différents
20.06.2014 
Opérateurs d’affectation 
Opérateur 
Utilisation 
Equivalece 
+= 
op1 += op2 
op1 = op1 + op2 
-= 
op1 -= op2 
op1 = op1 - op2 
*= 
op1 *= op2 
op1 = op1 * op2 
/= 
op1 /= op2 
op1 = op1 / op2 
%= 
op1 %= op2 
op1 = op1 % op2 
&= 
op1 &= op2 
op1 = op1 & op2 
|= 
op1 |= op2 
op1 = op1 | op2 
^= 
op1 ^= op2 
op1 = op1 ^ op2
20.06.2014 
Objectifs 
Les variables et les types primitifs 
 Les Constantes 
 Les instructions et les Expressions 
 Les Opérateurs 
Transtypage 
Les tests 
Les boucles
Instructions de contrôle : L'instruction conditionnelle if - else 
La syntaxe générale : 
if (expression booléenne) { 
bloc1 } 
else { 
bloc2 
} 
La condition doit être évaluable en true ou false et elle est obligatoirement 
entourée de parenthèses. La partie commençant par else est facultative. 
Si un bloc ne comporte qu'une seule instruction, les accolades qui 
l'entourent peuvent être omises.
Instructions de contrôle : L'instruction conditionnelle if - else 
// EX1 les entiers a, b, c sont définis et affectés 
System.out.print("Le plus petit entre "+a+" et "+b +" est : "); 
if (b <a ) { 
// écrire l'échange des variables a et b 
c= a - b; 
} else 
c= a + b ; 
} 
Exemple d'opérateur ternaire : on reprend le même exemple précédent. 
System.out.println( (b < a) ? b : a ); 
c = (b < a) ? a-b : b-a ;
L'instruction de choix multiples switch( ) 
En cas de tests multiples, il est préférable d’utiliser l’instruction switch plutôt qu’une série de if imbriqués. Cette instruction se comporte comme un aiguillage qui exécute des instruction différentes (case) selon le résultat d’une expression logique. A l'entrée dans la structure, cette expression est évaluée et son résultat est comparé à chaque valeur des instructions case. 
En cas d’égalité, les instructions de cette clause sont exécutées jusqu’à la rencontre d’une instruction break qui entraîne la sortie de la structure switch. 
La clause (optionnelle) default est exécutée lorsque la valeur de l'expression d'aiguillage n'est égale à aucun des cas. 
D’un point de vue logique, les clauses case sont considérées comme des étiquettes (label) : elles sont donc suivies du caractère « : ».
L'instruction de choix multiples switch( ) 
La syntaxe générale : 
switch (expr entière ou caractère) { 
case i: 
case j: 
[bloc d'intructions] 
break; 
case k : 
........ 
default: 
....... 
} 
Rq: 
Le type de la variable d'une instruction case doit être char, byte, short ou 
int.
20.06.2014 
Nejeoui Abderrazzak
Instructions itératives : Boucle while 
L'itération while 
while (expression) { 
bloc 
} 
Elle permet de répéter un bloc d'instructions TANT QUE la condition est 
vraie. La sortie de boucle est effectuée aussitôt que la condition est 
évalué fausse. Le test de cette condition est vérifié au début de chaque 
boucle, si bien que le bloc peut ne pas être exécuté.
Boucle do-while 
Cette structure est très proche de la structure while. Sa syntaxe est : 
do{ instructions;} while (condition); 
Dans cette boucle faire_tant_que, la condition est évaluée après 
l’exécution du corps de la boucle. Elle est au minimum exécutée une fois 
même si la condition à tester est fausse au départ 
int i = 100, j = 0, somme = 0 ; do{ somme += j; j++;} while (j <= i); //Si oublié génère une erreur de compilation 
A la sortie de la boucle, la variable somme contient la somme des 100 premiers entiers.
L'itération contrôlée for ( ..;..;..) 
for ( expression1; expression2 ; expression3){ 
bloc 
} 
C'est la boucle contrôlée, utilisée pour répéter N fois un même bloc 
d'instructions 
expression1 précise la valeur initiale de la variable de contrôle (ou compteur) 
expression2, la condition à satisfaire pour rester dans la boucle 
expression3, une action à réaliser à la fin de chaque boucle (en général, l'actualisation du compteur). 
int somme = 0, max = 100; for (int i =0 ; i <= max ; i++ ) { somme += i; }
Boucle for 
Remarques : * exp1 et exp3 peuvent contenir plusieurs instructions qui sont alors séparées par des virgules. 
Exemple : for (int i=0,j=10; i<=100; i++,j--) instructions; * La boucle : for ( ; ; ;) {instructions;} correspond à la boucle : 
while (true){instructions;}
Instructions de rupture de boucle 
Il existe des moyens de sortir ou d'effectuer des "sauts" en rompant le cours normal d'une itération. Avec les instructions 
break :on quitte définitivement le bloc courant (et on passe à la suite). 
continue : on saute les instructions du bloc situé à la suite (et on passe à l'itération suivante). 
Si on indique break , ou continue , où label est une étiquette qui marque un endroit dans le code, le saut s'effectue relativement au bloc marqué par l'étiquette.
20.06.2014 
Nejeoui Abderrazzak

Mais conteúdo relacionado

Mais procurados

Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaAmel Morchdi
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev javaAmel Morchdi
 
Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)G²FOSS ENIT
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro javaAmel Morchdi
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteFabrice JEAN-FRANCOIS
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimLaurent Broudoux
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)Mahfoud EL HOUDAIGUI
 
Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)Ahmed Charef
 
Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6Jean-Baptiste Vigneron
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyGuillaume Laforge
 
Traits : de la théorie à la pratique
Traits : de la théorie à la pratiqueTraits : de la théorie à la pratique
Traits : de la théorie à la pratiqueFrederic Hardy
 
Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Jean-Michel Doudoux
 

Mais procurados (20)

Java uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 javaJava uik-chap6-poo heritage v2 java
Java uik-chap6-poo heritage v2 java
 
Java uik-chap2-dev java
Java uik-chap2-dev javaJava uik-chap2-dev java
Java uik-chap2-dev java
 
Programmation Java
Programmation JavaProgrammation Java
Programmation Java
 
Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)Formation POO & Java (2ème séance)
Formation POO & Java (2ème séance)
 
Java uik-chap1-intro java
Java uik-chap1-intro javaJava uik-chap1-intro java
Java uik-chap1-intro java
 
Chap 02 poo en java
Chap 02 poo en javaChap 02 poo en java
Chap 02 poo en java
 
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fêteC# 5 versus Java 8... Quand C++ 11 s'invite à la fête
C# 5 versus Java 8... Quand C++ 11 s'invite à la fête
 
Programmation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - EnsimProgrammation orientee aspect 201401 - Ensim
Programmation orientee aspect 201401 - Ensim
 
c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)c# programmation orientée objet (Classe & Objet)
c# programmation orientée objet (Classe & Objet)
 
Tutoriel java
Tutoriel javaTutoriel java
Tutoriel java
 
Formation JAVA (1)
Formation JAVA (1)Formation JAVA (1)
Formation JAVA (1)
 
Langage C#
Langage C#Langage C#
Langage C#
 
POO
POOPOO
POO
 
Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6Une introduction à Javascript et ECMAScript 6
Une introduction à Javascript et ECMAScript 6
 
Domain-Specific Languages avec Groovy
Domain-Specific Languages avec GroovyDomain-Specific Languages avec Groovy
Domain-Specific Languages avec Groovy
 
JAVA Chapitre8
JAVA Chapitre8JAVA Chapitre8
JAVA Chapitre8
 
Traits : de la théorie à la pratique
Traits : de la théorie à la pratiqueTraits : de la théorie à la pratique
Traits : de la théorie à la pratique
 
Exceptions
ExceptionsExceptions
Exceptions
 
Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10Voxxeddays lux 2018 apres java 8, java 9 et 10
Voxxeddays lux 2018 apres java 8, java 9 et 10
 
JAVA Chapitre2
JAVA Chapitre2JAVA Chapitre2
JAVA Chapitre2
 

Destaque

programmer-en-actionscript-3
programmer-en-actionscript-3programmer-en-actionscript-3
programmer-en-actionscript-3Messaoudi Mohamed
 
Tableauanalytiquecasclinique cedefomd
Tableauanalytiquecasclinique cedefomdTableauanalytiquecasclinique cedefomd
Tableauanalytiquecasclinique cedefomdMamedione Ba
 
Faites la différence grâce au web !
Faites la différence grâce au web !Faites la différence grâce au web !
Faites la différence grâce au web !WSI France
 
Parques nacionales
Parques nacionalesParques nacionales
Parques nacionalesLuz García
 
Présentation Le monde de l'art selon e.t. journée du patrimoine à Montmorency...
Présentation Le monde de l'art selon e.t. journée du patrimoine à Montmorency...Présentation Le monde de l'art selon e.t. journée du patrimoine à Montmorency...
Présentation Le monde de l'art selon e.t. journée du patrimoine à Montmorency...Antoine Mercier-ame
 
Jeunes, Internet, réseaux sociaux : rencontre avec des professionnels des FJT
Jeunes, Internet, réseaux sociaux : rencontre avec des professionnels des FJTJeunes, Internet, réseaux sociaux : rencontre avec des professionnels des FJT
Jeunes, Internet, réseaux sociaux : rencontre avec des professionnels des FJTGérard Marquié
 
Industrie+facteurs+d'évolution+et+perspectives+du+marché+de+l'emploi+cadre
Industrie+facteurs+d'évolution+et+perspectives+du+marché+de+l'emploi+cadreIndustrie+facteurs+d'évolution+et+perspectives+du+marché+de+l'emploi+cadre
Industrie+facteurs+d'évolution+et+perspectives+du+marché+de+l'emploi+cadreIndustrie_Vitre
 
Ere mediéval
Ere mediévalEre mediéval
Ere mediévalCFmusique
 
Necs pres general-(fr)
Necs pres general-(fr)Necs pres general-(fr)
Necs pres general-(fr)shahrokh123
 
Birouri Google
Birouri GoogleBirouri Google
Birouri Googledopet
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Patricia NENZI
 
Livre blanc sur la Protection Sociale | Assuré d'entreprendre
Livre blanc sur la Protection Sociale | Assuré d'entreprendre	Livre blanc sur la Protection Sociale | Assuré d'entreprendre
Livre blanc sur la Protection Sociale | Assuré d'entreprendre Equipe Assuré D'entreprendre
 
Actividades de comentario de texto rev francesa
Actividades de comentario de texto rev francesaActividades de comentario de texto rev francesa
Actividades de comentario de texto rev francesaLuz García
 
Ne me quitte pas
Ne me quitte pasNe me quitte pas
Ne me quitte pasteddy1000
 
Rapport delga services publics
Rapport delga services publicsRapport delga services publics
Rapport delga services publicsFabrice Valéry
 
Les sacrements et le pere laval 3
Les sacrements et le pere laval 3Les sacrements et le pere laval 3
Les sacrements et le pere laval 3VirginieJulien
 

Destaque (20)

Introduction àJava
Introduction àJavaIntroduction àJava
Introduction àJava
 
programmer-en-actionscript-3
programmer-en-actionscript-3programmer-en-actionscript-3
programmer-en-actionscript-3
 
Tableauanalytiquecasclinique cedefomd
Tableauanalytiquecasclinique cedefomdTableauanalytiquecasclinique cedefomd
Tableauanalytiquecasclinique cedefomd
 
Faites la différence grâce au web !
Faites la différence grâce au web !Faites la différence grâce au web !
Faites la différence grâce au web !
 
Parques nacionales
Parques nacionalesParques nacionales
Parques nacionales
 
Présentation Le monde de l'art selon e.t. journée du patrimoine à Montmorency...
Présentation Le monde de l'art selon e.t. journée du patrimoine à Montmorency...Présentation Le monde de l'art selon e.t. journée du patrimoine à Montmorency...
Présentation Le monde de l'art selon e.t. journée du patrimoine à Montmorency...
 
Jeunes, Internet, réseaux sociaux : rencontre avec des professionnels des FJT
Jeunes, Internet, réseaux sociaux : rencontre avec des professionnels des FJTJeunes, Internet, réseaux sociaux : rencontre avec des professionnels des FJT
Jeunes, Internet, réseaux sociaux : rencontre avec des professionnels des FJT
 
Industrie+facteurs+d'évolution+et+perspectives+du+marché+de+l'emploi+cadre
Industrie+facteurs+d'évolution+et+perspectives+du+marché+de+l'emploi+cadreIndustrie+facteurs+d'évolution+et+perspectives+du+marché+de+l'emploi+cadre
Industrie+facteurs+d'évolution+et+perspectives+du+marché+de+l'emploi+cadre
 
Ere mediéval
Ere mediévalEre mediéval
Ere mediéval
 
Necs pres general-(fr)
Necs pres general-(fr)Necs pres general-(fr)
Necs pres general-(fr)
 
Birouri Google
Birouri GoogleBirouri Google
Birouri Google
 
Computerland c cloud-2013oct17
Computerland c cloud-2013oct17Computerland c cloud-2013oct17
Computerland c cloud-2013oct17
 
Livre blanc sur la Protection Sociale | Assuré d'entreprendre
Livre blanc sur la Protection Sociale | Assuré d'entreprendre	Livre blanc sur la Protection Sociale | Assuré d'entreprendre
Livre blanc sur la Protection Sociale | Assuré d'entreprendre
 
Actividades de comentario de texto rev francesa
Actividades de comentario de texto rev francesaActividades de comentario de texto rev francesa
Actividades de comentario de texto rev francesa
 
Numeros Romanos
Numeros RomanosNumeros Romanos
Numeros Romanos
 
Ne me quitte pas
Ne me quitte pasNe me quitte pas
Ne me quitte pas
 
Marine à la loupe
Marine à la loupe Marine à la loupe
Marine à la loupe
 
Rapport delga services publics
Rapport delga services publicsRapport delga services publics
Rapport delga services publics
 
X ii new
X ii newX ii new
X ii new
 
Les sacrements et le pere laval 3
Les sacrements et le pere laval 3Les sacrements et le pere laval 3
Les sacrements et le pere laval 3
 

Semelhante a Introduction java

Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Mamadou Oury Ba
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008Khalil Lechheb
 
Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Jean-Michel Doudoux
 
Javascript Json artchitecture
Javascript  Json artchitecture Javascript  Json artchitecture
Javascript Json artchitecture zaghir
 
Formation java script
Formation java scriptFormation java script
Formation java scriptRomdhani Asma
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases javaAmel Morchdi
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024YounesOuladSayad1
 
Les bases du langage java
Les bases du langage javaLes bases du langage java
Les bases du langage javakrymo
 
POO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfPOO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfLarbaSAWADOGO2
 
intro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APPintro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APPfrwebhelp
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en pythonMariem ZAOUALI
 
Retours sur java 8 devoxx fr 2016
Retours sur java 8 devoxx fr 2016Retours sur java 8 devoxx fr 2016
Retours sur java 8 devoxx fr 2016Jean-Michel Doudoux
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !Paris Salesforce Developer Group
 
Refractoring java generics by inferring wildcards
Refractoring java generics by inferring wildcardsRefractoring java generics by inferring wildcards
Refractoring java generics by inferring wildcardsMag-Stellon Nadarajah
 
Javascript pour les Développeurs WEB
Javascript pour les Développeurs WEBJavascript pour les Développeurs WEB
Javascript pour les Développeurs WEBAbbes Rharrab
 

Semelhante a Introduction java (20)

JAVA Chapitre6
JAVA Chapitre6JAVA Chapitre6
JAVA Chapitre6
 
Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5Améliorations dans Java depuis la version 5
Améliorations dans Java depuis la version 5
 
JAVA
JAVAJAVA
JAVA
 
cours java complet-2.pdf
cours java complet-2.pdfcours java complet-2.pdf
cours java complet-2.pdf
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Cours java smi 2007 2008
Cours java smi 2007 2008Cours java smi 2007 2008
Cours java smi 2007 2008
 
Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017Java 9 modulo les modules devoxx fr 2017
Java 9 modulo les modules devoxx fr 2017
 
Javascript Json artchitecture
Javascript  Json artchitecture Javascript  Json artchitecture
Javascript Json artchitecture
 
Formation java script
Formation java scriptFormation java script
Formation java script
 
Java uik-chap3-bases java
Java uik-chap3-bases javaJava uik-chap3-bases java
Java uik-chap3-bases java
 
cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024cours developpement web javascript 2023/2024
cours developpement web javascript 2023/2024
 
Les bases du langage java
Les bases du langage javaLes bases du langage java
Les bases du langage java
 
POO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdfPOO_Java_BasesLangage.pdf
POO_Java_BasesLangage.pdf
 
intro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APPintro-csharp developement master 2 IF APP
intro-csharp developement master 2 IF APP
 
Chap3 programmation modulaire en python
Chap3 programmation modulaire en pythonChap3 programmation modulaire en python
Chap3 programmation modulaire en python
 
Nouveautés Java 9-10-11
Nouveautés Java 9-10-11Nouveautés Java 9-10-11
Nouveautés Java 9-10-11
 
Retours sur java 8 devoxx fr 2016
Retours sur java 8 devoxx fr 2016Retours sur java 8 devoxx fr 2016
Retours sur java 8 devoxx fr 2016
 
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
La Tooling API, est-ce pour moi ? Bien sûr, viens voir pourquoi !
 
Refractoring java generics by inferring wildcards
Refractoring java generics by inferring wildcardsRefractoring java generics by inferring wildcards
Refractoring java generics by inferring wildcards
 
Javascript pour les Développeurs WEB
Javascript pour les Développeurs WEBJavascript pour les Développeurs WEB
Javascript pour les Développeurs WEB
 

Último

Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film françaisTxaruka
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24BenotGeorges3
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 37
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 37
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxMartin M Flynn
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre françaisTxaruka
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film françaisTxaruka
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfSylvianeBachy
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxJCAC
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfRiDaHAziz
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursStagiaireLearningmat
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 37
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 37
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfRiDaHAziz
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneTxaruka
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Gabriel Gay-Para
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfbdp12
 

Último (18)

Pas de vagues. pptx Film français
Pas de vagues.  pptx      Film   françaisPas de vagues.  pptx      Film   français
Pas de vagues. pptx Film français
 
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
Newsletter SPW Agriculture en province du Luxembourg du 10-04-24
 
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdfBibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
Bibdoc 2024 - Sobriete numerique en bibliotheque et centre de documentation.pdf
 
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdfBibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
Bibdoc 2024 - Les intelligences artificielles en bibliotheque.pdf
 
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptxDIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
DIGNITAS INFINITA - DIGNITÉ HUMAINE; déclaration du dicastère .pptx
 
Bernard Réquichot.pptx Peintre français
Bernard Réquichot.pptx   Peintre françaisBernard Réquichot.pptx   Peintre français
Bernard Réquichot.pptx Peintre français
 
Pas de vagues. pptx Film français
Pas de vagues.  pptx   Film     françaisPas de vagues.  pptx   Film     français
Pas de vagues. pptx Film français
 
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdfVulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
Vulnérabilité numérique d’usage : un enjeu pour l’aide à la réussitepdf
 
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptxPrésentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
Présentation - Initiatives - CECOSDA - OIF - Fact Checking.pptx
 
PIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdfPIE-A2-P 5- Supports stagiaires.pptx.pdf
PIE-A2-P 5- Supports stagiaires.pptx.pdf
 
Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024Bulletin des bibliotheques Burkina Faso mars 2024
Bulletin des bibliotheques Burkina Faso mars 2024
 
Apprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceursApprendre avec des top et nano influenceurs
Apprendre avec des top et nano influenceurs
 
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdfBibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
Bibdoc 2024 - Les maillons de la chaine du livre face aux enjeux écologiques.pdf
 
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
Bibdoc 2024 - L’Éducation aux Médias et à l’Information face à l’intelligence...
 
PIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdfPIE-A2-P4-support stagiaires sept 22-validé.pdf
PIE-A2-P4-support stagiaires sept 22-validé.pdf
 
Chana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienneChana Orloff.pptx Sculptrice franco-ukranienne
Chana Orloff.pptx Sculptrice franco-ukranienne
 
Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)Faut-il avoir peur de la technique ? (G. Gay-Para)
Faut-il avoir peur de la technique ? (G. Gay-Para)
 
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdfLa Base unique départementale - Quel bilan, au bout de 5 ans .pdf
La Base unique départementale - Quel bilan, au bout de 5 ans .pdf
 

Introduction java

  • 1. COURS JAVA Rappel Réalisé par Mme LAKHROUIT Jihane
  • 2. 20.06.2014 Objectifs  Comprendre la structure d’une classe Java : attributs et méthodes  Les variables et les types primitifs  Les Constantes  Les instructions et les Expressions  Les Opérateurs Les tests Les boucles
  • 3. 20.06.2014 Java : Sun « Java : a simple, object-oriented, distributed, robust, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic language » Parmi les caractéristiques qui ont contribué au succès de Java : 1 Java est Portable (grâce à JVM) 2 Java est simple (pas de pointeurs, héritage multiple) 3 Fortement typé 4 Gestion automatique de la mémoire (GC) 5 Java est Sûr 6 Multitâche
  • 4. 20.06.2014 Pour Commencer Vous avez besoins de : Compilateur Java Une machine virtuelle Java API Java documentation API Java un editor pour composer vos programmes Java 1+2+3 = JDK SE disponible sur le site de Sun http://java.sun.com/javase/downloads/index.jsp Pour Commencer
  • 5. 20.06.2014 Un premier Programme Java 5 public class Bienvenue 6 { 7 // méthode main point d’entrée pour l’exécution d’une application Java 8 public static void main( String args[] ) 9 { 10 System.out.println(" Bienvenue à la programmation Java!" ); 11 12 } // Fin méthode main 13 14 } // Fin class Bienvenue Bienvenue à la programmation Java!
  • 6. 20.06.2014 Bienvenue.java modifié 5 public class Bienvenue 6 { 7 // méthode main point d’entrée pour l’exécution d’une application Java 8 public static void main( String args[] ) 9 { 10 System.out.print(" Bienvenuen à lat programmationn Java!n" ); 11 12 } // Fin méthode main 13 14 } // Fin class Bienvenue Bienvenue à la programmation Java!
  • 7. 20.06.2014 Séquences d’échappement SE Description n Retour à la ligne. Positionne le curseur au début de la ligne suivante. t Tabulation horizontale. Déplace le curseur par une tabulation. r Retour Chariot. Positionne le curseur au début de la ligne courante. Chaque caractère affiché après le retour chariot va écraser les caractères affichés préalablement dans cette ligne. Antislash. Utilisé pour afficher le caractère antislash. " Pour afficher les deux guillemets par exemple System.out.println( "" entre guillemets "" ); affiche " entre guillemets "
  • 8. 20.06.2014 Printf Printf permet d’afficher les résultats dans un format bien précis, par exemple : afficher un nombre réel avec 4 chiffres après la virgule Printf prend en Paramètres une chaîne de caractères format et une liste d’arguments
  • 9. 20.06.2014 Bienvenue.java modifié 5 public class Bienvenue 6 { 7 // méthode main point d’entrée pour l’exécution d’une application Java 8 public static void main( String args[] ) 9 { 10 System.out.printf("%sn%sn", " Bienvenue", "à la programmation Java! "); 11 12 } // Fin méthode main 13 14 } // Fin class Bienvenue Bienvenue à la programmation Java!
  • 10. 20.06.2014 1.// Listing 4: Addition.java 2.// Programme d’addition qui affiche la somme de 2 entier 3.import java.util.Scanner; //importer la classe Scanner 4.public class Addition { 5.// méthode main point d’entrée pour l’exécution d’une application Java 6.public static void main(String args[ ]) { 7.// créer un Scanner pour lire sur l’entrée standard 8.Scanner input = new Scanner(System.in); 9.int number1; // premier nombre 10.int number2; // second nombre 11.int sum; // somme des deux nombres 12.System.out.print("Entrer le premier entier : "); /* inciter l’utilisateur à saisir un entier*/ 13.number1 = input.nextInt(); // lire le premier nombre 14.System.out.print("Entrer le second entier: "); /* inciter l’utilisateur à saisir un entier*/ Addition.java
  • 11. 20.06.2014 15.number2 = input.nextInt(); // lire le second nombre 15.sum = number1 + number2; // sommer les deux entiers. 16.System.out.printf(" La somme est %dn", sum); // afficher la somme 17.} // fin méthode main 18.} // fin classe Addition Addition.java
  • 12. CONCEPTS DE BASE DU LANGAGE JAVA
  • 13. 20.06.2014 Objectifs  Comprendre la structure d’une classe Java : attributs et méthodes  Les variables et les types primitifs  Les Constantes  Les instructions et les Expressions  Les Opérateurs Les tests Les boucles
  • 14. 20.06.2014 Variables Définition : une variable est un élément de données nommé par un identificateur Vous devez explicitement donner un nom et un type à chaque variable utilisée dans votre programme. En plus du nom et type une variable à une portée = la section du code où on peut appeler la variable par son nom simple.
  • 15. La déclaration de variables Pour pouvoir utiliser une variable, il faut la définir, c'est-à-dire lui donner un nom, mais surtout un type de donnée à stocker afin qu'un espace mémoire conforme au type de donnée qu'elle contient lui soit réservé. Une variable se déclare de la façon suivante : type nomDeVariable; Ou bien s'il y a plusieurs variables du même type : type nomDeVariable1, nom_de_variable2; Java impose que les variables soient impérativement déclarées avant d'être utilisée. Java permet de définir une variable à n'importe quel endroit du code.
  • 16. Affectation d'une donnée à une variable La déclaration d'une variable réserve un emplacement mémoire où stocker la variable, et une valeur par défaut (généralement 0, null ou false), pour modifier cette valeur par défaut, il faut faire une affectation, c'est-à-dire préciser la donnée qui va être stockée à l'emplacement mémoire qui a été réservé. Pour cela on utilise l'opérateur d'affectation "=" : nomDeVariable = valeur;  Il est aussi possible d'initialiser les valeurs lors de leurs déclarations.  type nomDeVariable = valeur;  Exemple : Pour stocker le caractère B dans une variable que l'on a appellera caractere, il faudrait écrire : char caractere = 'B';  Ce qui signifie "stocker la valeur de la lettre B dans la variable nommée 'caractere'".
  • 17. 20.06.2014 Variables / type Le type d’une variable détermine les valeurs qu’une variable peut contenir et les opération qu’elle supporte. Java manipule deux sortes de types de variables : les primitifs et les références. Une variable primitive contient une seule valeur d’une taille et format bien précises par son type. Ex: short, int, float.. Java fixe la taille de chacun des types primitifs. Ces tailles ne changent pas d'une architecture de machine à une autre, comme c'est le cas dans la plupart des langages. L'invariance de la taille de ces types est l'une des raisons pour lesquelles Java est si portable. les types primitifs :
  • 18. 20.06.2014 les types primitifs Type primitif Taille Minimum Maximum Type wrapper boolean - - - Boolean char 16-bit Unicode 0 Unicode 216- 1 Character byte 8-bit -128 +127 Byte short 16-bit -215 +215-1 Short int 32-bit -231 +231-1 Integer long 64-bit -263 +263-1 Long float 32-bit IEEE754 IEEE754 Float double 64-bit IEEE754 IEEE754 Double
  • 19. 20.06.2014 Nom d’une Variable Un programme se réfère à une valeur d’une variable par le nom de la variable. Un nom d’une variable doit être : Commençant par une lettre Différent des mots réservés java Doit être unique dans sa portée. Par convention : le nom de variable commence par une minuscule et le nom de classe commence par une majuscule. Si le nom est composé de plusieurs mots, il convient de concaténer les mot en commençant chaque mot par une majuscule ex : int tailleMemoireTotale ; Public class RoseBlue { … }
  • 20. 20.06.2014 Liste des mots réservés JAVA abstract double int strictfp boolean else interface super break extends long switch byte final native synchronized case finally new this catch float package throw char for private throws class goto protected transient const if public try continue implements return void default import short volatile do instanceof static while
  • 21. Portée (visibilité) des variables Selon l'endroit où on déclare une variable, celle-ci pourra être accessible (visible) de partout dans le code ou bien que dans une portion confinée de celui-ci (à l'intérieur d'une méthode par exemple), on parle de portée d'une variable. Lorsqu'une variable est déclarée directement dans la classe, c'est-à-dire à l'extérieur de toute méthode, elle sera accessible dans toute la classe. On parle alors de champ de la classe (fields, en anglais). Elle représente l'état de l'objet courant (ou avec le mot clé static, l'état de la classe elle même). Lorsque l'on déclare une variable à l'intérieur d'un bloc d'instructions (entre des accolades), sa portée se restreint à l'intérieur de ce bloc (dans les lignes qui suit sa déclaration), on parle alors de variable locale. Il est interdit d'avoir deux variables de même nom si elles ont un portée commune. Il serait alors impossible de les distinguer...
  • 22. 20.06.2014 Portée En Java en définit quatre niveaux de portée des variables : Variable membre Variable locale paramètre d’une méthode Paramètre de gestion des exceptions
  • 23. 20.06.2014 Portée Une variable membre est une variable membre d’une classe ou objet. Elle est déclarée au sein d’une classe mais en dehors de toute méthode ou constructeur, elle est visible dans la classe entière. Une variable locale est déclarée au sein d’un bloc {….}, elle est reconnue seulement dans ce bloc. Un paramètre d’une méthode ou constructeur est un argument formel utilisé pour passer les valeurs à une méthode ou constructeur, il est reconnu dans la méthode entière Un paramètre de gestion des exceptions est similaire à un paramètre de méthode, il est reconnu dans le bloc de gestion des exceptions.
  • 24. 20.06.2014 Objectifs Les variables et les types primitifs  Les Constantes  Les instructions et les Expressions  Les Opérateurs Arithmétiques  Les Opérateurs Logique Les tests Les boucles
  • 25. Constante Une constante est une donnée dont la valeur est inchangeable lors de l'exécution d'un programme. Le mot clé final permet de faire cela. Toutefois on ne peut véritablement parler de constantes en Java que pour les types primitifs, car pour un objet le mot clé final impose seulement que la référence de l'objet n'est pas modifiable, mais les champs de l'objets peuvent être modifiés malgré tout. Par convention, et pour les distinguer des variables, les constantes sont écrites entièrement en majuscules, et le caractère _ peut être utilisé pour séparer deux mots. final int MA_CONSTANTE = 12 aura pour effet de définir une variable de type int possèdant la valeur 12 et ne pouvant pas être modifiée dans la suite du code, auquel cas le compilateur générera une erre
  • 26. 20.06.2014 Variable final Vous pouvez déclarer une variable dans n’importe quelle portée en tant que final pur qu’elle demeure inchangée dans tout le programme, c’est l’équivalent des constantes en C et C++. final int aFinalVar = 0; Une fois une variable final à été initialisée, elle ne peut être changée, chaque tentative de lui affecter une valeur va conduire à une erreur de compilation.
  • 27. 20.06.2014 Objectifs Les variables et les types primitifs  Les Constantes Les Opérateurs Les tests Les boucles
  • 28. 20.06.2014 Opérateurs Il y’a plusieurs type d’opérateur en Java : Opérateurs arithmétiques Opérateurs conditionnels et relationnels Opérateur logiques et de décalage. Opérateurs d’affectation Autres opérateurs
  • 29. 20.06.2014 Opérateurs arithmétiques Opérateur Utilisation Description + op1 + op2 Ajoute de op1 à op2 - op1 - op2 Soustrait op2 de op1 * op1 * op2 Multiplie op1 par op2 / op1 / op2 divise op1 par op2 % op1 % op2 Calcul le reste de la division de op1 par op2
  • 30. 20.06.2014 public class ArithmeticDemo { public static void main(String[] args) { //a few numbers int i = 37; int j = 42; double x = 27.475; double y = 7.22; //adding numbers System.out.println(“ Adding..."); System.out.println(" i + j = " + (i + j)); //subtracting numbers System.out.println(“ Subtracting..."); System.out.println(" i - j = " + (i - j)); //multiplying numbers System.out.println(“ Multiplying...");
  • 31. 20.06.2014 System.out.println(" i * j = " + (i * j)); //dividing numbers System.out.println("Dividing..."); System.out.println(" i / j = " + (i / j)); //computing the remainder resulting from dividing numbers System.out.println("Computing the remainder..."); System.out.println(" i % j = " + (i % j)); //mixing types System.out.println("Mixing types..."); System.out.println(" j + y = " + (j + y)); System.out.println(" i * x = " + (i * x)); } }
  • 32. 20.06.2014 Opérateurs unaires Opérateur Utilisation Description + +op Change le type de op à int si c’était un byte, short, ou char - -op Négation arithmétique de op Opérateur Utilisation Description ++ op++ Incrément op par 1; il est évalué par la valeur de op avant incrémentation . ++ ++op Incrément op par 1; il est évalué par la valeur de op après incrémentation . -- op-- Décrément op par 1; il est évalué par la valeur de op avant décrémentation . -- --op décrément op par 1; il est évalué par la valeur de op après décrémentation .
  • 33. 20.06.2014 Opérateurs relationnels Un opérateur relationnel compare deux opérandes et détermine la relation entre eux Opérateur Utilisation Retourne true si > op1 > op2 op1 est plus grand que op2 >= op1 >= op2 op1 est plus grand ou égal à op2 < op1 < op2 op1 est inférieur à op2 <= op1 <= op2 op1 est inférieur ou égal à op2 == op1 == op2 op1 et op2 sont égaux != op1 != op2 op1 et op2 sont différents
  • 34. 20.06.2014 Opérateurs conditionnels Opérateur Utilisation Retourne true si && op1 && op2 op1 et op2 sont vrai tous les deux, l’évaluation de op2 est conditionnelle || op1 || op2 L’un des opérandes op1 ou op2 est vrai, l’évaluation de op2 est conditionnelle ! ! op op est faux & op1 & op2 op1 et op2 sont vrai tous les deux, l’évaluation de op2 et op1 est nécessaire | op1 | op2 L’un des opérandes op1 ou op2 est vrai, l’évaluation de op2 et op1 est nécessaire ^ op1 ^ op2 Si op1 et op2 sont différents
  • 35. 20.06.2014 Opérateurs d’affectation Opérateur Utilisation Equivalece += op1 += op2 op1 = op1 + op2 -= op1 -= op2 op1 = op1 - op2 *= op1 *= op2 op1 = op1 * op2 /= op1 /= op2 op1 = op1 / op2 %= op1 %= op2 op1 = op1 % op2 &= op1 &= op2 op1 = op1 & op2 |= op1 |= op2 op1 = op1 | op2 ^= op1 ^= op2 op1 = op1 ^ op2
  • 36. 20.06.2014 Objectifs Les variables et les types primitifs  Les Constantes  Les instructions et les Expressions  Les Opérateurs Transtypage Les tests Les boucles
  • 37. Instructions de contrôle : L'instruction conditionnelle if - else La syntaxe générale : if (expression booléenne) { bloc1 } else { bloc2 } La condition doit être évaluable en true ou false et elle est obligatoirement entourée de parenthèses. La partie commençant par else est facultative. Si un bloc ne comporte qu'une seule instruction, les accolades qui l'entourent peuvent être omises.
  • 38. Instructions de contrôle : L'instruction conditionnelle if - else // EX1 les entiers a, b, c sont définis et affectés System.out.print("Le plus petit entre "+a+" et "+b +" est : "); if (b <a ) { // écrire l'échange des variables a et b c= a - b; } else c= a + b ; } Exemple d'opérateur ternaire : on reprend le même exemple précédent. System.out.println( (b < a) ? b : a ); c = (b < a) ? a-b : b-a ;
  • 39. L'instruction de choix multiples switch( ) En cas de tests multiples, il est préférable d’utiliser l’instruction switch plutôt qu’une série de if imbriqués. Cette instruction se comporte comme un aiguillage qui exécute des instruction différentes (case) selon le résultat d’une expression logique. A l'entrée dans la structure, cette expression est évaluée et son résultat est comparé à chaque valeur des instructions case. En cas d’égalité, les instructions de cette clause sont exécutées jusqu’à la rencontre d’une instruction break qui entraîne la sortie de la structure switch. La clause (optionnelle) default est exécutée lorsque la valeur de l'expression d'aiguillage n'est égale à aucun des cas. D’un point de vue logique, les clauses case sont considérées comme des étiquettes (label) : elles sont donc suivies du caractère « : ».
  • 40. L'instruction de choix multiples switch( ) La syntaxe générale : switch (expr entière ou caractère) { case i: case j: [bloc d'intructions] break; case k : ........ default: ....... } Rq: Le type de la variable d'une instruction case doit être char, byte, short ou int.
  • 42. Instructions itératives : Boucle while L'itération while while (expression) { bloc } Elle permet de répéter un bloc d'instructions TANT QUE la condition est vraie. La sortie de boucle est effectuée aussitôt que la condition est évalué fausse. Le test de cette condition est vérifié au début de chaque boucle, si bien que le bloc peut ne pas être exécuté.
  • 43. Boucle do-while Cette structure est très proche de la structure while. Sa syntaxe est : do{ instructions;} while (condition); Dans cette boucle faire_tant_que, la condition est évaluée après l’exécution du corps de la boucle. Elle est au minimum exécutée une fois même si la condition à tester est fausse au départ int i = 100, j = 0, somme = 0 ; do{ somme += j; j++;} while (j <= i); //Si oublié génère une erreur de compilation A la sortie de la boucle, la variable somme contient la somme des 100 premiers entiers.
  • 44. L'itération contrôlée for ( ..;..;..) for ( expression1; expression2 ; expression3){ bloc } C'est la boucle contrôlée, utilisée pour répéter N fois un même bloc d'instructions expression1 précise la valeur initiale de la variable de contrôle (ou compteur) expression2, la condition à satisfaire pour rester dans la boucle expression3, une action à réaliser à la fin de chaque boucle (en général, l'actualisation du compteur). int somme = 0, max = 100; for (int i =0 ; i <= max ; i++ ) { somme += i; }
  • 45. Boucle for Remarques : * exp1 et exp3 peuvent contenir plusieurs instructions qui sont alors séparées par des virgules. Exemple : for (int i=0,j=10; i<=100; i++,j--) instructions; * La boucle : for ( ; ; ;) {instructions;} correspond à la boucle : while (true){instructions;}
  • 46. Instructions de rupture de boucle Il existe des moyens de sortir ou d'effectuer des "sauts" en rompant le cours normal d'une itération. Avec les instructions break :on quitte définitivement le bloc courant (et on passe à la suite). continue : on saute les instructions du bloc situé à la suite (et on passe à l'itération suivante). Si on indique break , ou continue , où label est une étiquette qui marque un endroit dans le code, le saut s'effectue relativement au bloc marqué par l'étiquette.