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



Documents pareils
as Architecture des Systèmes d Information

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

Java Licence Professionnelle CISII,

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Programmer en JAVA. par Tama

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

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

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

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

Java Licence Professionnelle CISII,

Cours 1: Java et les objets

Langage Java. Classe de première SI

Introduction au langage C

TP1 : Initiation à Java et Eclipse

Initiation à JAVA et à la programmation objet.

Programmation en Java IUT GEII (MC-II1) 1

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

Conventions d écriture et outils de mise au point

INITIATION AU LANGAGE JAVA

PROGRAMMATION PAR OBJETS

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


Chapitre I Notions de base et outils de travail

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

La technologie Java Card TM

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

TP1. Outils Java Eléments de correction

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

Java c est quoi? Java pourquoi?

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

Bases Java - Eclipse / Netbeans

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

Une introduction à Java

INF 321 : mémento de la syntaxe de Java

Notions fondamentales du langage C# Version 1.0

Java - la plateforme

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Java Licence Professionnelle Cours 7 : Classes et méthodes abstraites

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

Environnements de développement (intégrés)

Corrigé des exercices sur les références

1. Langage de programmation Java

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

TP, première séquence d exercices.

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

Structurer ses données : les tableaux. Introduction à la programmation

Algorithmique et Programmation, IMA

Java c est quoi? Java. Java. Java : Principe de fonctionnement 31/01/ Vue générale 2 - Mon premier programme 3 - Types de Programme Java

Eclipse atelier Java

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

JAVA. Introduction à la programmation objet avec java 1/4. Nadir BOUSSOUKAIA

Anne Tasso. Java. Le livre de. premier langage. 6 e édition. Groupe Eyrolles, 2000, 2002, 2005, 2006, 2008, 2010, ISBN :

Annexe : La Programmation Informatique

Programmation Orientée Objets Le Langage JAVA

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)

Apprendre Java en 154 minutes

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

Introduction. Introduction au langage Java. Un livre de Wikilivres.

Traitement de données

Introduction au langage Java

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

Auto-évaluation Programmation en Java

Programmation Orientée Objet

Programme Compte bancaire (code)

Remote Method Invocation (RMI)

COMPARAISONDESLANGAGESC, C++, JAVA ET

Initiation à la Programmation Java

Java DataBaseConnectivity

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

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

ACTIVITÉ DE PROGRAMMATION

Chapitre 10. Les interfaces Comparable et Comparator 1

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

Introduction à Java. Philippe Genoud.

Bases du langage. Historique Applications et applets Éléments de base du langage Classes et objets Les exceptions

Utiliser Java sans BlueJ

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

Éléments de programmation et introduction à Java

Un ordonnanceur stupide

Cours de Java. Sciences-U Lyon. Java - Introduction Java - Fondamentaux Java Avancé.

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

Java Licence Professionnelle CISII, Cours 2 : Classes et Objets

Utilisation d objets : String et ArrayList

Informatique / Programmation

Prendre le marteau, le tableau, le mètre, le crayon, la ficelle, le clou, la pointe ;

Sélection du contrôleur

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éments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Programmeur Java 1.4 et 5.0

STAGE IREM 0- Premiers pas en Python

Programmation par les Objets en Java

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

Package Java.util Classe générique

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

Premiers Pas en Programmation Objet : les Classes et les Objets

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

Derrière toi Une machine virtuelle!

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

Programmation Orientée Objet Java

Solutions du chapitre 4

Transcription:

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 Plan du cours Notions de Génie Logiciel Introduction au langage Java Programmation Orientée Objet Notions complémentaires Quelques API standards Interface graphique en Java FX API pour la recherche d information Historique du langage http://www.oracle.com/technetwork/java/index.html Java 1.0 (1995) : Oak... Java 1.5.0 (2004) ou Java 5.0 : Tiger Java 1.6.0 (2006) ou Java 6 : Mustang Java 7 (2012) : Dolphin Java 8 (2014) Sous licence GPL depuis 2006! Sun est racheté par Oracle en 2010 Trois versions : JavaEE, JavaME et JavaSE Java Runtime Environment (JRE) et Java SDK (JDK) Nouveautés de Java 7 Améliorations de la machine virtuelle Petites améliorations du langage ex. : switch sur les chaînes (String), expressions litérales binaires (0b101000101), multi-catch (IOException SQLException) Support des langages dynamiques Nouveau package d accès aux données API de concurrence (framework Fork/Join) AWT/Swing (transparence, Nimbus )

Nouveautés de Java 8 Caractéristiques Programmation fonctionnelle avec les «lambdas» (paramètres) -> code Ajout de méthodes par défaut pour beaucoup d interfaces (permet par ex. l ajout d une méthode de tri direct pour les collections) Nouveaux packagex «java.util.function» et «java.util.stream» pour réaliser des opérations fonctionnelles sur des flux (en ligne ou parallèles) De nouvelles annotations (ex. @FunctionalInterface pour les interfaces dites «fonctionnelles») Gestion améliorée des dates et du temps Langage interprété (bytecode) WORA : Write Once Run Anywhere Code Pseudo compilateur javac Langage orienté objet Gestion des exceptions Garbage collector Byte-Code Machine virtuelle (JVM) java! haut niveau! portabilité Exécution! réutilisabilité! extensibilité! robustesse! intégrité Mon premier programme Dans le fichier Hello.java, écrire : public class Hello public static void main(string [] arg) System.out.print(" Hello world "); Ouvrir la ligne de commande (DOS, bash) Se placer dans le répertoire de travail (cd nom_repertoire) Tapez javac Hello.java (création du pseudo code) Puis java Hello (interprétation du pseudo code) Variables d environnement Sous Windows : Mise à jour du chemin de la JVM : set path=%path%;c:\program Files\Java\jdk1.5.0_06\bin Mise à jour du chemin de recherche des classes : set classpath=%classpath%;. Sous Linux ou MacOS (architecture UNIX) : Mise à jour du chemin de recherche des classes : export CLASSPATH=$CLASSPATH:.

Environnement NetBeans (1) Environnement NetBeans (2) Organisation du projet Code source Environnement NetBeans (3) Environnement NetBeans (4) Exécution (texte) du programme Quelques raccourcis TRES utiles : Ctrl + Shift/Cmd + i : import automatique Cmd + Shift + C : toggle comments Clic droit + Insert Code St + tab : String sout + tab : System.out.println ifelse : if (cond.) else

Types de données simples (1) Types de données simples (2) Entiers (1, 2, 3, ) : int Opérateurs : + - * / % (reste de la divistion) 5/2 = 2 et 5%2 = 1 Réels (2.4, 3.1416, ) : double Opérateurs : + - * / 5.0/2.0 = 2.5 Booléens (true, false) : boolean Opérateurs : && (and), (or),! (not)!true = false Note : pas de type simple pour les chaines de caractères Type Codage Domaine Char 2 octets caractère Unicode int 4 octets [-2 31, 2 31-1] long 8 octets [-2 63, 2 63-1] byte 1 octet [-27, 27-1] short 2 octets [-215, 215-1] float double 4 octets 8 octets [3.4 10-38, 3.4 10+38] en valeur absolue [1.7 10-308, 1.7 10+308] en valeur absolue boolean 1 bit true, false String référence d'objet chaîne de caractères Date référence d'objet date Caractères spéciaux Types de données simples (3) \ caractère d échappement pour introduire caractères spéciaux '\t' tabulation '\n' nouvelle ligne '\r' retour chariot retour arrière '\f' saut de page '\\' '\ ' '\" \u03a9 ( \u suivi du code hexadécimal à 4 chiffres d un caractère Unicode) Déclaration de variables : int i; Nom de la variable, représente un espace mémoire. Type de la variable, ce que peut contenir l espace mémoire. Affectation : i = 10; i = i + 1; int j = 11; Valeurs i i i 10 11

Types de données simples (4) Opérateurs de comparaison : <, <=, >, >=,!=, ==! ne pas confondre avec = boolean var_type_1 opérateur var_type_1 boolean b = (5<2); // b = false commentaire Opérateurs d entrées / sorties Sortie : System.out.print("Ecrit à l'écran"); System.out.println("Et passe à la ligne"); Entrée : System.in.read( ); Classe Lire (fichier Lire.java) : Lecture d un entier : Lire.i(); Lecture d un réel : Lire.d(); Enregistrer dans le même répertoire que votre programme. Structures de contrôle (1) Branchement conditionnel : Structures de contrôle (2) Exemple (saisie d information) : public class Saisie if (condition) else if (condition) instruction else instruction (facultatif) public static void main(string [] arg) System.out.println( Pause?"); int reponse = Lire.i(); if (reponse==1) System.out.println( Non, continuons."); else System.out.println( Oui, dans 1 heure.");

Structures de contrôle (3) Branchement multiple : Nouveauté Java 7 : String supportée switch (variable_énumérable) case valeur_1 : break; Ne pas oublier! case valeur_2 : break; default : Tous les autres cas Boucles indicées : L exécution est contrôlée par un indice nombre d itérations connu à l avance. Structures de contrôle (4) Exécuté 1 fois Exécuté à chaque fois for ( initialisation ; condition_de_boucle ; évolution ) ; Continue tant que condition = vrai for (indice=0; indice<30; indice++) System.out.println(indice); // réalisée 30 fois Structures de contrôle (5) Boucles conditionnelles : L exécution est contrôlée par une condition! nombre d itérations inconnu par avance. Continue tant que condition = vrai while ( condition ) ; (On peut ne pas rentrer) do ; while ( condition ) (On rentre au moins une fois) Fonctions et procédures (1) Problème : o Programme trop long o Copier/Coller Solution : Créer des blocs isolés réutilisables = fonctions et procédures public class nom_classe public static type_retour nom_fonction(type_param nom_param1, ) ; return valeur;

Fonctions et procédures (2) public class UneFonction public static double la_fonction(int param_1) System.out.println("Paramètre de la fonction: "+ param_1); return param_1*2; public static void main(string arg[]) System.out.println("Avant l'appel"); int pour_fonction = 23; int resultat_fct = la_fonction(pour_fonction); System.out.println("Résultat de la fonction: "+resultat_fct); Fonctions et procédures (3) Procédure : o Type retour vide! void o Pas d instruction return public static void main( ) Avant l appel Paramètre de la fonction: 23 Résultat de la fonction: 46 Déclaration : Tableaux (1) type[] nom_tableau; type nom_tableau []; Ex.: double[] t_d; Instanciation : nom_tableau = new type [taille]; Ex.: t_d = new double[4]; Accès aux cellules du tableau : o Ecriture : t_d[0] = 3.2; o Lecture : double d = t_d[0]; t_d t_d d 3.2 t_d t_d[0] 3.2 % t_d[3] Autres : o Instanciation à la volée : Tableaux (2) double t_d[] = 0.3,9.0,1.2,4.6 ; o Taille du tableau : t_d.length for (int i=0;i<t_d.length;i++) System.out.println("valeur case + i + ":" + t_d[i]);

Projet : une base d actualité Petite démonstration Objectif des TDs : Construire un système d information pour stocker et interroger des news Noyau du projet qui sera demandé pour l évaluation de cet enseignement Plusieurs étapes : TD1 : squelette du SI sans interface graphique TD2 : héritage, flux, manipulation de chaînes de caractères, ajout d une interface graphique TD3 : indexation des textes avec Lucene Plan du cours Notions de Génie Logiciel Introduction au langage Java Programmation Orientée Objet Notions complémentaires Quelques API standards Interface graphique en Java FX API pour la recherche d information