Mise à niveau en Java

Dimension: px
Commencer à balayer dès la page:

Download "Mise à niveau en Java"

Transcription

1 Mise à niveau en Java Cours 1 Stéphane Airiau Université Paris-Dauphine Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 1

2 Aujourd hui Eléments de base Variables, opérateurs, type d une expression Tests, boucles Tableaux méthodes Programmation Orientée Objet objets et classes attributs et méthodes constructeurs un mot sur la compilation et l exécution en Java une première classe Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 2

3 Instructions et commentaires 1 // la suite est un commentaire 1 /* ceci est un commentaire 2 sur plusieurs 3 lignes */ Une instruction est une phrase qui respecte la grammaire de Java. Une instruction se termine toujours par un point virgule ; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 3

4 Types élémentaires type élémentaire nombre de bits interval de valeurs boolean 1 deux valeurs true et false byte 8 un entier entre -128 et 127 short 16 un entier entre = et =32767 int 32 un entier entre et long 64 un entier entre et char 16 caractère unicode, il y a codes float 32 nombre flottant norme IEEE double 64 nombre flottant norme IEEE Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 4

5 Variables : déclaration et initialisation déclaration simple : <type> <nom>; déclaration avec affectation : <type> <nom> = <valeur dans le type> <variable> <expression> ; déclaration multiple : <type> <nom 1 >, <nom 2 >,..., <nom k >; déclaration multiple avec affection partielle : <type> <nom 1 >, <nom 2 >= <valeur dans le type>,..., <nom k >; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 5

6 Exemples 1 short population ; 2 population = 30000; 1 short population = ; 1 long nbparticules = ; 1 long nbparticules = L ; 1 char lettre = c ; 1 boolean test = true; 2 test = false; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 6

7 Exemples 1 short population ; 2 population = 30000; 1 short population = ; 1 long nbparticules = ; 1 long nbparticules = L ; 1 char lettre = c ; 1 boolean test = true; 2 test = false; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 7

8 Exemples 1 short population ; 2 population = 30000; 1 short population = ; 1 long nbparticules = ; 1 long nbparticules = L ; 1 char lettre = c ; 1 boolean test = true; 2 test = false; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 8

9 Exemples 1 short population ; 2 population = 30000; 1 short population = ; 1 long nbparticules = ; 1 long nbparticules = L ; 1 char lettre = c ; 1 boolean test = true; 2 test = false; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 9

10 Exemples 1 short population ; 2 population = 30000; 1 short population = ; 1 long nbparticules = ; 1 long nbparticules = L ; 1 char lettre = c ; 1 boolean test = true; 2 test = false; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 10

11 Exemples 1 short population ; 2 population = 30000; 1 short population = ; 1 long nbparticules = ; 1 long nbparticules = L ; 1 char lettre = c ; 1 boolean test = true; 2 test = false; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 11

12 Transtypage ou cast On a la situation suivante : 1 <type 1 > <nom 1 > = <valeur 1 >; 2 <type 2 > <nom 2 > = <nom 1 >; La conversion ou cast peut rester implicite si le <type 1 > est «moins fort»que le <type 2 > 1 int i = 10; 2 double x = i; La conversion doit devenir explicite si le <type 1 > est «strictement plus fort»que le <type 2 > : il faut indiquer au compilateur d effectuer la conversion. 1 double x= ; 2 int i = (int)x; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 12

13 Opérateurs unaires Opérateur priorité action exemples + 1 signe positif +a; +7-1 signe négatif -a; -(a-b); -7! 1 négation logique!(a<b); ++ affectation et incrément de 1 n++;++n; affectation et incrément de 1 n++; i; Opérateurs unaires Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 13

14 Opérateurs binaires Opérateur priorité action exemples * 2 multiplication a * i / 2 division n/10 % 3 reste de la division entière k%n + 3 addition soustraction x-5 < 5 strictement inférieur i<n <= 5 inférieur ou égal i <= n > 5 strictement supérieur i < n >= 5 supérieur ou égal i >= n == 6 égalité i==j!= 6 différent i!=j & 7 conjonction (et logique) (i<j) & (i<n) 9 disjonction (ou logique) (i<j) (i<n) && 10 conjonction optimisée (i<j) && (i<n) 11 disjonction optimisée (i<j) (i<n) = affectation x = 10; x=n; +=, -= affectation et incrément i += 2; j-=4 Opérateurs binaires Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 14

15 Exemple 1 int i=2, j = i++ ; 2 i=2 ; 3 j= ++i ; Attention à ne pas utiliser = pour faire un test d égalité! Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 15

16 Opérateur conditionnel ternaire 1 result = unecondition? value1 : value2; Si le test (une expression booléenne) unecondition est vérifié, alors la variable result prend la valeur value1, sinon elle prend la valeur value2. 1 double x,y, r=1.0; boolean interieur = x*x + y*y < r? true : false Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 16

17 Type d une expression Le code suivant est-il correct? 1 int i = 5,j; 2 double x = 5.0; 3 j=i/2; 4 j=x/2; 1 double x=2.75; 2 int y = (int) x * 2; 3 int z = (int) (x *2); Quelles sont les valeurs de y et z? Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 17

18 Type d une expression Le code suivant est-il correct? 1 int i = 5,j; 2 double x = 5.0; 3 j=i/2; 4 j=x/2; 1 double x=2.75; 2 int y = (int) x * 2; 3 int z = (int) (x *2); Quelles sont les valeurs de y et z? Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 18

19 Les Tableaux Déclaration 1 <type> [] ligne; 2 <type> [][] rectangle; 3 <type> [][][] cube; Création d un tableau : il faut connaître la taille du tableau. 1 <type> [] ligne = new <type>[<taille 1 >]; 2 <type> [][] rectangle = 3 new <type>[<taille 2 >][<taille 3 >]; La taille du tableau : cube.length Attention! le premier élément d un tableau a pour index 0, et donc le dernier élément a pour index length-1. Accès aux éléments du tableau avec [] : rectangle[3][4] + cube[1][2][5]; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 19

20 Exemples 1 int[][][] cube = new int[3][4][5]; 2 int[][] rectangle = cube[2]; 3 int n1 = cube.length; 4 int n2 = cube[0].length; 5 int n3 = cube[0][0].length; Initialisation possible avec une syntaxe de type «liste» : premiers : triangle : 1 int[] premiers = {2, 3, 5, 7, 11, 13, 17, 19 }; 2 int[][] triangle = {{1,1,1,1}, { 0,1,1,1}, 3 { 0, 0, 1, 1}, {0, 0, 0, 1} } ; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 20

21 Blocs Un bloc rassemble des instructions. Les variables déclarées dans un bloc interne ne sont pas connues dans un bloc plus externe. 1 int a,b=10; 2 { 3 int d=2*b; 4 { 5 int e=b+d; 5 a=e*d; 6 { 5 int g= b+ d*e; 6 } 6 } 7 } a et b sont connus partout. d est connu seulement dans la partie rouge e est connu seulement dans la partie blue g est connu seulement dans la partie verte Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 21

22 La structure if... then... else 1 if ( <expression booléenne> ) 2 <bloc d instructions à exécuter 3 si la condition est satisfaite> 4 else 5 <bloc d instructions à exécuter 6 si la condition n est pas satisfaite> 1 int gains,payment,encaissement,invest; 2 // opérations qui modifient la variable gains if (gains<0) 5 payment = gains; 6 else if (gains > 10) { 7 encaissement = 10; 8 invest = gains-10; 9 } 10 else 11 encaissement = gains; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 22

23 Choix multiples 1 int choix; // l utilisateur modifie la valeur de choix switch(choix) { 6 case 1: 7 //instructions pour le choix break; 10 case 2: 11 //instructions pour le choix break; 14 default 15 // instructions dans le reste des cas } Le switch peut s effectuer sur deux types de variables : int et char. Depuis la version 7, on peut aussi utiliser une chaîne de caractères Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 23

24 Boucle for 1 for (<initialisation> 2 <condition de fin> ; 3 <mise à jour des valeurs>) 4 <bloc d instructions> que se passe-t-il? 1 for ( ; ; ){ 2 // instructions 3 } un exemple classique : 0 int n=10; 1 for (int i=0; i< n; i++ ){ 2 // instructions 3 } Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 24

25 autre exemple 0 int n=10; 1 for (int i=0, j=n; j< i; i++; j ){ 2 // instructions 3 } Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 25

26 Boucle while 1 while(<condition>) 2 <bloc d instructions> Le bloc d instructions est exécuté tant que la condition est satisfaite. un exemple qui va essayer de déterminer si la suite définie par u : n r n converge : 1 double epsilon = ; 2 double r = 0.75, u=1; 3 while(-epsilon >= u-u*r u - u* r >= epsilon) 4 u = u * r ; Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 26

27 Boucle do... while 1 do 2 <bloc d instructions> 3 while(<condition>); Attention : ne pas oublier le ; à la fin du while! 1 double epsilon = ; 2 double r = 0.75, u=1; 3 do 4 u = u * r ; 5 while ( -epsilon >= u-u*r u - u* r >= epsilon); Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 27

28 choix du type de de la boucle généralement, si on connait le nombre d itérations, on utilise une boucle for. qu est-ce qui est plus élégant? qu est-ce qui sera le plus facile à lire pour un autre lecteur? ex : chercher un élément dans un tableau? chercher l élément le plus grand d un tableau? déterminer si un nombre est premier? Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 28

29 Méthodes But : rassembler une suite d instructions que l on répète dans le code. en utilisant des méthodes, le code devient plus lisible moins long si on veut modifier le code, il n y a plus qu un seul endroit à changer. Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 29

30 Méthode 1 public static <type de retour> <nom> 2 ( <liste de paramètres>) { 3 corps de la méthode : suite d instructions 4 } Le sens de public et static seront vus plus tard dans le cours l ordre des arguments est important! si la méthode ne retourne rien, son type de retour est void. sinon, on retourne la valeur en utilisant le mot-clé return. choisir un nom de méthodes parlant Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 30

31 Exemple 1 public static int max( int[] tableau) { 2 int m= tableau[0]; 3 for (int i=1;i<tableau.length; i++){ 4 if (tableau[i] > m) 5 m = tableau[i]; 6 } 7 return m; 8 } Appel de la méthode 1 int tab = {7, 12, 15, 9, 11, 17, 13}; 2 int m = max(tab); Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 31

32 Surcharge nom de méthode + liste d arguments = signature La signature est unique. On peut utiliser le même nom mais avoir une liste d arguments différente on appelle cette possibilité la surcharge de la méthode. 1 public static double max( double[] tableau) { 2 double m= tableau[0]; 3 for (int i=1;i<tableau.length; i++){ 4 if (tableau[i] > m) 5 m = tableau[i]; 6 } 7 return m; 8 } Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 32

33 Passage des arguments de types primitifs 1 public int f(int n){ 2 n = 3 * n * n -2 *n if (n > 0) 4 return n; 5 else 6 return 0; 7 } 1 int i=13; 2 int j= f(i); Quelle est la valeur de i? Le passage des arguments se fait par valeur (i.e. on copie la valeur de la variable passée en arguments). Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 33

34 Programmation orientée Objet en Java Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 34

35 Objets et Classes Un objet se définit par ses états (on peut aussi parler de ses caractéristiques) et son comportement. exemple d un objet voiture Etats marque modèle cylindrée quantité d essence niveau d huile pression des pneus nombre de tours Comportements accélerer passer rapport supérieur passer rapport inférieur tourner volant ouvrir porte fermer porte freiner Une classe est un plan ou un moule pour fabriquer des objets. les états d un objet vont être représentés par des variables les comportements d un objet seront representés par des méthodes. Un objet est une instance d une classe. Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 35

36 Autrement dit Une classe est un type abstrait caractérisé par des propriétés (attributs et méthodes) communes à un ensemble d objets et permettant de créer des objets ayant ces propriétés. Un objet ou une instance de classe possède un comportement et un état qui ne peut être modifié que par les actions du comportement. On peut créer une classe Personnage car tous les personnages partagent les mêmes caractéristiques. Lorsqu on veut créer un personnage, on instantie la classe Personnage N.B. par convention, le nom d une classe commence toujours par une majuscule. Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 36

37 Des classes déjà existentes Java possède une large librairie de classes. La librairie se compose de différents packages et sous-packages. overview-summary.html Par exemple, le package java.lang contient des classes de bases du langage Java. On y trouve aussi une classe pour manipuler les chaînes de caractères appelée String. Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 37

38 Attributs et variables de classe variables d instance ou attributs : ces variables définissent les caractéristiques de l objet. initialisation optionnelle. accès : <nom objet>.<nom attribut> variables de classe : ces variables sont communes à toutes les instances de la classe, déclaration avec le mot clé static initialisation obligatoire accès : <nom de classe>.<nom variable de classe> exemple : classe Float pour encapsuler un nombre flottant float. variables de classes : MAX_VALUE, MAX_EXPONENT, NaN, etc. Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 38

39 méthodes d instance et méthodes de classe méthode d instance : ces méthodes permettent de modifier ou d accéder à l état de l objet. méthode de classe : ces méthodes ne modifient pas l état interne d un objet. exemple : la classe Float méthode d instance String tostring() retourne une représentation en chaîne de caractères de l objet courant méthode de classe static String tostring(float f) retourne une représentation en chaîne de caractères du float passé en paramètre 1 Float f; 2 System.out.println(f.toString()); 3 System.out.println(Float.toString(3.1419)); Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 39

40 Encapsulation Les comportements et les états d un objets peuvent être connus de tous public toute classe peut exécuter la méthode publique modifier ou accéder à un attribut publique cachés private la méthode ou l attribut ne peut être accédée que depuis l intérieur de la classe cacher un méchanisme interne (on pourra changer une implémentation sans que cela ait un impact sur la partie publique). protection Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 40

41 Constructeurs Une classe est un plan ou un moule pour fabriquer un objet, ce qu on appelle instancier un objet. Les méthodes pour instancier un objet sont appelées des constructeurs. Un constructeur porte le nom de la classe n a pas de type de retour. On appelle constructeur par défaut le constructeur sans arguments : 1 public class <nom classe> { 2 // déclaration des variable d instances et 3 // variables de classe // constructeur par défaut 6 public <nom classe>(){ 7 // corps de la méthode 8 } 9 } Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 41

42 Exemple La surcharge permet d avoir des constructeurs avec des signatures différentes. Pour une classe Personnage, on peut donc écrire : 1 public class Personnage { 2 public String nom; 3 4 // constructeur par défaut 5 public Personnage(){ 6 nom = Inconnu"; 7 } 8 9 public Personnage(String name){ 10 nom = name; 11 } 12 } Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 42

43 Création d un objet Déclaration : comme pour les types primitifs : <Nom de la classe> <nom objet>; Création/initialisation à l aide du mot clé new et appel du constructeur : new <Nom de classe>(<liste d arguments>);. comme pour les types primitifs, on peut déclarer et initialiser plusieurs objets du même type en même temps. 1 Personnage asterix = new Personnage("Astérix"); 2 Personnage obelix = new Personnage("Obelix"), 3 Personnage idefix = new Personnage( Idéfix ), 4 Personnage romain = new Personnage(); Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 43

44 Egalité 1 Personnage asterix = new Personnage("Astérix"); 2 Personnage asterixbis = asterix; 3 Personnage asterixter = new Personnage("Astérix"); 4 if (asterix == asterixbis) 5 System.out.println("Bleu"); 6 else 7 System.out.println("Rouge"); 8 if (asterix == asterixter) 9 System.out.println("Bleu"); 10 else 11 System.out.println("Rouge"); Qu est-ce qui est affiché sur la console? la variable est une référence vers l objet et non l objet lui même == désigne l égalité de la référence : deux variables peuvent pointer vers le même objet pour tester l égalité entre les propriétés de l objet, on utilise la méthode boolean equals(object o). Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 44

45 Egalité 1 Personnage asterix = new Personnage("Astérix"); 2 Personnage asterixbis = asterix; 3 Personnage asterixter = new Personnage("Astérix"); 4 if (asterix == asterixbis) 5 System.out.println("Bleu"); 6 else 7 System.out.println("Rouge"); 8 if (asterix == asterixter) 9 System.out.println("Bleu"); 10 else 11 System.out.println("Rouge"); Qu est-ce qui est affiché sur la console? la variable est une référence vers l objet et non l objet lui même == désigne l égalité de la référence : deux variables peuvent pointer vers le même objet pour tester l égalité entre les propriétés de l objet, on utilise la méthode boolean equals(object o). Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 45

46 Destruction d un objet La destruction des objets est prise en charge par Java à l aide d un garbage collector (GC). Le GC détruit les objets (i.e. efface la mémoire) qui ne sont référencés par aucun autre objet. Les destructions sont asynchrones et il n y a pas de garanties que les objets soient détruits. Une méthode optionnelle nommée finalize est appelée lorsque l objet est détruit. Elle peut par exemple s assurer que des fichiers ou des connexions sont bien fermées avant la destruction de l objet. Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 46

47 Compilation, exécution, machine virtuelle Java n est pas seulement la description d un langage et une bibliothèque de classes. Java dispose d outils pour générer et exécuter du code. Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 47

48 Compilation Chaque classe <MaClasse> est enregistrée dans un fichier <MaClasse>.java : il porte le même nom que la classe et possède l extension.java. Le développeur doit compiler l ensemble de classes à l aide d un programme appelé javac. Le compilateur traduit le code écrit par le développeur en un langage plus simple qui pourra être exécuté. Pour Java, le compilateur produit un code dans le langage bytecode. Le résultat de la compilation est un fichie nommé <MaClasse>.class Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 48

49 Compilation Pour simplifier, il y a deux étapes lors de la compilation : analyse syntaxique : le code est lu, on forme un arbre de syntaxique. on vérifie la syntaxe du code (i.e. on vérifie la grammaire du code). analyse sémantique : l arbre syntaxique est analysé et traduit en bytecode. les références à des classes extérieures sont vérifiées (on cherche si la classe existe bien, si elle a besoin d être compilée, etc). Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 49

50 Exécution On exécute une méthode spéciale appelée main. Cette méthode se trouvera dans une classe de votre choix. Si la méthode main se trouve dans une classe MaClasse, on lancera l exécution en lançant l application Java : java MaClass (on peut taper cette commande sous linux ou mac os) La méthode main a une signature fixée par convention 1 public static void main(string[] args) public : pour être appelée de l extérieur de la classe static : pour être appelée sans avoir instancié un objet void : la méthode ne retourne rien String[] args : lors du lancement de l exécution, on peut ajouter du texte et chaque mot sera inséré dans un tableau de String qui peut servir à paramétrer l exécution. Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 50

51 Machine virtuelle Java fournit une machine virtuelle : c est un programme qui lit du code en bytecode et interprète ce code dans le langage de la machine pour l exécuter : Lors de l exécution java MaClass on lance un programme appelée java se programme interprète le code lancé à partir de la méthode main de la classe MaClasse Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 51

52 Machine Virtuelles avantages : le code est portable : On peut écrire, compiler et exécuter sur des machines d architectures différentes. (ordinateur windows, apple, linux, téléphone mobile, caisse enregistreuse, etc). la machine virtuelle permet de partager d une manière sécurisée une machine le code est généralement plus compact (pas besoin d inclure les bibliothèques comme en C ou C++). la machine virtuelle donne l impression que l on dispose d une machine entière (la machine réelle donner du temps processeur à la machine virtuelle). inconvenients : coût en ressources de la machine virtuelle. Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 52

53 sous mac OS Code Source.java sous windows sous linux Compilation javac Bytecode.java machine virtuelle Exécution java machine windows machine linux machine apple portable android Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 53

54 Travaux Pratiques Coder une classe pour manipuler des nombres complexes. retourner une représentation en chaîne de caractères. opérations de base : addition, soustraction, multiplication, division obtenir la partie réelle, la partie imaginaire, l angle et le module opération de rotation et d homothetie Ecrire une méthode main ou vous testerez chaque opération PS : Pour imprimer sur la console utilisez cette méthode : System.out.println(<une chaine de caractères>) PPS : l opérateur + concatène les chaînes de caractères, par exemple par toutatis + asterix.nom Stéphane Airiau (Université Paris-Dauphine) - Java Cours 1 54

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

Structure d un programme et Compilation Notions de classe et d objet Syntaxe Cours1 Structure d un programme et Compilation Notions de classe et d objet Syntaxe POO 1 Programmation Orientée Objet Un ensemble d objet qui communiquent Pourquoi POO Conception abstraction sur les types

Plus en détail

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java Info0101 Intro. à l'algorithmique et à la programmation Cours 3 Le langage Java Pierre Delisle, Cyril Rabat et Christophe Jaillet Université de Reims Champagne-Ardenne Département de Mathématiques et Informatique

Plus en détail

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

INTRODUCTION A JAVA. Fichier en langage machine Exécutable INTRODUCTION A JAVA JAVA est un langage orienté-objet pur. Il ressemble beaucoup à C++ au niveau de la syntaxe. En revanche, ces deux langages sont très différents dans leur structure (organisation du

Plus en détail

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre 2009. Enrica.Duchi@liafa.jussieu.fr . Cours intensif Java 1er cours: de C à Java Septembre 2009 Enrica DUCHI LIAFA, Paris 7 Enrica.Duchi@liafa.jussieu.fr LANGAGES DE PROGRAMMATION Pour exécuter un algorithme sur un ordinateur il faut le

Plus en détail

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars 2014. http://homepages.laas.fr/matthieu/cours/java/java.pdf Introduction à Java Matthieu Herrb CNRS-LAAS http://homepages.laas.fr/matthieu/cours/java/java.pdf Mars 2014 Plan 1 Concepts 2 Éléments du langage 3 Classes et objets 4 Packages 2/28 Histoire et motivations

Plus en détail

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Plan Plan Programmation - Introduction - Nicolas Malandain March 14, 2005 Introduction à Java 1 Introduction Présentation Caractéristiques Le langage Java 2 Types et Variables Types simples Types complexes

Plus en détail

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7

Plan du cours. Historique du langage http://www.oracle.com/technetwork/java/index.html. Nouveautés de Java 7 Université Lumière Lyon 2 Faculté de Sciences Economiques et Gestion KHARKIV National University of Economic Introduction au Langage Java Master Informatique 1 ère année Julien Velcin http://mediamining.univ-lyon2.fr/velcin

Plus en détail

Java Licence Professionnelle CISII, 2009-10

Java Licence Professionnelle CISII, 2009-10 Java Licence Professionnelle CISII, 2009-10 Cours 4 : Programmation structurée (c) http://www.loria.fr/~tabbone/cours.html 1 Principe - Les méthodes sont structurées en blocs par les structures de la programmation

Plus en détail

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets

Java Licence Professionnelle CISII, 2009-2010. Cours 2 : Classes et Objets Licence Professionnelle CISII, 2009-2010 Cours 2 : Classes et Objets 1 Classes et Objets Objectifs des LOO : - Manipuler des objets - Découper les programmes suivant les types des objets manipulés - Regrouper

Plus en détail

Une introduction à Java

Une introduction à Java Une introduction à Java IFT 287 (Semaine 1) UNIVERSITÉ DE SHERBROOKE 1 Java - Historique Développé par Sun Microsystems en 1994 Inventeur James Gosling (canadien!) Objectif langage sûr (fortement typé)

Plus en détail

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère L'héritage et le polymorphisme en Java Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère En java, toutes les classes sont dérivée de la

Plus en détail

TP1 : Initiation à Java et Eclipse

TP1 : Initiation à Java et Eclipse TP1 : Initiation à Java et Eclipse 1 TP1 : Initiation à Java et Eclipse Systèmes d Exploitation Avancés I. Objectifs du TP Ce TP est une introduction au langage Java. Il vous permettra de comprendre les

Plus en détail

INITIATION AU LANGAGE JAVA

INITIATION AU LANGAGE JAVA INITIATION AU LANGAGE JAVA I. Présentation 1.1 Historique : Au début des années 90, Sun travaillait sur un projet visant à concevoir des logiciels simples et performants exécutés dans des PDA (Personnal

Plus en détail

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose...

Licence Bio Informatique Année 2004-2005. Premiers pas. Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... Université Paris 7 Programmation Objet Licence Bio Informatique Année 2004-2005 TD n 1 - Correction Premiers pas Exercice 1 Hello World parce qu il faut bien commencer par quelque chose... 1. Enregistrez

Plus en détail

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40

Langage et Concepts de ProgrammationOrientée-Objet 1 / 40 Déroulement du cours Introduction Concepts Java Remarques Langage et Concepts de Programmation Orientée-Objet Gauthier Picard École Nationale Supérieure des Mines de Saint-Étienne gauthier.picard@emse.fr

Plus en détail

Cours 1: Java et les objets

Cours 1: Java et les objets Ressources Les interface homme-machine et le langage Java DUT première année Henri Garreta, Faculté des Sciences (Luminy) Cyril Pain-Barre & Sébastien Nedjar, IUT d Aix-Marseille (Aix) Cours 1: infodoc.iut.univ-aix.fr/~ihm/

Plus en détail

Langage Java. Classe de première SI

Langage Java. Classe de première SI Langage Java Table des matières 1. Premiers pas...2 1.1. Introduction...2 1.2. Mon premier programme...2 1.3. Les commentaires...2 2. Les variables et les opérateurs...2 3. La classe Scanner...3 4. Les

Plus en détail

Java Licence Professionnelle CISII, 2009-2010

Java Licence Professionnelle CISII, 2009-2010 Licence Professionnelle CISII, 2009-2010 Cours 1 : Introduction à Java A. Belaïd abelaid@loria.fr Cours disponible sur le site : http://www.loria.fr/~abelaid puis Teaching 1 Fonctionnement 12 séances :

Plus en détail

Programmation en Java IUT GEII (MC-II1) 1

Programmation en Java IUT GEII (MC-II1) 1 Programmation en Java IUT GEII (MC-II1) 1 Christophe BLANC - Paul CHECCHIN IUT Montluçon Université Blaise Pascal Novembre 2009 Christophe BLANC - Paul CHECCHIN Programmation en Java IUT GEII (MC-II1)

Plus en détail

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation impérative et structures de données simples Introduction au langage C Sandrine Blazy - 1ère année 24 octobre 2007 Cours d Algorithmique-Programmation

Plus en détail

PROGRAMMATION PAR OBJETS

PROGRAMMATION PAR OBJETS PROGRAMMATION PAR OBJETS Java Environnement et constructions spécifiques Walter Rudametkin Maître de Conférences Bureau F011 Walter.Rudametkin@polytech-lille.fr B. Carré Polytech Lille 2 Java (Sun 1995)

Plus en détail

Algorithmique et Programmation, IMA

Algorithmique et Programmation, IMA Algorithmique et Programmation, IMA Cours 2 : C Premier Niveau / Algorithmique Université Lille 1 - Polytech Lille Notations, identificateurs Variables et Types de base Expressions Constantes Instructions

Plus en détail

INF 321 : mémento de la syntaxe de Java

INF 321 : mémento de la syntaxe de Java INF 321 : mémento de la syntaxe de Java Table des matières 1 La structure générale d un programme 3 2 Les composants élémentaires de Java 3 2.1 Les identificateurs.................................. 3 2.2

Plus en détail

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5

Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 UNIVERISTE MOHAMMED PREMIER Faculté des Sciences d Oujda Oujda - Maroc Polycopié Cours Programmation Orientée Objet sous Java Programme : Filière SMI S5 Pr. El Mostafa DAOUDI Département de Mathématiques

Plus en détail

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr

Initiation à JAVA et à la programmation objet. raphael.bolze@ens-lyon.fr Initiation à JAVA et à la programmation objet raphael.bolze@ens-lyon.fr O b j e c t i f s Découvrir un langage de programmation objet. Découvrir l'environnement java Découvrir les concepts de la programmation

Plus en détail

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles) 1/4 Objectif de ce cours /4 Objectifs de ce cours Introduction au langage C - Cours Girardot/Roelens Septembre 013 Du problème au programme I passer d un problème exprimé en français à la réalisation d

Plus en détail

Introduction au langage C

Introduction au langage C Introduction au langage C Cours 1: Opérations de base et premier programme Alexis Lechervy Alexis Lechervy (UNICAEN) Introduction au langage C 1 / 23 Les premiers pas Sommaire 1 Les premiers pas 2 Les

Plus en détail

Tp 1 correction. Structures de données (IF2)

Tp 1 correction. Structures de données (IF2) Tp 1 correction Structures de données (IF2) Remarque générale : compilez et exécutez le code au-fur-et-à mesure de son écriture. Il est plus facile de corriger une petite portion de code délimitée que

Plus en détail

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET I. INTRODUCTION 1.1. HISTORIQUE 1991: Concepts Java pour Sun -conception d'un langage pour des appareils électroniques(code embarqué) -syntaxe proche du C++

Plus en détail

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3. 1. Structure d un programme C Un programme est un ensemble de fonctions. La fonction "main" constitue le point d entrée pour l exécution. Un exemple simple : #include int main() { printf ( this

Plus en détail

Premiers Pas en Programmation Objet : les Classes et les Objets

Premiers Pas en Programmation Objet : les Classes et les Objets Chapitre 2 Premiers Pas en Programmation Objet : les Classes et les Objets Dans la première partie de ce cours, nous avons appris à manipuler des objets de type simple : entiers, doubles, caractères, booléens.

Plus en détail

Java c est quoi? Java pourquoi?

Java c est quoi? Java pourquoi? Grandes lignes du cours Cours JAVA : Le bases du langage Java. Version 3.02 Julien Sopena 1 1 julien.sopena@lip6.fr Équipe REGAL - INRIA Rocquencourt LIP6 - Université Pierre et Marie Curie Licence professionnelle

Plus en détail

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ;

Exceptions. 1 Entrées/sorties. Objectif. Manipuler les exceptions ; CNAM NFP121 TP 10 19/11/2013 (Séance 5) Objectif Manipuler les exceptions ; 1 Entrées/sorties Exercice 1 : Lire un entier à partir du clavier Ajouter une méthode readint(string message) dans la classe

Plus en détail

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr

Aide mémoire UML & Java 1ère partie : Introduction. marc.lemaire@u-cergy.fr Aide mémoire UML & Java 1ère partie : Introduction marc.lemaire@u-cergy.fr 9 septembre 2014 1 2014 v1.11 Table des matières 1 Généralités 6 1.1 Notations utilisées.....................................

Plus en détail

Notions fondamentales du langage C# Version 1.0

Notions fondamentales du langage C# Version 1.0 Notions fondamentales du langage C# Version 1.0 Z 2 [Notions fondamentales du langage Csharp] [Date : 25/03/09] Sommaire 1 Tout ce qu il faut savoir pour bien commencer... 3 1.1 Qu est ce qu un langage

Plus en détail

Licence ST Université Claude Bernard Lyon I LIF1 : Algorithmique et Programmation C Bases du langage C 1 Conclusion de la dernière fois Introduction de l algorithmique générale pour permettre de traiter

Plus en détail

Chapitre 2. Classes et objets

Chapitre 2. Classes et objets Chapitre 2: Classes et Objets 1/10 Chapitre 2 Classes et objets Chapitre 2: Classes et Objets 2/10 Approche Orientée Objet Idée de base de A.O.O. repose sur l'observation de la façon dont nous procédons

Plus en détail

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile

TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile TP n 2 Concepts de la programmation Objets Master 1 mention IL, semestre 2 Le type Abstrait Pile Dans ce TP, vous apprendrez à définir le type abstrait Pile, à le programmer en Java à l aide d une interface

Plus en détail

Cours d initiation à la programmation en C++ Johann Cuenin

Cours d initiation à la programmation en C++ Johann Cuenin Cours d initiation à la programmation en C++ Johann Cuenin 11 octobre 2014 2 Table des matières 1 Introduction 5 2 Bases de la programmation en C++ 7 3 Les types composés 9 3.1 Les tableaux.............................

Plus en détail

Utilisation d objets : String et ArrayList

Utilisation d objets : String et ArrayList Chapitre 6 Utilisation d objets : String et ArrayList Dans ce chapitre, nous allons aborder l utilisation d objets de deux classes prédéfinies de Java d usage très courant. La première, nous l utilisons

Plus en détail

Généralités sur le Langage Java et éléments syntaxiques.

Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques. Généralités sur le Langage Java et éléments syntaxiques....1 Introduction...1 Genéralité sur le langage Java....1 Syntaxe de base du Langage...

Plus en détail

Chapitre 10. Les interfaces Comparable et Comparator 1

Chapitre 10. Les interfaces Comparable et Comparator 1 Chapitre 10: Les interfaces Comparable et Comparator 1/5 Chapitre 10 Les interfaces Comparable et Comparator 1 1 Ce chapitre a été extrait du document "Objets, Algorithmes, Patterns" de [René Lalement],

Plus en détail

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C

IN 102 - Cours 1. 1 Informatique, calculateurs. 2 Un premier programme en C IN 102 - Cours 1 Qu on le veuille ou non, les systèmes informatisés sont désormais omniprésents. Même si ne vous destinez pas à l informatique, vous avez de très grandes chances d y être confrontés en

Plus en détail

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour

LMI 2. Programmation Orientée Objet POO - Cours 9. Said Jabbour. jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour LMI 2 Programmation Orientée Objet POO - Cours 9 Said Jabbour jabbour@cril.univ-artois.fr www.cril.univ-artois.fr/~jabbour CRIL UMR CNRS 8188 Faculté des Sciences - Univ. Artois Février 2011 Les collections

Plus en détail

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP COURS PROGRAMMATION INITIATION AU LANGAGE C SUR MICROCONTROLEUR PIC page 1 / 7 INITIATION AU LANGAGE C SUR PIC DE MICROSHIP I. Historique du langage C 1972 : naissance du C dans les laboratoires BELL par

Plus en détail

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Anne Tasso Java Le livre de premier langage 10 e édition Avec 109 exercices corrigés Groupe Eyrolles, 2000-2015, ISBN : 978-2-212-14154-2 Table des matières Avant-propos Organisation de l ouvrage..............................

Plus en détail

Cours d Algorithmique et de Langage C 2005 - v 3.0

Cours d Algorithmique et de Langage C 2005 - v 3.0 Cours d Algorithmique et de Langage C 2005 - v 3.0 Bob CORDEAU cordeau@onera.fr Mesures Physiques IUT d Orsay 15 mai 2006 Avant-propos Avant-propos Ce cours en libre accès repose sur trois partis pris

Plus en détail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

Cours 1 : La compilation

Cours 1 : La compilation /38 Interprétation des programmes Cours 1 : La compilation Yann Régis-Gianas yrg@pps.univ-paris-diderot.fr PPS - Université Denis Diderot Paris 7 2/38 Qu est-ce que la compilation? Vous avez tous déjà

Plus en détail

STAGE IREM 0- Premiers pas en Python

STAGE IREM 0- Premiers pas en Python Université de Bordeaux 16-18 Février 2014/2015 STAGE IREM 0- Premiers pas en Python IREM de Bordeaux Affectation et expressions Le langage python permet tout d abord de faire des calculs. On peut évaluer

Plus en détail

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java

Cours 1 : Introduction. Langages objets. but du module. contrôle des connaissances. Pourquoi Java? présentation du module. Présentation de Java Langages objets Introduction M2 Pro CCI, Informatique Emmanuel Waller, LRI, Orsay présentation du module logistique 12 blocs de 4h + 1 bloc 2h = 50h 1h15 cours, 45mn exercices table, 2h TD machine page

Plus en détail

TD3: tableaux avancées, première classe et chaînes

TD3: tableaux avancées, première classe et chaînes TD3: tableaux avancées, première classe et chaînes de caractères 1 Lestableaux 1.1 Élémentsthéoriques Déclaration des tableaux Pour la déclaration des tableaux, deux notations sont possibles. La première

Plus en détail

TP1. Outils Java Eléments de correction

TP1. Outils Java Eléments de correction c sep. 2008, v2.1 Java TP1. Outils Java Eléments de correction Sébastien Jean Le but de ce TP, sur une séance, est de se familiariser avec les outils de développement et de documentation Java fournis par

Plus en détail

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites

Java Licence Professionnelle 2009-2010. Cours 7 : Classes et méthodes abstraites Java Licence Professionnelle 2009-2010 Cours 7 : Classes et méthodes abstraites 1 Java Classes et méthodes abstraites - Le mécanisme des classes abstraites permet de définir des comportements (méthodes)

Plus en détail

TP 1. Prise en main du langage Python

TP 1. Prise en main du langage Python TP. Prise en main du langage Python Cette année nous travaillerons avec le langage Python version 3. ; nous utiliserons l environnement de développement IDLE. Étape 0. Dans votre espace personnel, créer

Plus en détail

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION)

RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) CLASSE RACINE Object ancêtre de toutes les classes RAPPELS SUR LES METHODES HERITEES DE LA CLASSE RACINE Object ET LEUR SPECIALISATION (i.e. REDEFINITION) définit donc des méthodes héritées par toutes

Plus en détail

ACTIVITÉ DE PROGRAMMATION

ACTIVITÉ DE PROGRAMMATION ACTIVITÉ DE PROGRAMMATION The purpose of the Implementation Process is to realize a specified system element. ISO/IEC 12207 Sébastien Adam Une introduction 2 Introduction Ø Contenu Utilité de l ordinateur,

Plus en détail

SUPPORT DE COURS. Langage C

SUPPORT DE COURS. Langage C Dpt Informatique 2010-2011 SUPPORT DE COURS Langage C Semestre 1 par : «CaDePe» Marie-Françoise Canut Marianne de Michiel André Péninou Table des Matières 1 Généralités...8 1.1 Introduction aux langages

Plus en détail

UE C avancé cours 1: introduction et révisions

UE C avancé cours 1: introduction et révisions Introduction Types Structures de contrôle Exemple UE C avancé cours 1: introduction et révisions Jean-Lou Desbarbieux et Stéphane Doncieux UMPC 2004/2005 Introduction Types Structures de contrôle Exemple

Plus en détail

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Cours d introduction à l informatique Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions Qu est-ce qu un Une recette de cuisine algorithme? Protocole expérimental

Plus en détail

Programmation Orientée Objets Le Langage JAVA

Programmation Orientée Objets Le Langage JAVA Module IP1 Programmation Orientée Objets Le Langage JAVA Amaury Habrard Université de Saint-Etienne amaury.habrard@univ-st-etienne.fr Mis à jour par François-Xavier Dupé Université d Aix-Marseille francois-xavier.dupe@lif.univ-mrs.fr

Plus en détail

Programmation Orientée Objet application au langage Java Version Novembre 2007

Programmation Orientée Objet application au langage Java Version Novembre 2007 Programmation Orientée Objet application au langage Java Version Novembre 2007 Mickaël BARON - 2007 mailto:baron.mickael@gmail.com ou mailto:mickael.baron@serli.com SERLI informatique SERLI : www.serli.com

Plus en détail

Claude Delannoy. 3 e édition C++

Claude Delannoy. 3 e édition C++ Claude Delannoy 3 e édition Exercices Exercices C++ en en langage langage delc++ titre 4/07/07 15:19 Page 2 Exercices en langage C++ AUX EDITIONS EYROLLES Du même auteur C. Delannoy. Apprendre le C++.

Plus en détail

TP, première séquence d exercices.

TP, première séquence d exercices. TP, première séquence d exercices. Benoît Valiron benoit.valiron@lipn.univ-paris13.fr 7 novembre 2010 Introduction Vous écrirez les réponses aux questions courtes sur une feuille à rendre à la fin de la

Plus en détail

Apprendre Java en 154 minutes

Apprendre Java en 154 minutes Apprendre Java en 154 minutes Tutorial Java 1.6 - HESB-TI Stéphanie Calderara José R. Beuret Quentin Cosendey Mai 2008 Table des matières 1 Objet, classe et modificateur 3 1.1 Le premier pas..........................

Plus en détail

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets.

Encapsulation. L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. Encapsulation L'encapsulation consiste à rendre les membres d'un objet plus ou moins visibles pour les autres objets. La visibilité dépend des membres : certains membres peuvent être visibles et d'autres

Plus en détail

Héritage presque multiple en Java (1/2)

Héritage presque multiple en Java (1/2) Héritage presque multiple en Java (1/2) Utiliser deux classes ou plus dans la définition d'une nouvelle classe peut se faire par composition. class Etudiant{ int numero; Diplome d; float passeexamen(examen

Plus en détail

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan

Cours de C++ François Laroussinie. 2 novembre 2005. Dept. d Informatique, ENS de Cachan Cours de C++ François Laroussinie Dept. d Informatique, ENS de Cachan 2 novembre 2005 Première partie I Introduction Introduction Introduction Algorithme et programmation Algorithme: méthode pour résoudre

Plus en détail

Chapitre VI- La validation de la composition.

Chapitre VI- La validation de la composition. Chapitre VI- La validation de la composition. Objectifs du chapitre : Expliquer les conséquences de l utilisation de règles de typage souples dans SEP. Présenter le mécanisme de validation des connexions

Plus en détail

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu.

Seance 2: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Seance 2: Complétion du code de jeu. (durée max: 2h) Mot clé const et pointeurs: En respectant la méthode de programmation par contrat, implémentez les autres fonctions de jeu. Implémentez jeu_recupere_piece

Plus en détail

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre

Plus en détail

UE Programmation Impérative Licence 2ème Année 2014 2015

UE Programmation Impérative Licence 2ème Année 2014 2015 UE Programmation Impérative Licence 2 ème Année 2014 2015 Informations pratiques Équipe Pédagogique Florence Cloppet Neilze Dorta Nicolas Loménie prenom.nom@mi.parisdescartes.fr 2 Programmation Impérative

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail

Programmation C. Apprendre à développer des programmes simples dans le langage C

Programmation C. Apprendre à développer des programmes simples dans le langage C Programmation C Apprendre à développer des programmes simples dans le langage C Notes de cours sont disponibles sur http://astro.u-strasbg.fr/scyon/stusm (attention les majuscules sont importantes) Modalités

Plus en détail

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme Rappel Ralf Treinen Université Paris Diderot UFR Informatique Laboratoire Preuves, Programmes et Systèmes treinen@pps.univ-paris-diderot.fr 6 mai 2015 Jusqu'à maintenant : un petit langage de programmation

Plus en détail

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

JAVA TD0. Prise en main du langage Environnement de base JAVA 1 JAVA TD0 Prise en main du langage Environnement de base JAVA 1 Mon premier programme public class HelloWorld { public static void main(string [] arg){ System.out.println("Hello, World!"); main(string []

Plus en détail

Chapitre I Notions de base et outils de travail

Chapitre I Notions de base et outils de travail Chapitre I Notions de base et outils de travail Objectifs Connaître les principes fondateurs et l historique du langage Java S informer des principales caractéristiques du langage Java Connaître l environnement

Plus en détail

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle - 2012-2013 P. Bonnet Programmation VBA Pierre BONNET 21 La programmation VBA Historiquement, la programmation sous Excel avait comme fonction d'automatiser une succession d'actions faites dans la feuille à l'aide de la souris.

Plus en détail

Présentation du langage et premières fonctions

Présentation du langage et premières fonctions 1 Présentation de l interface logicielle Si les langages de haut niveau sont nombreux, nous allons travaillé cette année avec le langage Python, un langage de programmation très en vue sur internet en

Plus en détail

Les bases de l informatique et de la programmation. École polytechnique

Les bases de l informatique et de la programmation. École polytechnique Les bases de l informatique et de la programmation École polytechnique François Morain 2 2 Table des matières I Introduction à la programmation 11 1 Les premiers pas en Java 13 1.1 Le premier programme............................

Plus en détail

Programmation Classique en langage C

Programmation Classique en langage C DI GALLO Frédéric Programmation Classique en langage C Cours du Cycle d Approfondissement CNAM ANGOULEME 2000-2001 DI GALLO Frédéric Page 1 01/04/01 PROGRAMMATION CLASSIQUE : LANGAGE C DI GALLO Frédéric

Plus en détail

Corrigés des premiers exercices sur les classes

Corrigés des premiers exercices sur les classes Corrigés des premiers exercices sur les classes Exercice 2.1.1 utilisation d une classe Voici le texte d une classe représentant de façon sommaire un compte bancaire et les opérations bancaires courantes.

Plus en détail

Objets et Programmation. origine des langages orientés-objet

Objets et Programmation. origine des langages orientés-objet Objets et Programmation origine des langages orientés-objet modularité, encapsulation objets, classes, messages exemples en Java héritage, liaison dynamique G. Falquet, Th. Estier CUI Université de Genève

Plus en détail

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux. UEO11 COURS/TD 1 Contenu du semestre Cours et TDs sont intégrés L objectif de ce cours équivalent a 6h de cours, 10h de TD et 8h de TP est le suivant : - initiation à l algorithmique - notions de bases

Plus en détail

La technologie Java Card TM

La technologie Java Card TM Présentation interne au CESTI La technologie Java Card TM sauveron@labri.u-bordeaux.fr http://dept-info.labri.u-bordeaux.fr/~sauveron 8 novembre 2002 Plan Qu est ce que Java Card? Historique Les avantages

Plus en détail

Bases Java - Eclipse / Netbeans

Bases Java - Eclipse / Netbeans Institut Galilée PDJ Année 2014-2015 Master 1 Environnements Java T.P. 1 Bases Java - Eclipse / Netbeans Il existe plusieurs environnements Java. Il est ESSENTIEL d utiliser la bonne version, et un environnement

Plus en détail

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr

Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Le Langage C Version 1.2 c 2002 Florence HENRY Observatoire de Paris Université de Versailles florence.henry@obspm.fr Table des matières 1 Les bases 3 2 Variables et constantes 5 3 Quelques fonctions indispensables

Plus en détail

Introduction à l algorithmique et à la programmation M1102 CM n 3

Introduction à l algorithmique et à la programmation M1102 CM n 3 Introduction à l algorithmique et à la programmation M1102 CM n 3 DUT Informatique 1 re année Eric REMY eric.remy@univ-amu.fr IUT d Aix-Marseille, site d Arles Version du 2 octobre 2013 E. Remy (IUT d

Plus en détail

Algorithmique et programmation : les bases (VBA) Corrigé

Algorithmique et programmation : les bases (VBA) Corrigé PAD INPT ALGORITHMIQUE ET PROGRAMMATION 1 Cours VBA, Semaine 1 mai juin 2006 Corrigé Résumé Ce document décrit l écriture dans le langage VBA des éléments vus en algorithmique. Table des matières 1 Pourquoi

Plus en détail

2. Comprendre les définitions de classes

2. Comprendre les définitions de classes Conception objet en Java avec BlueJ une approche interactive 2. Comprendre les définitions de classes Analyser le contenu des classes David J. Barnes, Michael Kölling version française: Patrice Moreaux

Plus en détail

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if Pierre Boudes 28 septembre 2011 This work is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike

Plus en détail

OCL - Object Constraint Language

OCL - Object Constraint Language OCL - Object Constraint Language Laëtitia Matignon laetitia.matignon@univ-lyon1.fr Département Informatique - Polytech Lyon Université Claude Bernard Lyon 1 2012-2013 Laëtitia Matignon SIMA - OCL - Object

Plus en détail

Initiation à la programmation en Python

Initiation à la programmation en Python I-Conventions Initiation à la programmation en Python Nom : Prénom : Une commande Python sera écrite en caractère gras. Exemples : print 'Bonjour' max=input("nombre maximum autorisé :") Le résultat de

Plus en détail

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application

Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application Université de Provence Licence Math-Info Première Année V. Phan Luong Algorithmique et Programmation en Python Cours 1 : Introduction Ordinateurs - Langages de haut niveau - Application 1 Ordinateur Un

Plus en détail

4. Groupement d objets

4. Groupement d objets Conception objet en Java avec BlueJ une approche interactive 4. Groupement d objets Collections et itérateurs David J. Barnes, Michael Kölling version française: Patrice Moreaux Rédigé avec 1.0 Principaux

Plus en détail

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004

Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004. Loc Jeudi 29/4/2004 Questionnaire d'examen final INF1101 Sigle du cours Nom : Signature : Prénom : Matricule : Sigle et titre du cours Groupe Trimestre INF1101 Algorithmes et structures de données Tous H2004 Professeur(s)

Plus en détail

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Machines virtuelles. Brique ASC. Samuel Tardieu sam@rfc1149.net. Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles Brique ASC Samuel Tardieu sam@rfc1149.net École Nationale Supérieure des Télécommunications Samuel Tardieu (ENST) Machines virtuelles 1 / 40 Machines virtuelles La compilation peut

Plus en détail

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige.

Java et les bases de données: JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java. Michel Bonjour http://cuiwww.unige. : JDBC: Java DataBase Connectivity SQLJ: Embedded SQL in Java Michel Bonjour http://cuiwww.unige.ch/~bonjour Plan JDBC: API bas niveau pour l accès aux BD (SQL) - Introduction - JDBC et : Java, ODBC, SQL

Plus en détail