Éléments de programmation et introduction à Java Jean-Baptiste Vioix ([email protected]) 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java 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 . Le compilateur veille à l’initialisation des variables avant leur utilisation. Visibilité 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; // E r r e u r ! ... } ... } http://jb.vioix.free.fr 13-20 La langage Java 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 . Le compilateur veille à l’initialisation des variables avant leur utilisation. Visibilité 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; // E r r e u r ! ... } ... } http://jb.vioix.free.fr 13-20 La langage Java 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 . Le compilateur veille à l’initialisation des variables avant leur utilisation. Visibilité 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; // E r r e u r ! ... } ... } http://jb.vioix.free.fr 13-20 La langage Java 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 . Le compilateur veille à l’initialisation des variables avant leur utilisation. Visibilité 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; // E r r e u r ! ... } ... } http://jb.vioix.free.fr 13-20 La langage Java 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 . Le compilateur veille à l’initialisation des variables avant leur utilisation. Visibilité 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; // E r r e u r ! ... } ... } http://jb.vioix.free.fr 13-20 La langage Java 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 . Le compilateur veille à l’initialisation des variables avant leur utilisation. Visibilité 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; // E r r e u r ! ... } ... } http://jb.vioix.free.fr 13-20 La langage Java Variables Types de base en Java Les types primitifs Type boolean char byte short int long float double Description Booléen (true ou false) Un caractère (unicode 16 bits) Entier de 8 bits Entier de 16 bits Entier de 32 bits Entier de 64 bits Flottant de 32 bits au format IEEE 754 Flottant de 64 bits au format IEEE 754 Compléments 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 La langage Java Variables Les principaux opérateurs Tableau synthétique Priorité (1 la plus forte) 1 1 2 3 5 5 6 6 7 8 9 10 11 12 13 13 Symbole ++,-(int),(double),. . . *,/,% +,<,>,<=,=> instanceof ==, != ==, != & ^ | && || ? : = +=,*=,. . . Type(s) d’opérande(s) Numérique Tous(y compris objets) Numériques Numériques Numériques Objet Types primitifs Objet Numériques ou booléen Numériques ou booléen Numériques ou booléen Booléen Booléen N/A Tous Tous Description Pré ou post incrémentation, décrémentation Transtypage (casting ) Multiplication, division, modulo (reste) Addition, multiplication Comparaisons Comparaison de type Egalité et inégalité de valeur Egalité et inégalité de référence ET logique OU exclusif logique OU logique ET conditionnel OU conditionnel Opérateur de comparaison ternaire Affectation Affectation avec opération Exemples. . . int a; a=3; int a=3; b=c*3 + 2; ... http://jb.vioix.free.fr 15-20 La langage Java Variables Les principaux opérateurs Tableau synthétique Priorité (1 la plus forte) 1 1 2 3 5 5 6 6 7 8 9 10 11 12 13 13 Symbole ++,-(int),(double),. . . *,/,% +,<,>,<=,=> instanceof ==, != ==, != & ^ | && || ? : = +=,*=,. . . Type(s) d’opérande(s) Numérique Tous(y compris objets) Numériques Numériques Numériques Objet Types primitifs Objet Numériques ou booléen Numériques ou booléen Numériques ou booléen Booléen Booléen N/A Tous Tous Description Pré ou post incrémentation, décrémentation Transtypage (casting ) Multiplication, division, modulo (reste) Addition, multiplication Comparaisons Comparaison de type Egalité et inégalité de valeur Egalité et inégalité de référence ET logique OU exclusif logique OU logique ET conditionnel OU conditionnel Opérateur de comparaison ternaire Affectation Affectation avec opération Exemples. . . int a; a=3; int a=3; b=c*3 + 2; ... http://jb.vioix.free.fr 15-20 La langage Java Variables Les principaux opérateurs Tableau synthétique Priorité (1 la plus forte) 1 1 2 3 5 5 6 6 7 8 9 10 11 12 13 13 Symbole ++,-(int),(double),. . . *,/,% +,<,>,<=,=> instanceof ==, != ==, != & ^ | && || ? : = +=,*=,. . . Type(s) d’opérande(s) Numérique Tous(y compris objets) Numériques Numériques Numériques Objet Types primitifs Objet Numériques ou booléen Numériques ou booléen Numériques ou booléen Booléen Booléen N/A Tous Tous Description Pré ou post incrémentation, décrémentation Transtypage (casting ) Multiplication, division, modulo (reste) Addition, multiplication Comparaisons Comparaison de type Egalité et inégalité de valeur Egalité et inégalité de référence ET logique OU exclusif logique OU logique ET conditionnel OU conditionnel Opérateur de comparaison ternaire Affectation Affectation avec opération Exemples. . . int a; a=3; int a=3; b=c*3 + 2; ... http://jb.vioix.free.fr 15-20 La langage Java Variables Les principaux opérateurs Tableau synthétique Priorité (1 la plus forte) 1 1 2 3 5 5 6 6 7 8 9 10 11 12 13 13 Symbole ++,-(int),(double),. . . *,/,% +,<,>,<=,=> instanceof ==, != ==, != & ^ | && || ? : = +=,*=,. . . Type(s) d’opérande(s) Numérique Tous(y compris objets) Numériques Numériques Numériques Objet Types primitifs Objet Numériques ou booléen Numériques ou booléen Numériques ou booléen Booléen Booléen N/A Tous Tous Description Pré ou post incrémentation, décrémentation Transtypage (casting ) Multiplication, division, modulo (reste) Addition, multiplication Comparaisons Comparaison de type Egalité et inégalité de valeur Egalité et inégalité de référence ET logique OU exclusif logique OU logique ET conditionnel OU conditionnel Opérateur de comparaison ternaire Affectation Affectation avec opération Exemples. . . int a; a=3; int a=3; b=c*3 + 2; ... http://jb.vioix.free.fr 15-20 La langage Java Instruction de contrôle de flux Les tests (1) Les instructions if (...) else if ( condition ) instructionA; else instructionB; 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 La langage Java Instruction de contrôle de flux Les tests (1) Les instructions if (...) else if ( condition ) instructionA; else instructionB; 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 La langage Java Instruction de contrôle de flux Les tests (1) Les instructions if (...) else if ( condition ) instructionA; else instructionB; 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 La langage Java 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 La langage Java 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 La langage Java 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 : // i n s t r u c t i o n ; break ; case cas2 : { /* bloc d i n s t r u c t i o n s ; */ } 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 La langage Java 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 La langage Java 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 La langage Java 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 La langage Java Instruction de bouclage Les boucles inconditionnelles L’instruction for for ( i n i t i a l i s a t i o n ; condition ; i n c r e m e n t a t i o n ) instructi o n ; 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 La langage Java Instruction de bouclage Les boucles inconditionnelles L’instruction for for ( i n i t i a l i s a t i o n ; condition ; i n c r e m e n t a t i o n ) instructi o n ; 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 La langage Java Instruction de bouclage Les boucles inconditionnelles L’instruction for for ( i n i t i a l i s a t i o n ; condition ; i n c r e m e n t a t i o n ){ 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 La langage Java Instruction de bouclage Les boucles inconditionnelles L’instruction for for ( i n i t i a l i s a t i o n ; condition ; i n c r e m e n t a t i o n ){ 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 La langage Java Instruction de bouclage Les boucles inconditionnelles L’instruction for for ( i n i t i a l i s a t i o n ; condition ; i n c r e m e n t a t i o n ){ 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 La langage Java Instruction de bouclage Les boucles inconditionnelles L’instruction for for ( i n i t i a l i s a t i o n ; condition ; i n c r e m e n t a t i o n ){ 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 ++){ /* I n s t r u c t i o n s */ } Cette variable n’existe qu’à l’intérieur du bloc d’instructions suivant le for. http://jb.vioix.free.fr 18-20 La langage Java Instruction de bouclage Les boucles inconditionnelles L’instruction for for ( i n i t i a l i s a t i o n ; condition ; i n c r e m e n t a t i o n ){ 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 La langage Java 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 La langage Java 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 ){ /* i n s t r u c t i o n s */ } 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 La langage Java 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 { /* i n s t r u c t i o n s ; */ } 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 La langage Java 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 La langage Java 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