PDF Archive

Easily share your PDF documents with your contacts, on the Web and Social Networks.

Share a file Manage my documents Convert Recover PDF Search Help Contact



2 BasesJavaDébut .pdf



Original filename: 2-BasesJavaDébut.pdf
Title: Microsoft PowerPoint - 2-BasesJavaDébut.pptx
Author: Christine

This PDF 1.5 document has been generated by PScript5.dll Version 5.2.2 / Acrobat Distiller 9.5.5 (Windows), and has been sent on pdf-archive.com on 05/04/2017 at 14:44, from IP address 80.12.x.x. The current document download page has been viewed 292 times.
File size: 213 KB (10 pages).
Privacy: public file




Download original PDF file









Document preview


DÉVELOPPEMENT D’UNE APPLICATION EN JAVA
• Une application est une classe, le main est une méthode de

2

classe (méthode utilisable indépendamment d'un objet)
public class SayHello {
public static void main(String[] args) {
System.out.println("Hello world");

CONCEPTS DE BASE
http://docs.oracle.com/javase/8/docs/api/

}
}

• Pas de fonctions, ni de variables globales
• Classe SayHello  Nom du fichier : SayHello.java
• L’usage veut qu’1 fichier source ne contienne qu’1 seule
classe

Exemple
24

JAVA - © Christine Bonnet

COMPILATION ET EXÉCUTION D’UNE APPLICATION

25

JAVA - © Christine Bonnet

La variable d’environnement CLASSPATH
• Utilisée pour définir le chemin d’accès aux
différentes classes

• Compilation
prompt> javac SayHello.java
… compiler output …

 Fichier de byte-code :
SayHello.class

• Exécution
prompt> java SayHello

 L’exécutable " java.exe " (JVM)

Hello world

• charge la classe

prompt>

• vérifie le byte-code
• l’interprète en langage machine

• Si "SayHello.class" appelle des méthodes d’autres
classes, la JVM (class loader) charge ces autres
classes automatiquement lorsque celles-ci sont
requises  chargement dynamique
Exemple

La JVM utilise la variable d’environnement
CLASSPATH pour déterminer l’emplacement des
fichiers locaux ".class"
-classpath "C:\Programmes\Java\jdk1.8.0_121;"

• l’exécute (appelle sa méthode
"main() ")
26

JAVA - © Christine Bonnet

Exemple
27

JAVA - © Christine Bonnet

UNITÉ DE COMPILATION
Unité de compilation : fichier de code source (.java) qui
contient un ensemble de déclarations de classes et
d’interfaces d’un même package
Compilation : autant de fichiers (.class) que de classes
ou d’interfaces dans le fichier source
 Il ne peut y avoir qu’un seul élément public (classe ou
interface) dans une unité de compilation

PACKAGE
• Ensemble de classes et d’interfaces regroupées par
fonctionnalité

Nom de package : "nom_package.nom_sous_package… "
Exemple: java.io, java.net

• Accès aux classes d’un package :
– en préfixant la classe avec le nom du package
OU
– en utilisant la directive : import
import java.util.* : importe toutes les classes du package

Question : combien y-a-t-il d'unité de
compilation dans l'exemple?

28

JAVA - © Christine Bonnet

import java.util.Random : importe la classe Random du
package java.util
29

PACKAGE (suite)
• Pour déclarer qu’une classe appartient à un package
package nom_package;
doit être placé au début du fichier source contenant la
définition de la classe
Une classe ne peut appartenir qu’à un seul package

PACKAGE (suite)
• A chaque package correspond un répertoire
Les fichiers source du package doivent être placés
dans ce répertoire
Exemple: la classe SayHello peut se trouver dans
package2 qui est un sous-package de package1

• Aucun package déclaré en début de fichier

package1\package2\SayHello.java

 les éléments créés appartiennent à un package
anonyme
Ces classes ne pourront pas être importées

30

JAVA - © Christine Bonnet

JAVA - © Christine Bonnet

Exemple

31

JAVA - © Christine Bonnet

MOTS RÉSERVÉS

3
ÉLÉMENTS DU LANGAGE

boolean
byte
char
double
float
int
long
short
void

abstract
final
native
private
protected
public
static
synchronized
transient
volatile

false
null
true

32

JAVA - © Christine Bonnet

33

CONVENTIONS POUR LES IDENTIFICATEURS







Package : java.io
Fichier : Client.java, MaClasse.java

break
case
catch
continue
default
do
else
finally
for
if
return
switch
throw
try
while

class
extends
implements
interface
throws
import
package
instanceof
new
super
this

JAVA - © Christine Bonnet

LES COMMENTAIRES
Trois styles de commentaires :

Classe : Client, MaClasse

// commentaire sur une ligne

Méthode : getNomClient(),setPrix()
Variable : nomClient

/* commentaire sur

Constante : NB_MAX_ARTICLES

plusieurs lignes */

 Composition d’un identificateur :
Nombres, majuscules, minuscules et signes underscore et dollar
Java différencie les majuscules et les minuscules

/** commentaire reconnu par le générateur
automatique de document JavaDoc */

$ et _ non conseillés si utilisation de librairies en C, non en début
Restriction : pas de nombre en début d’un identificateur
34

JAVA - © Christine Bonnet

35

JAVA - © Christine Bonnet

LES TYPES

LES TYPES PRIMITIFS
Type

Taille

Grandeur

Valeur par défaut

Entier

• Huit types primitifs (non objets) :
– Six types numériques
– Un type char
– Un type boolean

byte

1 

-128 à +127

(byte)0

short
int

2 
4 

-32768 à +32767
-2147483648 à +2147483647 (231)

(short)0
0

long

8 

-9223372036854775808 à +9223372036854775807

(263)

0L

Réel (IEEE 754 standard)

float

• Types définis par l’utilisateur
– Classes

double

-3.4028235e+38f à

0.0f

8 

3.4028352e+38f
-1.7976931348623157e+308 à

0.0d

1.7976931348623157e+308

Caractère

– Interfaces

4 

2 

char

"\u000" à "\uFFFF"

(65536 car.)

"\u000"(null)

Booléen

– Tableaux

boolean

1bit

true / false

false

Valeur par défaut pour les tableaux et les attributs d'une classe
Pas de valeur par défaut pour les variables locales
36

JAVA - © Christine Bonnet

CODAGE DES CARACTÈRES
Représentation en mémoire sur 2 octets

37

Déclaration
type identificateur [ = valeur];



Portée
Une variable est visible à l’intérieur du bloc où elle
est déclarée
Bloc : ensemble d’instructions comprises entre { }



Exemples de variables locales:

• 65536 combinaisons possibles
• Caractère imprimable : ‘a’, ‘b’
• Caractère non imprimable : valeur octale ou
décimale ou séquence escape (\uxxxx où xxxx
représente 4 chiffres hexadécimaux)
Exemples : "\n", "\t", "\’" (pour '), "\u0041" (valeur Unicode 0041=
‘A’), "o\u035Co" (
), "\u0496" ( );

Remarque: les chaînes de caractères sont des objets de la classe String
38

JAVA - © Christine Bonnet

LES VARIABLES



Norme Unicode: standard international pour représenter
la plupart des symboles utilisés dans le monde

JAVA - © Christine Bonnet

float prixArticle = 3.50f;
int nbDeJours = 3;
boolean croissant = true;
double pi = 3.14159;
char rep = ‘n’; // ou char rep = ‘\u006e’
float soldeClient;
int int3 = int1 * int2;
39

JAVA - © Christine Bonnet

Le mot-clé final

Conversion et Cast
• Java convertit automatiquement une valeur d’un

• final permet de déclarer que la valeur d'une variable ne doit pas

type numérique vers un type plus grand

byte

être modifiée pendant l'exécution du programme; la valeur n'est
définie qu'une fois

• Constante symbolique: valeur connue du compilateur. Le nom de
short

int

• L’inverse est faux
byte

la constante est alors écrit en majuscule
final int TAILLE = 4;

long

• Expression constante: valeur connue à l'exécution

short

int

long

final int n;

• Une constante de classe : définie avec static final doit être

• Conversion explicite: cast

initialisée lors de sa déclaration
private static final double TAUX_INTERET = 0.02;

var1 = (type) var2;
40

JAVA - © Christine Bonnet

41

JAVA - © Christine Bonnet

EXEMPLES

TYPES DE VARIABLES / CONSTANTES
public class Film {

public class Variables {

private static double prixMin;

private type nomVariable;

Variable d’instance

private type nomVariable = valeur;
private static type nomVariable;

Variable de classe

private final static type NOM = valeur;

Constante de classe

void methode1() {

type nomVariable;
final type NOM = valeur;

// var. de classe

private String titre, categorie;

prixMin

titre
categorie

classe Film

titre
categorie

// var. d’instance
titre
categorie

objets Film

public class Location {
private int varInst;

Variable locale
Constante

// variable d’instance

public void ajoutArticle() {
double prixArticle = 3.50; // variable locale



int nbDeJours
}

= 3;

// variable locale



}

}
42

JAVA - © Christine Bonnet

}

43

JAVA - © Christine Bonnet

EXEMPLES

LES OPÉRATEURS
• Opérateur d’affectation

int a, b, c, d, e;

=

a = 2 + 2;

var1 = var2 = var3 = 50; // associativité droite-gauche

b = a * 3;
c = b - 2;

• Opérateurs arithmétiques
+

-

*

/

%

++

d = b / 2;
e = b % 2;

--

NB : pas d'opérateur d'élévation à la puissance
 méthode Math.pow (java.lang)

-=

*=

/=

b3 = b1 + b2;

// erreur: résultat int, b3 byte

• Les valeurs byte, char, et short sont
transformées en int avant l’opération

• Opérateurs d'affectation élargie
+=

byte b1 = 1, b2 = 2, b3;

• Si l’un des arguments est long, l’autre est

%=

transformé en long, et le résultat est long

variable = variable opérateur expression transformé en:
variable opérateur = expression
44

JAVA - © Christine Bonnet

EXEMPLES (suite)

45

• Opérateurs relationnels
>

int var1 = 3;

JAVA - © Christine Bonnet

>=

==

!=

<

<=

// var1  4

var1++;

Les opérateurs relationnels sont moins prioritaires que
les opérateurs arithmétiques

int var1 = 3, var2 = 0;
var2 = ++var1;
var2 = var1++;

// Prefix:

incrémentation puis affectation

// Postfix: affectation puis incrémentation

• Opérateurs logiques
! (non)

double total=0, num = 1;

& (et) | (ou)

double pourcentage = .50;

&& (et avec court circuit) || (ou avec court circuit)


total

= total + num;

// total 

1

total += num;

// total = total + num - total  2

total -= num;

// total = total – num - total  1

total *= pourcentage;

// total .5

46

JAVA - © Christine Bonnet

^ (ou exclusif)
L'opérateur ! a une priorité supérieure à celle de tous
les opérateurs arithmétiques binaires et relationnels

47

JAVA - © Christine Bonnet

EXEMPLES
• Opérateurs binaires
int var1 = 7, var2 = 13;

&

boolean res = true;
res = (var1 == var2);

// res  false

res = (var2 > var1);

// res  true

(et bit à bit), | (ou inclusif bit à bit)

^ (ou exclusif bit à bit), ~ (complément à 1 bit à bit)
<< (décalage à gauche)
>> (décalage arithmétique à droite)
>>> (décalage logique à droite)

int var0 = 0, var1 = 1, var2 = 2;
boolean res = true;
res = (var2 > var1) && (var0 == 3);

//  false
//  true

res = !res;
a<b && c<d et avec court circuit

évaluation de a<b. Si le résultat est faux c<d n'est pas évalué

48

• Opérateur conditionnel

JAVA - © Christine Bonnet

?:

expression1 ? expression2 : expression3
Si expression1 vraie alors retourne expression2
sinon retourne expression3

• Opérateur de cast (transtypage)
Pour forcer la conversion d'une expression dans un type
de son choix
Exemple : (double)(n/p) // avec n et p de type int
Attention : on ne peut pas tout "caster"

49

JAVA - © Christine Bonnet

• Opérateur d’allocation mémoire new
objetRef = new NomClasse();
Film film1 = new Film(" Les visiteurs ...");

valabs = (x >= 0) ? x : -x;

• Opérateur de concaténation de chaînes de caractères +
• Opérateur instanceof
détermine le type d’un objet à l’exécution
public void uneMethode(Article i) {


String prenom = "John";
String nom =

"Doe";

String nomComplet;
nomComplet = prenom + " "

+ nom ; // "John Doe"

if (i instanceof LecteurDVD)
((LecteurDVD)i).testDisque();
}
50

JAVA - © Christine Bonnet

51

JAVA - © Christine Bonnet

PRÉCÉDENCE DES OPÉRATEURS
Ordre
1
2
3
4
5
6
7
8
9
10
11
12
13

Opérateurs

Commentaires

++ -- + - ~
!(type)
* / %
+ - +
<< >> >>>
< > <= >=
instanceof
==
!=
&
^
|
&&
||
?:
= op=

Unary operators

D

Multiply, divide, remainder
Add, subtract, add string
Shift (>>> is zero-fill shift)
Relational, type compare

G
G
G
G

Equality
Bit/logical AND
Bit/logical exclusive OR
Bit/logical inclusive OR
Logical AND
Logical OR
Conditional operator
Assignment operators

G
G
G
G
G
G
D
D

52

4

Assoc.

LES STRUCTURES DE CONTRÔLE

JAVA - © Christine Bonnet

53

EXÉCUTION CONDITIONNELLE

EXÉCUTION CONDITIONNELLE

• Alternative au if…else :

• if
if (<expression_logique>)

if (<exp1>)

<bloc1>

<bloc1>

else

switch ( <expr_entière> ) {
case valeur_1:
………;

<bloc2>
else

if (i % 2 == 0)

break;

byte

case valeur_2:

char

<bloc3>

System.out.println("Pair");
else

………;

System.out.println("Impair");

………;

if (i % 2 == 0) {

break;

System.out.println(i);

switch (choix) {
case 37:
System.out.println("Café?");
break;
case 45:
System.out.println("Thé?");
break;

short
int
enum

default:
System.out.println("???");
break;

[default:

System.out.println(" est pair");

………;
break;]

}
54

?:

• switch

else if (<exp2>)
<bloc2>



JAVA - © Christine Bonnet

JAVA - © Christine Bonnet

}

55

}
JAVA - © Christine Bonnet

EXÉCUTION ITÉRATIVE (suite)

EXÉCUTION ITÉRATIVE
• while

• for (itération la plus fréquente)

int i = 0;

while (<expression_logique>)

while (i < 10) {
System.out.println("i = " + i);
i++;

<bloc>

for (<expr1>; <expr2>; <expr3>)

Nombre de passages: 0 à n

<bloc>
expr1: initialisation

}

• do…while

expr2: condition de maintien
expr3: effectuée à la fin de chaque boucle

do

int i = 0;
do {

<bloc>

Nombre de passages: 0 à n

System.out.println("i = " + i);
i++;

while (<expression_logique>)

for (int i = 0, j = 10; i < j; i++, j--) {

Nombre de passages: 1 à n

} while (i < 10);

System.out.println("i = " + i);
System.out.println("j = " + j);
}

• "For … each" : parcours des éléments d'un tableau ou d'une
collection (voir chapitres suivants)

56

JAVA - © Christine Bonnet

L’INSTRUCTION break
• Pour sortir d’une boucle ou d’un switch
• Transfère le contrôle à la première instruction

57

L’INSTRUCTION break AVEC ÉTIQUETTE
• Permet de sortir de plus d'un niveau d'imbrication
• L'étiquette doit figurer devant la structure dont on
souhaite sortir

suivant le corps de la boucle ou l’instruction
switch


repet : while (…) {

for (…){

break repet;

}

}


• Peut simplifier le code

for (;;) {

if (solde >= 250000)
break;

}


58

JAVA - © Christine Bonnet

JAVA - © Christine Bonnet

59

JAVA - © Christine Bonnet


Related documents


2 basesjavadebut
4 progobjjava
6 genericitecollections
5 progobjjavasuite
1z0 808 latest dumps free download from lead2pass 161 170
3 basesjavasuite


Related keywords