Éléments de programmation et introduction à Java



Documents pareils
Évaluation et implémentation des langages

Institut Supérieure Aux Etudes Technologiques De Nabeul. Département Informatique

Annexe : La Programmation Informatique

La technologie Java Card TM

Chapitre I Notions de base et outils de travail

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

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

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Java - la plateforme

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

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

CH.3 SYSTÈMES D'EXPLOITATION

Informatique & Systèmes de Communication. Stages de 12 à 16 semaines aux Etats-Unis

Plan du cours. Historique du langage Nouveautés de Java 7

Machines virtuelles. Brique ASC. Samuel Tardieu Samuel Tardieu (ENST) Machines virtuelles 1 / 40

Cours 1 : La compilation

Programmation Web. Madalina Croitoru IUT Montpellier

Architectures web/bases de données

Vulgarisation Java EE Java EE, c est quoi?

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 20/06/2007. AUTEUR : Equipe technique Syfadis

Une tasse de café fumante est

L informatique en BCPST

as Architecture des Systèmes d Information

ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

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

Plate formes mobiles. Utilisation. Contexte 9/29/2010 IFC 2. Deux utilisations assez distinctes :

Machines virtuelles Cours 1 : Introduction

Solution A La Gestion Des Objets Java Pour Des Systèmes Embarqués

les techniques d'extraction, les formulaires et intégration dans un site WEB

LANGAGUE JAVA. Public Développeurs souhaitant étendre leur panel de langages de programmation

CQP 112 Introduc/on à la programma/on. Thème 2 : Architecture d un système informa/que. Département d informa/que

Java Licence Professionnelle CISII,

Visual Paradigm Contraintes inter-associations

Préparation à l examen EFA en Macro

3W Academy Programme de Formation Développeur Intégrateur web Total : 400 heures

Rebol, un langage «différent»

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

Les Langages Informatiques

Introduction à l informatique en BCPST

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

La dernière base de données de Teradata franchit le cap du big data grâce à sa technologie avancée

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Remise à niveau d un programme JAVA du domaine public

emuseum PUBLIEZ VOS COLLECTIONS SUR INTERNET Pourquoi choisir emuseum? Intégration facile avec TMS Puissante fonction de recherche

et de suivi de la corpulence des enfants

Burckel Thomas. Formation. Compétences

Introduction à la conception de systèmes d information

Chapitre 2 : Abstraction et Virtualisation

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Bases Java - Eclipse / Netbeans

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Devenez un véritable développeur web en 3 mois!

Chapitre 1 Qu est-ce qu une expression régulière?

Initiation à JAVA et à la programmation objet.

Systèmes en réseau : Linux 1ère partie : Introduction

Projet de développement. Introduction à Eclipse. Application à votre projet. Philippe Collet. Organisation. Cours 1 : principes généraux - svn

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

Etude d architecture de consolidation et virtualisation

ANALYSTE PROGRAMMEUR DIPLÔME D ÉTABLISSEMENT

1 L évolution de l informatique

Cours 1 : Qu est-ce que la programmation?

10 tâches d administration simplifiées grâce à Windows Server 2008 R2. 1. Migration des systèmes virtuels sans interruption de service

M Études et développement informatique

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

I.1- DÉFINITIONS ET NOTIONS DE BASE

Éléments d'architecture des ordinateurs

Syfadis. > Configuration du poste client. Nous vous aidons à réussir. REFERENCE : Syfadis LMS - 12/09/2008. AUTEUR : Equipe technique Syfadis

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

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

CAHIER DES CHARGES D IMPLANTATION

Formation et diplômes en Electronique et en Informatique

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

Les outils de dessin. Sweet Home 3D 1 EAI NEWS

Programme «Analyste Programmeur» Diplôme d état : «Développeur Informatique» Homologué au niveau III (Bac+2) (JO N 176 du 1 août 2003) (34 semaines)

Informatique UE 102. Jean-Yves Antoine. Architecture des ordinateurs et Algorithmique de base. UFR Sciences et Techniques Licence S&T 1ère année

Situation présente et devis technique

Projet de développement

TO4T Technologie des ordinateurs. Séance 1 Introduction aux technologies des ordinateurs

M Études et développement informatique

Mathcad Ces capacités font de Mathcad l outil de calcul technique le plus utilisé au monde.

Cahier des charges (CDC)

Programmation d'applications sur PDA

Paul FLYE SAINTE MARIE

Présentation du Framework BootstrapTwitter

Qu est-ce que ArcGIS?

Programmeur Java 1.4 et 5.0

HISTORIQUE DES SYSTEMES D'EXPLOITATION (S.E.)

THÉMATIQUES. Comprendre les frameworks productifs. Découvrir leurs usages. Synthèse

Panorama des solutions analytiques existantes

Loïc Rossignol Ingénieur Consultant

Java et les bases de données

Optimisation de logiciels de modélisation sur centre de calcul

Configuration requise pour l utilisation de la plateforme EnlightKS Online Certification Management Services ET2.13 Juin 2011

DUT. Informatique, orientation Imagerie Numérique. Domaine : Sciences, Technologies, Santé. Mention : Informatique

Chimie et physique informatiques

Transcription:

Éléments de programmation et introduction à Java Jean-Baptiste Vioix (jean-baptiste.vioix@iut-dijon.u-bourgogne.fr) IUT de Dijon-Auxerre - LE2I http://jb.vioix.free.fr 1-20

Les différents langages informatiques Repères historiques Une brève histoire de l informatique L évolution du matériel 1941 : Konrad Zuse conçoit le Z3, premier ordinateur programmable réalisé à partir de relais électromécanique (f = 5,33 Hz / puissance = 20 Flops). 2nde guerre mondiale : Colossus et l ENIAC utilisent des tubes à vide pour casser les codes de la machine Enigma. 1947 : J. Bardeen, W. Shockley et W. Brattain inventent le transistor. 1971 : Intel lance le processeur 4004 (f = 740 khz ). 1978-1979 : Intel lance les 8086 et 8088, puis IBM lance le PC (f = 4,77 MHz) en 1981... L évolution de la programmation vers 1840 : Ada Lovelace écrit le premier programme pour la machine de Babbage. 1942-1946 : Konrad Zuse élabore Plankalkül de manière théorique. 1952 : Grace M. Hopper developpe le compilateur A0 1954 : FORTRAN conçu chez IBM est le premier langage de programmation complet (variables nommées, expressions complexes, sous programmes). 2006 : plus de 2500 langages inventoriés, environ 50 très utilisés. http://jb.vioix.free.fr 2-20

Les différents langages informatiques Repères historiques Une brève histoire de l informatique L évolution du matériel 1941 : Konrad Zuse conçoit le Z3, premier ordinateur programmable réalisé à partir de relais électromécanique (f = 5,33 Hz / puissance = 20 Flops). 2nde guerre mondiale : Colossus et l ENIAC utilisent des tubes à vide pour casser les codes de la machine Enigma. 1947 : J. Bardeen, W. Shockley et W. Brattain inventent le transistor. 1971 : Intel lance le processeur 4004 (f = 740 khz ). 1978-1979 : Intel lance les 8086 et 8088, puis IBM lance le PC (f = 4,77 MHz) en 1981... L évolution de la programmation vers 1840 : Ada Lovelace écrit le premier programme pour la machine de Babbage. 1942-1946 : Konrad Zuse élabore Plankalkül de manière théorique. 1952 : Grace M. Hopper developpe le compilateur A0 1954 : FORTRAN conçu chez IBM est le premier langage de programmation complet (variables nommées, expressions complexes, sous programmes). 2006 : plus de 2500 langages inventoriés, environ 50 très utilisés. http://jb.vioix.free.fr 2-20

Les différents langages informatiques Repères historiques Une brève histoire de l informatique L évolution du matériel 1941 : Konrad Zuse conçoit le Z3, premier ordinateur programmable réalisé à partir de relais électromécanique (f = 5,33 Hz / puissance = 20 Flops). 2nde guerre mondiale : Colossus et l ENIAC utilisent des tubes à vide pour casser les codes de la machine Enigma. 1947 : J. Bardeen, W. Shockley et W. Brattain inventent le transistor. 1971 : Intel lance le processeur 4004 (f = 740 khz ). 1978-1979 : Intel lance les 8086 et 8088, puis IBM lance le PC (f = 4,77 MHz) en 1981... L évolution de la programmation vers 1840 : Ada Lovelace écrit le premier programme pour la machine de Babbage. 1942-1946 : Konrad Zuse élabore Plankalkül de manière théorique. 1952 : Grace M. Hopper developpe le compilateur A0 1954 : FORTRAN conçu chez IBM est le premier langage de programmation complet (variables nommées, expressions complexes, sous programmes). 2006 : plus de 2500 langages inventoriés, environ 50 très utilisés. http://jb.vioix.free.fr 2-20

Les différents langages informatiques Repères historiques Une brève histoire de l informatique L évolution du matériel 1941 : Konrad Zuse conçoit le Z3, premier ordinateur programmable réalisé à partir de relais électromécanique (f = 5,33 Hz / puissance = 20 Flops). 2nde guerre mondiale : Colossus et l ENIAC utilisent des tubes à vide pour casser les codes de la machine Enigma. 1947 : J. Bardeen, W. Shockley et W. Brattain inventent le transistor. 1971 : Intel lance le processeur 4004 (f = 740 khz ). 1978-1979 : Intel lance les 8086 et 8088, puis IBM lance le PC (f = 4,77 MHz) en 1981... L évolution de la programmation vers 1840 : Ada Lovelace écrit le premier programme pour la machine de Babbage. 1942-1946 : Konrad Zuse élabore Plankalkül de manière théorique. 1952 : Grace M. Hopper developpe le compilateur A0 1954 : FORTRAN conçu chez IBM est le premier langage de programmation complet (variables nommées, expressions complexes, sous programmes). 2006 : plus de 2500 langages inventoriés, environ 50 très utilisés. http://jb.vioix.free.fr 2-20

Les différents langages informatiques Repères historiques Une brève histoire de l informatique L évolution du matériel 1941 : Konrad Zuse conçoit le Z3, premier ordinateur programmable réalisé à partir de relais électromécanique (f = 5,33 Hz / puissance = 20 Flops). 2nde guerre mondiale : Colossus et l ENIAC utilisent des tubes à vide pour casser les codes de la machine Enigma. 1947 : J. Bardeen, W. Shockley et W. Brattain inventent le transistor. 1971 : Intel lance le processeur 4004 (f = 740 khz ). 1978-1979 : Intel lance les 8086 et 8088, puis IBM lance le PC (f = 4,77 MHz) en 1981... L évolution de la programmation vers 1840 : Ada Lovelace écrit le premier programme pour la machine de Babbage. 1942-1946 : Konrad Zuse élabore Plankalkül de manière théorique. 1952 : Grace M. Hopper developpe le compilateur A0 1954 : FORTRAN conçu chez IBM est le premier langage de programmation complet (variables nommées, expressions complexes, sous programmes). 2006 : plus de 2500 langages inventoriés, environ 50 très utilisés. http://jb.vioix.free.fr 2-20

Les différents langages informatiques Repères historiques Une brève histoire de l informatique L évolution du matériel 1941 : Konrad Zuse conçoit le Z3, premier ordinateur programmable réalisé à partir de relais électromécanique (f = 5,33 Hz / puissance = 20 Flops). 2nde guerre mondiale : Colossus et l ENIAC utilisent des tubes à vide pour casser les codes de la machine Enigma. 1947 : J. Bardeen, W. Shockley et W. Brattain inventent le transistor. 1971 : Intel lance le processeur 4004 (f = 740 khz ). 1978-1979 : Intel lance les 8086 et 8088, puis IBM lance le PC (f = 4,77 MHz) en 1981... L évolution de la programmation vers 1840 : Ada Lovelace écrit le premier programme pour la machine de Babbage. 1942-1946 : Konrad Zuse élabore Plankalkül de manière théorique. 1952 : Grace M. Hopper developpe le compilateur A0 1954 : FORTRAN conçu chez IBM est le premier langage de programmation complet (variables nommées, expressions complexes, sous programmes). 2006 : plus de 2500 langages inventoriés, environ 50 très utilisés. http://jb.vioix.free.fr 2-20

Les différents langages informatiques Repères historiques Une brève histoire de l informatique L évolution du matériel 1941 : Konrad Zuse conçoit le Z3, premier ordinateur programmable réalisé à partir de relais électromécanique (f = 5,33 Hz / puissance = 20 Flops). 2nde guerre mondiale : Colossus et l ENIAC utilisent des tubes à vide pour casser les codes de la machine Enigma. 1947 : J. Bardeen, W. Shockley et W. Brattain inventent le transistor. 1971 : Intel lance le processeur 4004 (f = 740 khz ). 1978-1979 : Intel lance les 8086 et 8088, puis IBM lance le PC (f = 4,77 MHz) en 1981... L évolution de la programmation vers 1840 : Ada Lovelace écrit le premier programme pour la machine de Babbage. 1942-1946 : Konrad Zuse élabore Plankalkül de manière théorique. 1952 : Grace M. Hopper developpe le compilateur A0 1954 : FORTRAN conçu chez IBM est le premier langage de programmation complet (variables nommées, expressions complexes, sous programmes). 2006 : plus de 2500 langages inventoriés, environ 50 très utilisés. http://jb.vioix.free.fr 2-20

Les différents langages informatiques Repères historiques Une brève histoire de l informatique L évolution du matériel 1941 : Konrad Zuse conçoit le Z3, premier ordinateur programmable réalisé à partir de relais électromécanique (f = 5,33 Hz / puissance = 20 Flops). 2nde guerre mondiale : Colossus et l ENIAC utilisent des tubes à vide pour casser les codes de la machine Enigma. 1947 : J. Bardeen, W. Shockley et W. Brattain inventent le transistor. 1971 : Intel lance le processeur 4004 (f = 740 khz ). 1978-1979 : Intel lance les 8086 et 8088, puis IBM lance le PC (f = 4,77 MHz) en 1981... L évolution de la programmation vers 1840 : Ada Lovelace écrit le premier programme pour la machine de Babbage. 1942-1946 : Konrad Zuse élabore Plankalkül de manière théorique. 1952 : Grace M. Hopper developpe le compilateur A0 1954 : FORTRAN conçu chez IBM est le premier langage de programmation complet (variables nommées, expressions complexes, sous programmes). 2006 : plus de 2500 langages inventoriés, environ 50 très utilisés. http://jb.vioix.free.fr 2-20

Les différents langages informatiques Repères historiques Une brève histoire de l informatique L évolution du matériel 1941 : Konrad Zuse conçoit le Z3, premier ordinateur programmable réalisé à partir de relais électromécanique (f = 5,33 Hz / puissance = 20 Flops). 2nde guerre mondiale : Colossus et l ENIAC utilisent des tubes à vide pour casser les codes de la machine Enigma. 1947 : J. Bardeen, W. Shockley et W. Brattain inventent le transistor. 1971 : Intel lance le processeur 4004 (f = 740 khz ). 1978-1979 : Intel lance les 8086 et 8088, puis IBM lance le PC (f = 4,77 MHz) en 1981... L évolution de la programmation vers 1840 : Ada Lovelace écrit le premier programme pour la machine de Babbage. 1942-1946 : Konrad Zuse élabore Plankalkül de manière théorique. 1952 : Grace M. Hopper developpe le compilateur A0 1954 : FORTRAN conçu chez IBM est le premier langage de programmation complet (variables nommées, expressions complexes, sous programmes). 2006 : plus de 2500 langages inventoriés, environ 50 très utilisés. http://jb.vioix.free.fr 2-20

Les différents langages informatiques Repères historiques Une brève histoire de l informatique L évolution du matériel 1941 : Konrad Zuse conçoit le Z3, premier ordinateur programmable réalisé à partir de relais électromécanique (f = 5,33 Hz / puissance = 20 Flops). 2nde guerre mondiale : Colossus et l ENIAC utilisent des tubes à vide pour casser les codes de la machine Enigma. 1947 : J. Bardeen, W. Shockley et W. Brattain inventent le transistor. 1971 : Intel lance le processeur 4004 (f = 740 khz ). 1978-1979 : Intel lance les 8086 et 8088, puis IBM lance le PC (f = 4,77 MHz) en 1981... L évolution de la programmation vers 1840 : Ada Lovelace écrit le premier programme pour la machine de Babbage. 1942-1946 : Konrad Zuse élabore Plankalkül de manière théorique. 1952 : Grace M. Hopper developpe le compilateur A0 1954 : FORTRAN conçu chez IBM est le premier langage de programmation complet (variables nommées, expressions complexes, sous programmes). 2006 : plus de 2500 langages inventoriés, environ 50 très utilisés. http://jb.vioix.free.fr 2-20

Les différents langages informatiques Langages informatique Les langages informatiques Langages de programmation La majorité des tâches informatiques font appels à des langages de programmation. Le but est d automatiser des tâches, résoudre des problèmes, interagir avec l utilisateur,... Langages pour des applications particulières Mise en forme de données : HTML, XHTML, CSS, Latex, wiki,... Définition de données : XML (SVG, OpenDocument, MathML,...) Accès aux bases de données : SQL VHDL, VRML, Matlab, Lilypond, machines à commande numériques,... http://jb.vioix.free.fr 3-20

Les différents langages informatiques Langages informatique Les langages informatiques Langages de programmation La majorité des tâches informatiques font appels à des langages de programmation. Le but est d automatiser des tâches, résoudre des problèmes, interagir avec l utilisateur,... Langages pour des applications particulières Mise en forme de données : HTML, XHTML, CSS, Latex, wiki,... Définition de données : XML (SVG, OpenDocument, MathML,...) Accès aux bases de données : SQL VHDL, VRML, Matlab, Lilypond, machines à commande numériques,... http://jb.vioix.free.fr 3-20

Les différents langages informatiques Langages informatique Les langages informatiques Langages de programmation La majorité des tâches informatiques font appels à des langages de programmation. Le but est d automatiser des tâches, résoudre des problèmes, interagir avec l utilisateur,... Langages pour des applications particulières Mise en forme de données : HTML, XHTML, CSS, Latex, wiki,... Définition de données : XML (SVG, OpenDocument, MathML,...) Accès aux bases de données : SQL VHDL, VRML, Matlab, Lilypond, machines à commande numériques,... http://jb.vioix.free.fr 3-20

Les différents langages informatiques Langages informatique Les langages informatiques Langages de programmation La majorité des tâches informatiques font appels à des langages de programmation. Le but est d automatiser des tâches, résoudre des problèmes, interagir avec l utilisateur,... Langages pour des applications particulières Mise en forme de données : HTML, XHTML, CSS, Latex, wiki,... Définition de données : XML (SVG, OpenDocument, MathML,...) Accès aux bases de données : SQL VHDL, VRML, Matlab, Lilypond, machines à commande numériques,... http://jb.vioix.free.fr 3-20

Les différents langages informatiques Langages informatique Les langages informatiques Langages de programmation La majorité des tâches informatiques font appels à des langages de programmation. Le but est d automatiser des tâches, résoudre des problèmes, interagir avec l utilisateur,... Langages pour des applications particulières Mise en forme de données : HTML, XHTML, CSS, Latex, wiki,... Définition de données : XML (SVG, OpenDocument, MathML,...) Accès aux bases de données : SQL VHDL, VRML, Matlab, Lilypond, machines à commande numériques,... http://jb.vioix.free.fr 3-20

Les différents langages informatiques Langages informatique Les langages informatiques Langages de programmation La majorité des tâches informatiques font appels à des langages de programmation. Le but est d automatiser des tâches, résoudre des problèmes, interagir avec l utilisateur,... Langages pour des applications particulières Mise en forme de données : HTML, XHTML, CSS, Latex, wiki,... Définition de données : XML (SVG, OpenDocument, MathML,...) Accès aux bases de données : SQL VHDL, VRML, Matlab, Lilypond, machines à commande numériques,... http://jb.vioix.free.fr 3-20

Les différents langages informatiques Langages impératifs Les langages impératifs Présentation des langages impératifs Historiquement, ce sont les premiers langages dont le but était de faciliter l écriture des programmes. Les instructions se regroupent en 4 types : Manipulation de la mémoire : assignation, lecture et opérations arithmétiques. Branchements sans condition (déplacement dans la mémoire programme) Branchements conditionnels (permettent d effectuer un saut si une condition est vérifiée). Boucles inconditionnelles (nombre de répétitions fixe) ou conditionnelles (sur un test). Ces instructions sont proche du code machine, la compilation est très simple. Quelques langages impératifs Par principes tous les assembleurs sont des langages impératifs. Les langages les plus anciens sont souvent des langages impératifs : C, Pascal, FORTRAN,... De nombreux langages modernes supportent la programmation impérative : Java, Perl, Python,... http://jb.vioix.free.fr 4-20

Les différents langages informatiques Langages impératifs Les langages impératifs Présentation des langages impératifs Historiquement, ce sont les premiers langages dont le but était de faciliter l écriture des programmes. Les instructions se regroupent en 4 types : Manipulation de la mémoire : assignation, lecture et opérations arithmétiques. Branchements sans condition (déplacement dans la mémoire programme) Branchements conditionnels (permettent d effectuer un saut si une condition est vérifiée). Boucles inconditionnelles (nombre de répétitions fixe) ou conditionnelles (sur un test). Ces instructions sont proche du code machine, la compilation est très simple. Quelques langages impératifs Par principes tous les assembleurs sont des langages impératifs. Les langages les plus anciens sont souvent des langages impératifs : C, Pascal, FORTRAN,... De nombreux langages modernes supportent la programmation impérative : Java, Perl, Python,... http://jb.vioix.free.fr 4-20

Les différents langages informatiques Langages impératifs Les langages impératifs Présentation des langages impératifs Historiquement, ce sont les premiers langages dont le but était de faciliter l écriture des programmes. Les instructions se regroupent en 4 types : Manipulation de la mémoire : assignation, lecture et opérations arithmétiques. Branchements sans condition (déplacement dans la mémoire programme) Branchements conditionnels (permettent d effectuer un saut si une condition est vérifiée). Boucles inconditionnelles (nombre de répétitions fixe) ou conditionnelles (sur un test). Ces instructions sont proche du code machine, la compilation est très simple. Quelques langages impératifs Par principes tous les assembleurs sont des langages impératifs. Les langages les plus anciens sont souvent des langages impératifs : C, Pascal, FORTRAN,... De nombreux langages modernes supportent la programmation impérative : Java, Perl, Python,... http://jb.vioix.free.fr 4-20

Les différents langages informatiques Langages impératifs Les langages impératifs Présentation des langages impératifs Historiquement, ce sont les premiers langages dont le but était de faciliter l écriture des programmes. Les instructions se regroupent en 4 types : Manipulation de la mémoire : assignation, lecture et opérations arithmétiques. Branchements sans condition (déplacement dans la mémoire programme) Branchements conditionnels (permettent d effectuer un saut si une condition est vérifiée). Boucles inconditionnelles (nombre de répétitions fixe) ou conditionnelles (sur un test). Ces instructions sont proche du code machine, la compilation est très simple. Quelques langages impératifs Par principes tous les assembleurs sont des langages impératifs. Les langages les plus anciens sont souvent des langages impératifs : C, Pascal, FORTRAN,... De nombreux langages modernes supportent la programmation impérative : Java, Perl, Python,... http://jb.vioix.free.fr 4-20

Les différents langages informatiques Langages impératifs Les langages impératifs Présentation des langages impératifs Historiquement, ce sont les premiers langages dont le but était de faciliter l écriture des programmes. Les instructions se regroupent en 4 types : Manipulation de la mémoire : assignation, lecture et opérations arithmétiques. Branchements sans condition (déplacement dans la mémoire programme) Branchements conditionnels (permettent d effectuer un saut si une condition est vérifiée). Boucles inconditionnelles (nombre de répétitions fixe) ou conditionnelles (sur un test). Ces instructions sont proche du code machine, la compilation est très simple. Quelques langages impératifs Par principes tous les assembleurs sont des langages impératifs. Les langages les plus anciens sont souvent des langages impératifs : C, Pascal, FORTRAN,... De nombreux langages modernes supportent la programmation impérative : Java, Perl, Python,... http://jb.vioix.free.fr 4-20

Les différents langages informatiques Langages impératifs Les langages impératifs Présentation des langages impératifs Historiquement, ce sont les premiers langages dont le but était de faciliter l écriture des programmes. Les instructions se regroupent en 4 types : Manipulation de la mémoire : assignation, lecture et opérations arithmétiques. Branchements sans condition (déplacement dans la mémoire programme) Branchements conditionnels (permettent d effectuer un saut si une condition est vérifiée). Boucles inconditionnelles (nombre de répétitions fixe) ou conditionnelles (sur un test). Ces instructions sont proche du code machine, la compilation est très simple. Quelques langages impératifs Par principes tous les assembleurs sont des langages impératifs. Les langages les plus anciens sont souvent des langages impératifs : C, Pascal, FORTRAN,... De nombreux langages modernes supportent la programmation impérative : Java, Perl, Python,... http://jb.vioix.free.fr 4-20

Les différents langages informatiques Langages impératifs Les langages impératifs Présentation des langages impératifs Historiquement, ce sont les premiers langages dont le but était de faciliter l écriture des programmes. Les instructions se regroupent en 4 types : Manipulation de la mémoire : assignation, lecture et opérations arithmétiques. Branchements sans condition (déplacement dans la mémoire programme) Branchements conditionnels (permettent d effectuer un saut si une condition est vérifiée). Boucles inconditionnelles (nombre de répétitions fixe) ou conditionnelles (sur un test). Ces instructions sont proche du code machine, la compilation est très simple. Quelques langages impératifs Par principes tous les assembleurs sont des langages impératifs. Les langages les plus anciens sont souvent des langages impératifs : C, Pascal, FORTRAN,... De nombreux langages modernes supportent la programmation impérative : Java, Perl, Python,... http://jb.vioix.free.fr 4-20

Les différents langages informatiques Langages impératifs Les langages impératifs Présentation des langages impératifs Historiquement, ce sont les premiers langages dont le but était de faciliter l écriture des programmes. Les instructions se regroupent en 4 types : Manipulation de la mémoire : assignation, lecture et opérations arithmétiques. Branchements sans condition (déplacement dans la mémoire programme) Branchements conditionnels (permettent d effectuer un saut si une condition est vérifiée). Boucles inconditionnelles (nombre de répétitions fixe) ou conditionnelles (sur un test). Ces instructions sont proche du code machine, la compilation est très simple. Quelques langages impératifs Par principes tous les assembleurs sont des langages impératifs. Les langages les plus anciens sont souvent des langages impératifs : C, Pascal, FORTRAN,... De nombreux langages modernes supportent la programmation impérative : Java, Perl, Python,... http://jb.vioix.free.fr 4-20

Les différents langages informatiques Langages impératifs Les langages impératifs Présentation des langages impératifs Historiquement, ce sont les premiers langages dont le but était de faciliter l écriture des programmes. Les instructions se regroupent en 4 types : Manipulation de la mémoire : assignation, lecture et opérations arithmétiques. Branchements sans condition (déplacement dans la mémoire programme) Branchements conditionnels (permettent d effectuer un saut si une condition est vérifiée). Boucles inconditionnelles (nombre de répétitions fixe) ou conditionnelles (sur un test). Ces instructions sont proche du code machine, la compilation est très simple. Quelques langages impératifs Par principes tous les assembleurs sont des langages impératifs. Les langages les plus anciens sont souvent des langages impératifs : C, Pascal, FORTRAN,... De nombreux langages modernes supportent la programmation impérative : Java, Perl, Python,... http://jb.vioix.free.fr 4-20

Les différents langages informatiques Langages impératifs Les langages impératifs Présentation des langages impératifs Historiquement, ce sont les premiers langages dont le but était de faciliter l écriture des programmes. Les instructions se regroupent en 4 types : Manipulation de la mémoire : assignation, lecture et opérations arithmétiques. Branchements sans condition (déplacement dans la mémoire programme) Branchements conditionnels (permettent d effectuer un saut si une condition est vérifiée). Boucles inconditionnelles (nombre de répétitions fixe) ou conditionnelles (sur un test). Ces instructions sont proche du code machine, la compilation est très simple. Quelques langages impératifs Par principes tous les assembleurs sont des langages impératifs. Les langages les plus anciens sont souvent des langages impératifs : C, Pascal, FORTRAN,... De nombreux langages modernes supportent la programmation impérative : Java, Perl, Python,... http://jb.vioix.free.fr 4-20

Les différents langages informatiques Langages fonctionnels Langages fonctionnels Présentation des langages fonctionnels La gestion de la mémoire est l élément critique de la programmation impérative. La programmation fonctionnelle propose une approche très différente de la mémoire, aucune affectation n est prévue. Un programme est une application (au sens mathématique), un chaînage de fonctions simples. Quelques langages fonctionnels Les principaux langages fonctionnels sont Lisp et Scheme (présent, par exemple, dans Gimp pour la programmation de plugins). La bibliothèque Guile présente dans Gnome permet d incorporer Scheme dans n importe qu elle application (GnuCash, Lilypond,...). http://jb.vioix.free.fr 5-20

Les différents langages informatiques Langages fonctionnels Langages fonctionnels Présentation des langages fonctionnels La gestion de la mémoire est l élément critique de la programmation impérative. La programmation fonctionnelle propose une approche très différente de la mémoire, aucune affectation n est prévue. Un programme est une application (au sens mathématique), un chaînage de fonctions simples. Quelques langages fonctionnels Les principaux langages fonctionnels sont Lisp et Scheme (présent, par exemple, dans Gimp pour la programmation de plugins). La bibliothèque Guile présente dans Gnome permet d incorporer Scheme dans n importe qu elle application (GnuCash, Lilypond,...). http://jb.vioix.free.fr 5-20

Les différents langages informatiques Langages fonctionnels Langages fonctionnels Présentation des langages fonctionnels La gestion de la mémoire est l élément critique de la programmation impérative. La programmation fonctionnelle propose une approche très différente de la mémoire, aucune affectation n est prévue. Un programme est une application (au sens mathématique), un chaînage de fonctions simples. Quelques langages fonctionnels Les principaux langages fonctionnels sont Lisp et Scheme (présent, par exemple, dans Gimp pour la programmation de plugins). La bibliothèque Guile présente dans Gnome permet d incorporer Scheme dans n importe qu elle application (GnuCash, Lilypond,...). http://jb.vioix.free.fr 5-20

Les différents langages informatiques Langages fonctionnels Langages fonctionnels Présentation des langages fonctionnels La gestion de la mémoire est l élément critique de la programmation impérative. La programmation fonctionnelle propose une approche très différente de la mémoire, aucune affectation n est prévue. Un programme est une application (au sens mathématique), un chaînage de fonctions simples. Quelques langages fonctionnels Les principaux langages fonctionnels sont Lisp et Scheme (présent, par exemple, dans Gimp pour la programmation de plugins). La bibliothèque Guile présente dans Gnome permet d incorporer Scheme dans n importe qu elle application (GnuCash, Lilypond,...). http://jb.vioix.free.fr 5-20

Les différents langages informatiques Langages fonctionnels Langages fonctionnels Présentation des langages fonctionnels La gestion de la mémoire est l élément critique de la programmation impérative. La programmation fonctionnelle propose une approche très différente de la mémoire, aucune affectation n est prévue. Un programme est une application (au sens mathématique), un chaînage de fonctions simples. Quelques langages fonctionnels Les principaux langages fonctionnels sont Lisp et Scheme (présent, par exemple, dans Gimp pour la programmation de plugins). La bibliothèque Guile présente dans Gnome permet d incorporer Scheme dans n importe qu elle application (GnuCash, Lilypond,...). http://jb.vioix.free.fr 5-20

Les différents langages informatiques Langages déclaratifs Langages déclaratifs Présentation des langages déclaratifs Les programmations fonctionnelles et impératives s intéressent à l écriture de la solution d un problème. La programmation déclarative est basée sur la description des éléments et des besoins (le cas échéant). Quelques langages déclaratifs Prolog permet la programmation par contraintes de manière déclarative (on spécifie le problème et ses contraintes, non pas la méthode pour résoudre). Les langages comme XML et ses dérivés sont considérés comme déclaratifs. http://jb.vioix.free.fr 6-20

Les différents langages informatiques Langages déclaratifs Langages déclaratifs Présentation des langages déclaratifs Les programmations fonctionnelles et impératives s intéressent à l écriture de la solution d un problème. La programmation déclarative est basée sur la description des éléments et des besoins (le cas échéant). Quelques langages déclaratifs Prolog permet la programmation par contraintes de manière déclarative (on spécifie le problème et ses contraintes, non pas la méthode pour résoudre). Les langages comme XML et ses dérivés sont considérés comme déclaratifs. http://jb.vioix.free.fr 6-20

Les différents langages informatiques Langages déclaratifs Langages déclaratifs Présentation des langages déclaratifs Les programmations fonctionnelles et impératives s intéressent à l écriture de la solution d un problème. La programmation déclarative est basée sur la description des éléments et des besoins (le cas échéant). Quelques langages déclaratifs Prolog permet la programmation par contraintes de manière déclarative (on spécifie le problème et ses contraintes, non pas la méthode pour résoudre). Les langages comme XML et ses dérivés sont considérés comme déclaratifs. http://jb.vioix.free.fr 6-20

Les différents langages informatiques Langages déclaratifs Langages déclaratifs Présentation des langages déclaratifs Les programmations fonctionnelles et impératives s intéressent à l écriture de la solution d un problème. La programmation déclarative est basée sur la description des éléments et des besoins (le cas échéant). Quelques langages déclaratifs Prolog permet la programmation par contraintes de manière déclarative (on spécifie le problème et ses contraintes, non pas la méthode pour résoudre). Les langages comme XML et ses dérivés sont considérés comme déclaratifs. http://jb.vioix.free.fr 6-20

Les différents langages informatiques Langages orientés objet Langages orientés objet Présentation des langages orienté objet Un des paradigme de programmation le plus utilisée et la programmation orienté objet. Un programme est composé de briques logicielles, les objets qui contiennent des données et des méthodes pour communiquer avec les autres objets. Les objets peuvent être ensuite combinés, modifiés,...pour obtenir un comportement spécifique. La POO (Programmation Orienté Objet) permet une forte réutilisation du code et une modélisation (UML) aisée des problèmes informatiques. Quelques langages orientés objet La majorité des langages actuels supporte la POO, souvent en complément de la programmation impérative. Des langages comme Ruby, Smalltalk sont fondamentalement orientés objet. http://jb.vioix.free.fr 7-20

Les différents langages informatiques Langages orientés objet Langages orientés objet Présentation des langages orienté objet Un des paradigme de programmation le plus utilisée et la programmation orienté objet. Un programme est composé de briques logicielles, les objets qui contiennent des données et des méthodes pour communiquer avec les autres objets. Les objets peuvent être ensuite combinés, modifiés,...pour obtenir un comportement spécifique. La POO (Programmation Orienté Objet) permet une forte réutilisation du code et une modélisation (UML) aisée des problèmes informatiques. Quelques langages orientés objet La majorité des langages actuels supporte la POO, souvent en complément de la programmation impérative. Des langages comme Ruby, Smalltalk sont fondamentalement orientés objet. http://jb.vioix.free.fr 7-20

Les différents langages informatiques Langages orientés objet Langages orientés objet Présentation des langages orienté objet Un des paradigme de programmation le plus utilisée et la programmation orienté objet. Un programme est composé de briques logicielles, les objets qui contiennent des données et des méthodes pour communiquer avec les autres objets. Les objets peuvent être ensuite combinés, modifiés,...pour obtenir un comportement spécifique. La POO (Programmation Orienté Objet) permet une forte réutilisation du code et une modélisation (UML) aisée des problèmes informatiques. Quelques langages orientés objet La majorité des langages actuels supporte la POO, souvent en complément de la programmation impérative. Des langages comme Ruby, Smalltalk sont fondamentalement orientés objet. http://jb.vioix.free.fr 7-20

Les différents langages informatiques Langages orientés objet Langages orientés objet Présentation des langages orienté objet Un des paradigme de programmation le plus utilisée et la programmation orienté objet. Un programme est composé de briques logicielles, les objets qui contiennent des données et des méthodes pour communiquer avec les autres objets. Les objets peuvent être ensuite combinés, modifiés,...pour obtenir un comportement spécifique. La POO (Programmation Orienté Objet) permet une forte réutilisation du code et une modélisation (UML) aisée des problèmes informatiques. Quelques langages orientés objet La majorité des langages actuels supporte la POO, souvent en complément de la programmation impérative. Des langages comme Ruby, Smalltalk sont fondamentalement orientés objet. http://jb.vioix.free.fr 7-20

Les différents langages informatiques Langages orientés objet Langages orientés objet Présentation des langages orienté objet Un des paradigme de programmation le plus utilisée et la programmation orienté objet. Un programme est composé de briques logicielles, les objets qui contiennent des données et des méthodes pour communiquer avec les autres objets. Les objets peuvent être ensuite combinés, modifiés,...pour obtenir un comportement spécifique. La POO (Programmation Orienté Objet) permet une forte réutilisation du code et une modélisation (UML) aisée des problèmes informatiques. Quelques langages orientés objet La majorité des langages actuels supporte la POO, souvent en complément de la programmation impérative. Des langages comme Ruby, Smalltalk sont fondamentalement orientés objet. http://jb.vioix.free.fr 7-20

Les différents langages informatiques Langages orientés objet Langages orientés objet Présentation des langages orienté objet Un des paradigme de programmation le plus utilisée et la programmation orienté objet. Un programme est composé de briques logicielles, les objets qui contiennent des données et des méthodes pour communiquer avec les autres objets. Les objets peuvent être ensuite combinés, modifiés,...pour obtenir un comportement spécifique. La POO (Programmation Orienté Objet) permet une forte réutilisation du code et une modélisation (UML) aisée des problèmes informatiques. Quelques langages orientés objet La majorité des langages actuels supporte la POO, souvent en complément de la programmation impérative. Des langages comme Ruby, Smalltalk sont fondamentalement orientés objet. http://jb.vioix.free.fr 7-20

Les différents langages informatiques Compilés/interprétés Langages compilés vs. langages interprétés Langages compilés : C, C++, Fortan,... Les instructions sont traduites en langage machine par un compilateur qui optimise le code (espace mémoire, vitesse,...). Le code obtenu ne peut être exécuté que sur une machine compatible. Langages interprétés : BASIC, ECMAScript (Javascript,...), bash,... Les instructions sont converties à la volée lors de l exécution du programme, d où une vitesse moindre. Les langages interprétés sont indépendant de la plate-forme d exécution (en théorie...). Langage semi-interprété : Perl, Python, Ruby,... Certains langages interprétés utilisent une représentation intermédiaire entre la source et le code machine pour optimiser le programme. Cette approche permet d utiliser des langages interprétés avec des vitesses d exécution proches des langages compilées. http://jb.vioix.free.fr 8-20

Les différents langages informatiques Compilés/interprétés Langages compilés vs. langages interprétés Langages compilés : C, C++, Fortan,... Les instructions sont traduites en langage machine par un compilateur qui optimise le code (espace mémoire, vitesse,...). Le code obtenu ne peut être exécuté que sur une machine compatible. Langages interprétés : BASIC, ECMAScript (Javascript,...), bash,... Les instructions sont converties à la volée lors de l exécution du programme, d où une vitesse moindre. Les langages interprétés sont indépendant de la plate-forme d exécution (en théorie...). Langage semi-interprété : Perl, Python, Ruby,... Certains langages interprétés utilisent une représentation intermédiaire entre la source et le code machine pour optimiser le programme. Cette approche permet d utiliser des langages interprétés avec des vitesses d exécution proches des langages compilées. http://jb.vioix.free.fr 8-20

Les différents langages informatiques Compilés/interprétés Langages compilés vs. langages interprétés Langages compilés : C, C++, Fortan,... Les instructions sont traduites en langage machine par un compilateur qui optimise le code (espace mémoire, vitesse,...). Le code obtenu ne peut être exécuté que sur une machine compatible. Langages interprétés : BASIC, ECMAScript (Javascript,...), bash,... Les instructions sont converties à la volée lors de l exécution du programme, d où une vitesse moindre. Les langages interprétés sont indépendant de la plate-forme d exécution (en théorie...). Langage semi-interprété : Perl, Python, Ruby,... Certains langages interprétés utilisent une représentation intermédiaire entre la source et le code machine pour optimiser le programme. Cette approche permet d utiliser des langages interprétés avec des vitesses d exécution proches des langages compilées. http://jb.vioix.free.fr 8-20

Les différents langages informatiques Compilés/interprétés Langages compilés vs. langages interprétés Langages compilés : C, C++, Fortan,... Les instructions sont traduites en langage machine par un compilateur qui optimise le code (espace mémoire, vitesse,...). Le code obtenu ne peut être exécuté que sur une machine compatible. Langages interprétés : BASIC, ECMAScript (Javascript,...), bash,... Les instructions sont converties à la volée lors de l exécution du programme, d où une vitesse moindre. Les langages interprétés sont indépendant de la plate-forme d exécution (en théorie...). Langage semi-interprété : Perl, Python, Ruby,... Certains langages interprétés utilisent une représentation intermédiaire entre la source et le code machine pour optimiser le programme. Cette approche permet d utiliser des langages interprétés avec des vitesses d exécution proches des langages compilées. http://jb.vioix.free.fr 8-20

Les différents langages informatiques Compilés/interprétés Langages compilés vs. langages interprétés Langages compilés : C, C++, Fortan,... Les instructions sont traduites en langage machine par un compilateur qui optimise le code (espace mémoire, vitesse,...). Le code obtenu ne peut être exécuté que sur une machine compatible. Langages interprétés : BASIC, ECMAScript (Javascript,...), bash,... Les instructions sont converties à la volée lors de l exécution du programme, d où une vitesse moindre. Les langages interprétés sont indépendant de la plate-forme d exécution (en théorie...). Langage semi-interprété : Perl, Python, Ruby,... Certains langages interprétés utilisent une représentation intermédiaire entre la source et le code machine pour optimiser le programme. Cette approche permet d utiliser des langages interprétés avec des vitesses d exécution proches des langages compilées. http://jb.vioix.free.fr 8-20

Les différents langages informatiques Compilés/interprétés Langages compilés vs. langages interprétés Langages compilés : C, C++, Fortan,... Les instructions sont traduites en langage machine par un compilateur qui optimise le code (espace mémoire, vitesse,...). Le code obtenu ne peut être exécuté que sur une machine compatible. Langages interprétés : BASIC, ECMAScript (Javascript,...), bash,... Les instructions sont converties à la volée lors de l exécution du programme, d où une vitesse moindre. Les langages interprétés sont indépendant de la plate-forme d exécution (en théorie...). Langage semi-interprété : Perl, Python, Ruby,... Certains langages interprétés utilisent une représentation intermédiaire entre la source et le code machine pour optimiser le programme. Cette approche permet d utiliser des langages interprétés avec des vitesses d exécution proches des langages compilées. http://jb.vioix.free.fr 8-20

Les différents langages informatiques Machine virtuelle Machines virtuelles Principe des machines virtuelles Afin de pouvoir exécuter du code compilé sur plusieurs plate-formes, certains langage utilisent des machines virtuelles. Le code est compilé pour une machine virtuelle, un logiciel se comportant comme un système informatique. Seule la machine virtuelle change d un système à l autre assurant ainsi la compatibilité du code. Les machines virtuelles récentes proposent la compilation à la volée, conduisant ainsi à une exécution rapide du code. Exemples de machines virtuelles Java propose la machine virtuelle JVM (Java Virtual Machine) pour exécuter les programmes. L environement.net de Microsoft utilise la machine virtuelle CLI. Perl 6 utilisera la machine Parrot,... http://jb.vioix.free.fr 9-20

Les différents langages informatiques Machine virtuelle Machines virtuelles Principe des machines virtuelles Afin de pouvoir exécuter du code compilé sur plusieurs plate-formes, certains langage utilisent des machines virtuelles. Le code est compilé pour une machine virtuelle, un logiciel se comportant comme un système informatique. Seule la machine virtuelle change d un système à l autre assurant ainsi la compatibilité du code. Les machines virtuelles récentes proposent la compilation à la volée, conduisant ainsi à une exécution rapide du code. Exemples de machines virtuelles Java propose la machine virtuelle JVM (Java Virtual Machine) pour exécuter les programmes. L environement.net de Microsoft utilise la machine virtuelle CLI. Perl 6 utilisera la machine Parrot,... http://jb.vioix.free.fr 9-20

Les différents langages informatiques Machine virtuelle Machines virtuelles Principe des machines virtuelles Afin de pouvoir exécuter du code compilé sur plusieurs plate-formes, certains langage utilisent des machines virtuelles. Le code est compilé pour une machine virtuelle, un logiciel se comportant comme un système informatique. Seule la machine virtuelle change d un système à l autre assurant ainsi la compatibilité du code. Les machines virtuelles récentes proposent la compilation à la volée, conduisant ainsi à une exécution rapide du code. Exemples de machines virtuelles Java propose la machine virtuelle JVM (Java Virtual Machine) pour exécuter les programmes. L environement.net de Microsoft utilise la machine virtuelle CLI. Perl 6 utilisera la machine Parrot,... http://jb.vioix.free.fr 9-20

Les différents langages informatiques Machine virtuelle Machines virtuelles Principe des machines virtuelles Afin de pouvoir exécuter du code compilé sur plusieurs plate-formes, certains langage utilisent des machines virtuelles. Le code est compilé pour une machine virtuelle, un logiciel se comportant comme un système informatique. Seule la machine virtuelle change d un système à l autre assurant ainsi la compatibilité du code. Les machines virtuelles récentes proposent la compilation à la volée, conduisant ainsi à une exécution rapide du code. Exemples de machines virtuelles Java propose la machine virtuelle JVM (Java Virtual Machine) pour exécuter les programmes. L environement.net de Microsoft utilise la machine virtuelle CLI. Perl 6 utilisera la machine Parrot,... http://jb.vioix.free.fr 9-20

Les différents langages informatiques Machine virtuelle Machines virtuelles Principe des machines virtuelles Afin de pouvoir exécuter du code compilé sur plusieurs plate-formes, certains langage utilisent des machines virtuelles. Le code est compilé pour une machine virtuelle, un logiciel se comportant comme un système informatique. Seule la machine virtuelle change d un système à l autre assurant ainsi la compatibilité du code. Les machines virtuelles récentes proposent la compilation à la volée, conduisant ainsi à une exécution rapide du code. Exemples de machines virtuelles Java propose la machine virtuelle JVM (Java Virtual Machine) pour exécuter les programmes. L environement.net de Microsoft utilise la machine virtuelle CLI. Perl 6 utilisera la machine Parrot,... http://jb.vioix.free.fr 9-20

Les différents langages informatiques Machine virtuelle Machines virtuelles Principe des machines virtuelles Afin de pouvoir exécuter du code compilé sur plusieurs plate-formes, certains langage utilisent des machines virtuelles. Le code est compilé pour une machine virtuelle, un logiciel se comportant comme un système informatique. Seule la machine virtuelle change d un système à l autre assurant ainsi la compatibilité du code. Les machines virtuelles récentes proposent la compilation à la volée, conduisant ainsi à une exécution rapide du code. Exemples de machines virtuelles Java propose la machine virtuelle JVM (Java Virtual Machine) pour exécuter les programmes. L environement.net de Microsoft utilise la machine virtuelle CLI. Perl 6 utilisera la machine Parrot,... http://jb.vioix.free.fr 9-20

Les différents langages informatiques Machine virtuelle Machines virtuelles Principe des machines virtuelles Afin de pouvoir exécuter du code compilé sur plusieurs plate-formes, certains langage utilisent des machines virtuelles. Le code est compilé pour une machine virtuelle, un logiciel se comportant comme un système informatique. Seule la machine virtuelle change d un système à l autre assurant ainsi la compatibilité du code. Les machines virtuelles récentes proposent la compilation à la volée, conduisant ainsi à une exécution rapide du code. Exemples de machines virtuelles Java propose la machine virtuelle JVM (Java Virtual Machine) pour exécuter les programmes. L environement.net de Microsoft utilise la machine virtuelle CLI. Perl 6 utilisera la machine Parrot,... http://jb.vioix.free.fr 9-20

Presentation Présentation du langage Java Historique du langage Java Java est lancé par Sun Microsystems en 1995. L idée était de créer un langage multi-plateformes ( Write once, run anywhere ). Java propose dès sa première version une forte orientation réseaux (connexions faciles, applet,...) La lenteur des premières version ainsi que des démêlés judiciaires ont ralenti le développement de Java. Présent et futur de Java Java est devenu un logiciel libre (licence GPL) en novembre 2006. Java est présent sur toutes les plate-formes informatiques grand public (Windows, MacOS, Linux,...). La compilation just-in-time rend les application suffisamment rapide pour ne pas léser l utilisateur. http://jb.vioix.free.fr 10-20

Presentation Présentation du langage Java Historique du langage Java Java est lancé par Sun Microsystems en 1995. L idée était de créer un langage multi-plateformes ( Write once, run anywhere ). Java propose dès sa première version une forte orientation réseaux (connexions faciles, applet,...) La lenteur des premières version ainsi que des démêlés judiciaires ont ralenti le développement de Java. Présent et futur de Java Java est devenu un logiciel libre (licence GPL) en novembre 2006. Java est présent sur toutes les plate-formes informatiques grand public (Windows, MacOS, Linux,...). La compilation just-in-time rend les application suffisamment rapide pour ne pas léser l utilisateur. http://jb.vioix.free.fr 10-20

Presentation Présentation du langage Java Historique du langage Java Java est lancé par Sun Microsystems en 1995. L idée était de créer un langage multi-plateformes ( Write once, run anywhere ). Java propose dès sa première version une forte orientation réseaux (connexions faciles, applet,...) La lenteur des premières version ainsi que des démêlés judiciaires ont ralenti le développement de Java. Présent et futur de Java Java est devenu un logiciel libre (licence GPL) en novembre 2006. Java est présent sur toutes les plate-formes informatiques grand public (Windows, MacOS, Linux,...). La compilation just-in-time rend les application suffisamment rapide pour ne pas léser l utilisateur. http://jb.vioix.free.fr 10-20

Presentation Présentation du langage Java Historique du langage Java Java est lancé par Sun Microsystems en 1995. L idée était de créer un langage multi-plateformes ( Write once, run anywhere ). Java propose dès sa première version une forte orientation réseaux (connexions faciles, applet,...) La lenteur des premières version ainsi que des démêlés judiciaires ont ralenti le développement de Java. Présent et futur de Java Java est devenu un logiciel libre (licence GPL) en novembre 2006. Java est présent sur toutes les plate-formes informatiques grand public (Windows, MacOS, Linux,...). La compilation just-in-time rend les application suffisamment rapide pour ne pas léser l utilisateur. http://jb.vioix.free.fr 10-20

Presentation Présentation du langage Java Historique du langage Java Java est lancé par Sun Microsystems en 1995. L idée était de créer un langage multi-plateformes ( Write once, run anywhere ). Java propose dès sa première version une forte orientation réseaux (connexions faciles, applet,...) La lenteur des premières version ainsi que des démêlés judiciaires ont ralenti le développement de Java. Présent et futur de Java Java est devenu un logiciel libre (licence GPL) en novembre 2006. Java est présent sur toutes les plate-formes informatiques grand public (Windows, MacOS, Linux,...). La compilation just-in-time rend les application suffisamment rapide pour ne pas léser l utilisateur. http://jb.vioix.free.fr 10-20

Presentation Présentation du langage Java Historique du langage Java Java est lancé par Sun Microsystems en 1995. L idée était de créer un langage multi-plateformes ( Write once, run anywhere ). Java propose dès sa première version une forte orientation réseaux (connexions faciles, applet,...) La lenteur des premières version ainsi que des démêlés judiciaires ont ralenti le développement de Java. Présent et futur de Java Java est devenu un logiciel libre (licence GPL) en novembre 2006. Java est présent sur toutes les plate-formes informatiques grand public (Windows, MacOS, Linux,...). La compilation just-in-time rend les application suffisamment rapide pour ne pas léser l utilisateur. http://jb.vioix.free.fr 10-20

Presentation Présentation du langage Java Historique du langage Java Java est lancé par Sun Microsystems en 1995. L idée était de créer un langage multi-plateformes ( Write once, run anywhere ). Java propose dès sa première version une forte orientation réseaux (connexions faciles, applet,...) La lenteur des premières version ainsi que des démêlés judiciaires ont ralenti le développement de Java. Présent et futur de Java Java est devenu un logiciel libre (licence GPL) en novembre 2006. Java est présent sur toutes les plate-formes informatiques grand public (Windows, MacOS, Linux,...). La compilation just-in-time rend les application suffisamment rapide pour ne pas léser l utilisateur. http://jb.vioix.free.fr 10-20

Presentation Avantages du langage Java Points forts de Java pour le programmeur Java est un langage sécurisé dès la conception (et jusqu à l exécution). La syntaxe de java est simple et agréable (pas d opérateurs surchargés, pas de préprocesseur,...) Gestion automatique de la mémoire (absence de pointeurs remplacés par des références, ramasse-miettes) Utilisation facile des exceptions, des threads,... API très riche, plusieurs milliers de classes. J2ME (Java 2 Micro Edition) est embarqué dans de nombreux téléphones portables et PDA. Points forts de Java pour l utilisateur Les applications Java sont totalement compatibles entre les différentes plate-formes. Les mêmes fonctionnalités sont disponibles quelque soit le système d exploitation. L exécution des programmes se fait dans un environnement sécurisé. Elle sécurise l exécution des programmes. http://jb.vioix.free.fr 11-20

Presentation Avantages du langage Java Points forts de Java pour le programmeur Java est un langage sécurisé dès la conception (et jusqu à l exécution). La syntaxe de java est simple et agréable (pas d opérateurs surchargés, pas de préprocesseur,...) Gestion automatique de la mémoire (absence de pointeurs remplacés par des références, ramasse-miettes) Utilisation facile des exceptions, des threads,... API très riche, plusieurs milliers de classes. J2ME (Java 2 Micro Edition) est embarqué dans de nombreux téléphones portables et PDA. Points forts de Java pour l utilisateur Les applications Java sont totalement compatibles entre les différentes plate-formes. Les mêmes fonctionnalités sont disponibles quelque soit le système d exploitation. L exécution des programmes se fait dans un environnement sécurisé. Elle sécurise l exécution des programmes. http://jb.vioix.free.fr 11-20

Presentation Avantages du langage Java Points forts de Java pour le programmeur Java est un langage sécurisé dès la conception (et jusqu à l exécution). La syntaxe de java est simple et agréable (pas d opérateurs surchargés, pas de préprocesseur,...) Gestion automatique de la mémoire (absence de pointeurs remplacés par des références, ramasse-miettes) Utilisation facile des exceptions, des threads,... API très riche, plusieurs milliers de classes. J2ME (Java 2 Micro Edition) est embarqué dans de nombreux téléphones portables et PDA. Points forts de Java pour l utilisateur Les applications Java sont totalement compatibles entre les différentes plate-formes. Les mêmes fonctionnalités sont disponibles quelque soit le système d exploitation. L exécution des programmes se fait dans un environnement sécurisé. Elle sécurise l exécution des programmes. http://jb.vioix.free.fr 11-20

Presentation Avantages du langage Java Points forts de Java pour le programmeur Java est un langage sécurisé dès la conception (et jusqu à l exécution). La syntaxe de java est simple et agréable (pas d opérateurs surchargés, pas de préprocesseur,...) Gestion automatique de la mémoire (absence de pointeurs remplacés par des références, ramasse-miettes) Utilisation facile des exceptions, des threads,... API très riche, plusieurs milliers de classes. J2ME (Java 2 Micro Edition) est embarqué dans de nombreux téléphones portables et PDA. Points forts de Java pour l utilisateur Les applications Java sont totalement compatibles entre les différentes plate-formes. Les mêmes fonctionnalités sont disponibles quelque soit le système d exploitation. L exécution des programmes se fait dans un environnement sécurisé. Elle sécurise l exécution des programmes. http://jb.vioix.free.fr 11-20

Presentation Avantages du langage Java Points forts de Java pour le programmeur Java est un langage sécurisé dès la conception (et jusqu à l exécution). La syntaxe de java est simple et agréable (pas d opérateurs surchargés, pas de préprocesseur,...) Gestion automatique de la mémoire (absence de pointeurs remplacés par des références, ramasse-miettes) Utilisation facile des exceptions, des threads,... API très riche, plusieurs milliers de classes. J2ME (Java 2 Micro Edition) est embarqué dans de nombreux téléphones portables et PDA. Points forts de Java pour l utilisateur Les applications Java sont totalement compatibles entre les différentes plate-formes. Les mêmes fonctionnalités sont disponibles quelque soit le système d exploitation. L exécution des programmes se fait dans un environnement sécurisé. Elle sécurise l exécution des programmes. http://jb.vioix.free.fr 11-20

Presentation Avantages du langage Java Points forts de Java pour le programmeur Java est un langage sécurisé dès la conception (et jusqu à l exécution). La syntaxe de java est simple et agréable (pas d opérateurs surchargés, pas de préprocesseur,...) Gestion automatique de la mémoire (absence de pointeurs remplacés par des références, ramasse-miettes) Utilisation facile des exceptions, des threads,... API très riche, plusieurs milliers de classes. J2ME (Java 2 Micro Edition) est embarqué dans de nombreux téléphones portables et PDA. Points forts de Java pour l utilisateur Les applications Java sont totalement compatibles entre les différentes plate-formes. Les mêmes fonctionnalités sont disponibles quelque soit le système d exploitation. L exécution des programmes se fait dans un environnement sécurisé. Elle sécurise l exécution des programmes. http://jb.vioix.free.fr 11-20

Presentation Avantages du langage Java Points forts de Java pour le programmeur Java est un langage sécurisé dès la conception (et jusqu à l exécution). La syntaxe de java est simple et agréable (pas d opérateurs surchargés, pas de préprocesseur,...) Gestion automatique de la mémoire (absence de pointeurs remplacés par des références, ramasse-miettes) Utilisation facile des exceptions, des threads,... API très riche, plusieurs milliers de classes. J2ME (Java 2 Micro Edition) est embarqué dans de nombreux téléphones portables et PDA. Points forts de Java pour l utilisateur Les applications Java sont totalement compatibles entre les différentes plate-formes. Les mêmes fonctionnalités sont disponibles quelque soit le système d exploitation. L exécution des programmes se fait dans un environnement sécurisé. Elle sécurise l exécution des programmes. http://jb.vioix.free.fr 11-20

Presentation Avantages du langage Java Points forts de Java pour le programmeur Java est un langage sécurisé dès la conception (et jusqu à l exécution). La syntaxe de java est simple et agréable (pas d opérateurs surchargés, pas de préprocesseur,...) Gestion automatique de la mémoire (absence de pointeurs remplacés par des références, ramasse-miettes) Utilisation facile des exceptions, des threads,... API très riche, plusieurs milliers de classes. J2ME (Java 2 Micro Edition) est embarqué dans de nombreux téléphones portables et PDA. Points forts de Java pour l utilisateur Les applications Java sont totalement compatibles entre les différentes plate-formes. Les mêmes fonctionnalités sont disponibles quelque soit le système d exploitation. L exécution des programmes se fait dans un environnement sécurisé. Elle sécurise l exécution des programmes. http://jb.vioix.free.fr 11-20

Presentation Avantages du langage Java Points forts de Java pour le programmeur Java est un langage sécurisé dès la conception (et jusqu à l exécution). La syntaxe de java est simple et agréable (pas d opérateurs surchargés, pas de préprocesseur,...) Gestion automatique de la mémoire (absence de pointeurs remplacés par des références, ramasse-miettes) Utilisation facile des exceptions, des threads,... API très riche, plusieurs milliers de classes. J2ME (Java 2 Micro Edition) est embarqué dans de nombreux téléphones portables et PDA. Points forts de Java pour l utilisateur Les applications Java sont totalement compatibles entre les différentes plate-formes. Les mêmes fonctionnalités sont disponibles quelque soit le système d exploitation. L exécution des programmes se fait dans un environnement sécurisé. Elle sécurise l exécution des programmes. http://jb.vioix.free.fr 11-20

Presentation Avantages du langage Java Points forts de Java pour le programmeur Java est un langage sécurisé dès la conception (et jusqu à l exécution). La syntaxe de java est simple et agréable (pas d opérateurs surchargés, pas de préprocesseur,...) Gestion automatique de la mémoire (absence de pointeurs remplacés par des références, ramasse-miettes) Utilisation facile des exceptions, des threads,... API très riche, plusieurs milliers de classes. J2ME (Java 2 Micro Edition) est embarqué dans de nombreux téléphones portables et PDA. Points forts de Java pour l utilisateur Les applications Java sont totalement compatibles entre les différentes plate-formes. Les mêmes fonctionnalités sont disponibles quelque soit le système d exploitation. L exécution des programmes se fait dans un environnement sécurisé. Elle sécurise l exécution des programmes. http://jb.vioix.free.fr 11-20

Utilisation de java,javac Généralités Création, compilation et exécution Le fichier source est un fichier texte sauvegardé avec l extension.java Il est compilé en byte code avec l utilitaire javac, un fichier avec l extension.class est obtenu. Ce dernier fichier peut être distribué, s il est exécutable, on utilisera l utilitaire java. Dans un premier temps, seuls les éléments indépendant de la programmation orientée objet seront présentés. Elements en commun avec C (C++,...) Les instructions sont terminées par un point virgule; Les blocs d instructions sont matérialisés par des accolades { et } Le langage est sensible à la casse (majuscule/minuscule). http://jb.vioix.free.fr 12-20

Utilisation de java,javac Généralités Création, compilation et exécution Le fichier source est un fichier texte sauvegardé avec l extension.java Il est compilé en byte code avec l utilitaire javac, un fichier avec l extension.class est obtenu. Ce dernier fichier peut être distribué, s il est exécutable, on utilisera l utilitaire java. Dans un premier temps, seuls les éléments indépendant de la programmation orientée objet seront présentés. Elements en commun avec C (C++,...) Les instructions sont terminées par un point virgule; Les blocs d instructions sont matérialisés par des accolades { et } Le langage est sensible à la casse (majuscule/minuscule). http://jb.vioix.free.fr 12-20

Utilisation de java,javac Généralités Création, compilation et exécution Le fichier source est un fichier texte sauvegardé avec l extension.java Il est compilé en byte code avec l utilitaire javac, un fichier avec l extension.class est obtenu. Ce dernier fichier peut être distribué, s il est exécutable, on utilisera l utilitaire java. Dans un premier temps, seuls les éléments indépendant de la programmation orientée objet seront présentés. Elements en commun avec C (C++,...) Les instructions sont terminées par un point virgule; Les blocs d instructions sont matérialisés par des accolades { et } Le langage est sensible à la casse (majuscule/minuscule). http://jb.vioix.free.fr 12-20

Utilisation de java,javac Généralités Création, compilation et exécution Le fichier source est un fichier texte sauvegardé avec l extension.java Il est compilé en byte code avec l utilitaire javac, un fichier avec l extension.class est obtenu. Ce dernier fichier peut être distribué, s il est exécutable, on utilisera l utilitaire java. Dans un premier temps, seuls les éléments indépendant de la programmation orientée objet seront présentés. Elements en commun avec C (C++,...) Les instructions sont terminées par un point virgule; Les blocs d instructions sont matérialisés par des accolades { et } Le langage est sensible à la casse (majuscule/minuscule). http://jb.vioix.free.fr 12-20

Utilisation de java,javac Généralités Création, compilation et exécution Le fichier source est un fichier texte sauvegardé avec l extension.java Il est compilé en byte code avec l utilitaire javac, un fichier avec l extension.class est obtenu. Ce dernier fichier peut être distribué, s il est exécutable, on utilisera l utilitaire java. Dans un premier temps, seuls les éléments indépendant de la programmation orientée objet seront présentés. Elements en commun avec C (C++,...) Les instructions sont terminées par un point virgule; Les blocs d instructions sont matérialisés par des accolades { et } Le langage est sensible à la casse (majuscule/minuscule). http://jb.vioix.free.fr 12-20

Utilisation de java,javac Généralités Création, compilation et exécution Le fichier source est un fichier texte sauvegardé avec l extension.java Il est compilé en byte code avec l utilitaire javac, un fichier avec l extension.class est obtenu. Ce dernier fichier peut être distribué, s il est exécutable, on utilisera l utilitaire java. Dans un premier temps, seuls les éléments indépendant de la programmation orientée objet seront présentés. Elements en commun avec C (C++,...) Les instructions sont terminées par un point virgule; Les blocs d instructions sont matérialisés par des accolades { et } Le langage est sensible à la casse (majuscule/minuscule). http://jb.vioix.free.fr 12-20

Utilisation de java,javac Généralités Création, compilation et exécution Le fichier source est un fichier texte sauvegardé avec l extension.java Il est compilé en byte code avec l utilitaire javac, un fichier avec l extension.class est obtenu. Ce dernier fichier peut être distribué, s il est exécutable, on utilisera l utilitaire java. Dans un premier temps, seuls les éléments indépendant de la programmation orientée objet seront présentés. Elements en commun avec C (C++,...) Les instructions sont terminées par un point virgule; Les blocs d instructions sont matérialisés par des accolades { et } Le langage est sensible à la casse (majuscule/minuscule). http://jb.vioix.free.fr 12-20

Variables Les variables Syntaxe En java les variables contiennent une valeur d un type primitif (entier, flottant,...). Les variables peuvent aussi référencer un objet. En peuvent être créées n importe où dans le programme avec la syntaxe type nom_de_la_variable. Visibilité Le compilateur veille à l initialisation des variables avant leur utilisation. Une variable est visible dans son bloc et dans tous les blocs inclus. Un bloc contenu ne peut pas avoir une variable ayant le même nom qu une présente dans le bloc contenant :...{ int a;... { int a; // Erreur!... }... } http://jb.vioix.free.fr 13-20

Variables Les variables Syntaxe En java les variables contiennent une valeur d un type primitif (entier, flottant,...). Les variables peuvent aussi référencer un objet. En peuvent être créées n importe où dans le programme avec la syntaxe type nom_de_la_variable. Visibilité Le compilateur veille à l initialisation des variables avant leur utilisation. Une variable est visible dans son bloc et dans tous les blocs inclus. Un bloc contenu ne peut pas avoir une variable ayant le même nom qu une présente dans le bloc contenant :...{ int a;... { int a; // Erreur!... }... } http://jb.vioix.free.fr 13-20

Variables Les variables Syntaxe En java les variables contiennent une valeur d un type primitif (entier, flottant,...). Les variables peuvent aussi référencer un objet. En peuvent être créées n importe où dans le programme avec la syntaxe type nom_de_la_variable. Visibilité Le compilateur veille à l initialisation des variables avant leur utilisation. Une variable est visible dans son bloc et dans tous les blocs inclus. Un bloc contenu ne peut pas avoir une variable ayant le même nom qu une présente dans le bloc contenant :...{ int a;... { int a; // Erreur!... }... } http://jb.vioix.free.fr 13-20

Variables Les variables Syntaxe En java les variables contiennent une valeur d un type primitif (entier, flottant,...). Les variables peuvent aussi référencer un objet. En peuvent être créées n importe où dans le programme avec la syntaxe type nom_de_la_variable. Visibilité Le compilateur veille à l initialisation des variables avant leur utilisation. Une variable est visible dans son bloc et dans tous les blocs inclus. Un bloc contenu ne peut pas avoir une variable ayant le même nom qu une présente dans le bloc contenant :...{ int a;... { int a; // Erreur!... }... } http://jb.vioix.free.fr 13-20

Variables Les variables Syntaxe En java les variables contiennent une valeur d un type primitif (entier, flottant,...). Les variables peuvent aussi référencer un objet. En peuvent être créées n importe où dans le programme avec la syntaxe type nom_de_la_variable. Visibilité Le compilateur veille à l initialisation des variables avant leur utilisation. Une variable est visible dans son bloc et dans tous les blocs inclus. Un bloc contenu ne peut pas avoir une variable ayant le même nom qu une présente dans le bloc contenant :...{ int a;... { int a; // Erreur!... }... } http://jb.vioix.free.fr 13-20

Variables Les variables Syntaxe En java les variables contiennent une valeur d un type primitif (entier, flottant,...). Les variables peuvent aussi référencer un objet. En peuvent être créées n importe où dans le programme avec la syntaxe type nom_de_la_variable. Visibilité Le compilateur veille à l initialisation des variables avant leur utilisation. Une variable est visible dans son bloc et dans tous les blocs inclus. Un bloc contenu ne peut pas avoir une variable ayant le même nom qu une présente dans le bloc contenant :...{ int a;... { int a; // Erreur!... }... } http://jb.vioix.free.fr 13-20

Variables Types de base en Java Les types primitifs Compléments Type Description boolean Booléen (true ou false) char Un caractère (unicode 16 bits) byte Entier de 8 bits short Entier de 16 bits int Entier de 32 bits long Entier de 64 bits float Flottant de 32 bits au format IEEE 754 double Flottant de 64 bits au format IEEE 754 La capacité des types primitifs est invariante ; elle ne dépend pas du matériel sur lequel le code java est exécuté (puisque l on utilise une machine virtuelle). Les types primitifs ne sont pas des objets ; des classes équivalents au types primitifs existent en cas de besoin (par ex. Integer pour les int). Pour le calcul scientifique, les classes BigInteger et BigDecimal sont disponible dans l API standard. http://jb.vioix.free.fr 14-20

Variables Les principaux opérateurs Tableau synthétique Priorité (1 la plus forte) Symbole Type(s) d opérande(s) Description 1 ++,-- Numérique Pré ou post incrémentation, décrémentation 1 (int),(double),... Tous(y compris objets) Transtypage (casting) 2 *,/,% Numériques Multiplication, division, modulo (reste) 3 +,- Numériques Addition, multiplication 5 <,>,<=,=> Numériques Comparaisons 5 instanceof Objet Comparaison de type 6 ==,!= Types primitifs Egalité et inégalité de valeur 6 ==,!= Objet Egalité et inégalité de référence 7 & Numériques ou booléen ET logique 8 ^ Numériques ou booléen OU exclusif logique 9 Numériques ou booléen OU logique 10 && Booléen ET conditionnel 11 Booléen OU conditionnel 12? : N/A Opérateur de comparaison ternaire 13 = Tous Affectation 13 +=,*=,... Tous Affectation avec opération Exemples... int a; a=3; int a=3; b=c*3 + 2;... http://jb.vioix.free.fr 15-20

Variables Les principaux opérateurs Tableau synthétique Priorité (1 la plus forte) Symbole Type(s) d opérande(s) Description 1 ++,-- Numérique Pré ou post incrémentation, décrémentation 1 (int),(double),... Tous(y compris objets) Transtypage (casting) 2 *,/,% Numériques Multiplication, division, modulo (reste) 3 +,- Numériques Addition, multiplication 5 <,>,<=,=> Numériques Comparaisons 5 instanceof Objet Comparaison de type 6 ==,!= Types primitifs Egalité et inégalité de valeur 6 ==,!= Objet Egalité et inégalité de référence 7 & Numériques ou booléen ET logique 8 ^ Numériques ou booléen OU exclusif logique 9 Numériques ou booléen OU logique 10 && Booléen ET conditionnel 11 Booléen OU conditionnel 12? : N/A Opérateur de comparaison ternaire 13 = Tous Affectation 13 +=,*=,... Tous Affectation avec opération Exemples... int a; a=3; int a=3; b=c*3 + 2;... http://jb.vioix.free.fr 15-20

Variables Les principaux opérateurs Tableau synthétique Priorité (1 la plus forte) Symbole Type(s) d opérande(s) Description 1 ++,-- Numérique Pré ou post incrémentation, décrémentation 1 (int),(double),... Tous(y compris objets) Transtypage (casting) 2 *,/,% Numériques Multiplication, division, modulo (reste) 3 +,- Numériques Addition, multiplication 5 <,>,<=,=> Numériques Comparaisons 5 instanceof Objet Comparaison de type 6 ==,!= Types primitifs Egalité et inégalité de valeur 6 ==,!= Objet Egalité et inégalité de référence 7 & Numériques ou booléen ET logique 8 ^ Numériques ou booléen OU exclusif logique 9 Numériques ou booléen OU logique 10 && Booléen ET conditionnel 11 Booléen OU conditionnel 12? : N/A Opérateur de comparaison ternaire 13 = Tous Affectation 13 +=,*=,... Tous Affectation avec opération Exemples... int a; a=3; int a=3; b=c*3 + 2;... http://jb.vioix.free.fr 15-20

Variables Les principaux opérateurs Tableau synthétique Priorité (1 la plus forte) Symbole Type(s) d opérande(s) Description 1 ++,-- Numérique Pré ou post incrémentation, décrémentation 1 (int),(double),... Tous(y compris objets) Transtypage (casting) 2 *,/,% Numériques Multiplication, division, modulo (reste) 3 +,- Numériques Addition, multiplication 5 <,>,<=,=> Numériques Comparaisons 5 instanceof Objet Comparaison de type 6 ==,!= Types primitifs Egalité et inégalité de valeur 6 ==,!= Objet Egalité et inégalité de référence 7 & Numériques ou booléen ET logique 8 ^ Numériques ou booléen OU exclusif logique 9 Numériques ou booléen OU logique 10 && Booléen ET conditionnel 11 Booléen OU conditionnel 12? : N/A Opérateur de comparaison ternaire 13 = Tous Affectation 13 +=,*=,... Tous Affectation avec opération Exemples... int a; a=3; int a=3; b=c*3 + 2;... http://jb.vioix.free.fr 15-20

Instruction de contrôle de flux Les tests (1) Les instructions if (...) else if (condition) else Le bloc else est optionnel. instructiona; instructionb; Si la condition est vraie, l instructiona est traitée, sinon (le cas échéant) l instructionb est exécutée. Pour exécuter des instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). L opérateur ternaire Pour les tests simples, il est possible d utiliser l opérateur ternaire, noté? : max = (a>b)? a : b; http://jb.vioix.free.fr 16-20

Instruction de contrôle de flux Les tests (1) Les instructions if (...) else if (condition) else Le bloc else est optionnel. instructiona; instructionb; Si la condition est vraie, l instructiona est traitée, sinon (le cas échéant) l instructionb est exécutée. Pour exécuter des instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). L opérateur ternaire Pour les tests simples, il est possible d utiliser l opérateur ternaire, noté? : max = (a>b)? a : b; http://jb.vioix.free.fr 16-20

Instruction de contrôle de flux Les tests (1) Les instructions if (...) else if (condition) else Le bloc else est optionnel. instructiona; instructionb; Si la condition est vraie, l instructiona est traitée, sinon (le cas échéant) l instructionb est exécutée. Pour exécuter des instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). L opérateur ternaire Pour les tests simples, il est possible d utiliser l opérateur ternaire, noté? : max = (a>b)? a : b; http://jb.vioix.free.fr 16-20

Instruction de contrôle de flux Les tests (1) Les instructions if (...) else if (condition){ instructionsa; } else{ instructionsb; } Le bloc else est optionnel. Si la condition est vraie, l instructiona est traitée, sinon (le cas échéant) l instructionb est exécutée. Pour exécuter des instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). L opérateur ternaire Pour les tests simples, il est possible d utiliser l opérateur ternaire, noté? : max = (a>b)? a : b; http://jb.vioix.free.fr 16-20

Instruction de contrôle de flux Les tests (1) Les instructions if (...) else if (condition){ instructionsa; } else{ instructionsb; } Le bloc else est optionnel. Si la condition est vraie, l instructiona est traitée, sinon (le cas échéant) l instructionb est exécutée. Pour exécuter des instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). L opérateur ternaire Pour les tests simples, il est possible d utiliser l opérateur ternaire, noté? : max = (a>b)? a : b; http://jb.vioix.free.fr 16-20

Instruction de contrôle de flux Les tests (2) Les instructions switch (...) case Pour réaliser des test sur des entiers il est possible d utiliser les instructions switch/case switch(variable) { case cas1 : // instruction; break; case cas2 : { /* bloc d instructions; */ } break; default: { /* cas par defaut */ } break; } Précautions d utilisation Il est nécessaire d ajouter break après chaque cas si un seul doit être exécuté à la fois. http://jb.vioix.free.fr 17-20

Instruction de contrôle de flux Les tests (2) Les instructions switch (...) case Pour réaliser des test sur des entiers il est possible d utiliser les instructions switch/case Précautions d utilisation Il est nécessaire d ajouter break après chaque cas si un seul doit être exécuté à la fois. La clause default permet de s assurer d un choix par défaut. Il est préférable de la faire suivre par un break (évolution du programme). http://jb.vioix.free.fr 17-20

Instruction de contrôle de flux Les tests (2) Les instructions switch (...) case Pour réaliser des test sur des entiers il est possible d utiliser les instructions switch/case Précautions d utilisation Il est nécessaire d ajouter break après chaque cas si un seul doit être exécuté à la fois. La clause default permet de s assurer d un choix par défaut. Il est préférable de la faire suivre par un break (évolution du programme). http://jb.vioix.free.fr 17-20

Instruction de contrôle de flux Les tests (2) Les instructions switch (...) case Pour réaliser des test sur des entiers il est possible d utiliser les instructions switch/case Précautions d utilisation Il est nécessaire d ajouter break après chaque cas si un seul doit être exécuté à la fois. La clause default permet de s assurer d un choix par défaut. Il est préférable de la faire suivre par un break (évolution du programme). http://jb.vioix.free.fr 17-20

Instruction de bouclage Les boucles inconditionnelles L instruction for for ( initialisation; condition; incrementation) instruction; L instruction for permet de répéter une instruction (ou un bloc d intruction). Le nombre de répétition est fixé par : la valeur à l initialisation, le condition et l incrémentation. Pour répéter plusieurs instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). Déclaration du compteur Il est possible de déclarer la variable utilisée comme compteur directement dans l instruction for. Cette variable n existe qu à l intérieur du bloc d instructions suivant le for. http://jb.vioix.free.fr 18-20

Instruction de bouclage Les boucles inconditionnelles L instruction for for ( initialisation; condition; incrementation) instruction; L instruction for permet de répéter une instruction (ou un bloc d intruction). Le nombre de répétition est fixé par : la valeur à l initialisation, le condition et l incrémentation. Pour répéter plusieurs instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). Déclaration du compteur Il est possible de déclarer la variable utilisée comme compteur directement dans l instruction for. Cette variable n existe qu à l intérieur du bloc d instructions suivant le for. http://jb.vioix.free.fr 18-20

Instruction de bouclage Les boucles inconditionnelles L instruction for for ( initialisation; condition; incrementation){ instructions; } L instruction for permet de répéter une instruction (ou un bloc d intruction). Le nombre de répétition est fixé par : la valeur à l initialisation, le condition et l incrémentation. Pour répéter plusieurs instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). Déclaration du compteur Il est possible de déclarer la variable utilisée comme compteur directement dans l instruction for. Cette variable n existe qu à l intérieur du bloc d instructions suivant le for. http://jb.vioix.free.fr 18-20

Instruction de bouclage Les boucles inconditionnelles L instruction for for ( initialisation; condition; incrementation){ instructions; } L instruction for permet de répéter une instruction (ou un bloc d intruction). Le nombre de répétition est fixé par : la valeur à l initialisation, le condition et l incrémentation. Pour répéter plusieurs instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). Déclaration du compteur Il est possible de déclarer la variable utilisée comme compteur directement dans l instruction for. Cette variable n existe qu à l intérieur du bloc d instructions suivant le for. http://jb.vioix.free.fr 18-20

Instruction de bouclage Les boucles inconditionnelles L instruction for for ( initialisation; condition; incrementation){ instructions; } L instruction for permet de répéter une instruction (ou un bloc d intruction). Le nombre de répétition est fixé par : la valeur à l initialisation, le condition et l incrémentation. Pour répéter plusieurs instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). Déclaration du compteur Il est possible de déclarer la variable utilisée comme compteur directement dans l instruction for. Cette variable n existe qu à l intérieur du bloc d instructions suivant le for. http://jb.vioix.free.fr 18-20

Instruction de bouclage http://jb.vioix.free.fr Cette variable n existe qu à l intérieur du bloc d instructions suivant le for. 18-20 Les boucles inconditionnelles L instruction for for ( initialisation; condition; incrementation){ instructions; } L instruction for permet de répéter une instruction (ou un bloc d intruction). Le nombre de répétition est fixé par : la valeur à l initialisation, le condition et l incrémentation. Pour répéter plusieurs instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). Déclaration du compteur Il est possible de déclarer la variable utilisée comme compteur directement dans l instruction for. for (int a=1;a<10;a++){ /* Instructions */ }

Instruction de bouclage Les boucles inconditionnelles L instruction for for ( initialisation; condition; incrementation){ instructions; } L instruction for permet de répéter une instruction (ou un bloc d intruction). Le nombre de répétition est fixé par : la valeur à l initialisation, le condition et l incrémentation. Pour répéter plusieurs instructions, il faut créer un bloc de code en utilisant des accolades. Il est préférable de toujours placer les accolades (même pour une instruction). Déclaration du compteur Il est possible de déclarer la variable utilisée comme compteur directement dans l instruction for. Cette variable n existe qu à l intérieur du bloc d instructions suivant le for. http://jb.vioix.free.fr 18-20

Instruction de bouclage Les boucles conditionnelles Les instructions while, do (...) while Ces instructions sont utilisées pour répéter une instruction (ou un bloc d instructions) tant qu une condition est vraie. Précautions à prendre avec les boucles while et do...while La boucle est parcourue au moins une fois dans une structure do...while. Dans une boucle do...while le while est terminé par un point-virgule. Dans tous les cas, faire bien attention aux boucles infinies. Les éléments impliqués dans la condition doivent être visible à l extérieur de la boucle. http://jb.vioix.free.fr 19-20

Instruction de bouclage Les boucles conditionnelles Les instructions while, do (...) while Ces instructions sont utilisées pour répéter une instruction (ou un bloc d instructions) tant qu une condition est vraie. while( condition){ /* instructions*/ } Précautions à prendre avec les boucles while et do...while La boucle est parcourue au moins une fois dans une structure do...while. Dans une boucle do...while le while est terminé par un point-virgule. Dans tous les cas, faire bien attention aux boucles infinies. Les éléments impliqués dans la condition doivent être visible à l extérieur de la boucle. http://jb.vioix.free.fr 19-20

Instruction de bouclage Les boucles conditionnelles Les instructions while, do (...) while Ces instructions sont utilisées pour répéter une instruction (ou un bloc d instructions) tant qu une condition est vraie. do{ /*instructions;*/ }while(condition); Précautions à prendre avec les boucles while et do...while La boucle est parcourue au moins une fois dans une structure do...while. Dans une boucle do...while le while est terminé par un point-virgule. Dans tous les cas, faire bien attention aux boucles infinies. Les éléments impliqués dans la condition doivent être visible à l extérieur de la boucle. http://jb.vioix.free.fr 19-20

Instruction de bouclage Les boucles conditionnelles Les instructions while, do (...) while Ces instructions sont utilisées pour répéter une instruction (ou un bloc d instructions) tant qu une condition est vraie. Précautions à prendre avec les boucles while et do...while La boucle est parcourue au moins une fois dans une structure do...while. Dans une boucle do...while le while est terminé par un point-virgule. Dans tous les cas, faire bien attention aux boucles infinies. Les éléments impliqués dans la condition doivent être visible à l extérieur de la boucle. http://jb.vioix.free.fr 19-20

Instruction de bouclage Les boucles conditionnelles Les instructions while, do (...) while Ces instructions sont utilisées pour répéter une instruction (ou un bloc d instructions) tant qu une condition est vraie. Précautions à prendre avec les boucles while et do...while La boucle est parcourue au moins une fois dans une structure do...while. Dans une boucle do...while le while est terminé par un point-virgule. Dans tous les cas, faire bien attention aux boucles infinies. Les éléments impliqués dans la condition doivent être visible à l extérieur de la boucle. http://jb.vioix.free.fr 19-20