Le Java premiers pas.

Slides:



Advertisements
Présentations similaires
Formation universitaire à .NET: Introduction à C#
Advertisements

TD 1 IJA Introduction Objet, méthode, attribut Classe, instance
IFT 6800 Atelier en Technologies d’information
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Les erreurs communes en Java.
Master 1 SIGLIS Java Lecteur Stéphane Tallard Chapitre 2 – Java Premiers pas Master 1 SIGLIS1 Java Lecteur - Chapitre 2 - Java Premiers Pas.
Java Réalisé par: Mouna POKORA. PLAN: Définition : Historique: Caractéristiques: un langage orienté objet: un langage interprété : un langage portable:
Le débogage Semaine 12 Version A15. Plan de leçon - Débogage  Commentaire javadoc  Définition  Fonctionnement  Point d’arrêt  Exécution  Contrôler.
Emacs Laurent Pierron
C++ Les fonctions. Présentation Utilité : Dès qu'un programme dépasse la centaine de lignes de code, il est pratique de pouvoir le décomposer en plusieurs.
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
Stéphane Frénot, Frederique Laforest, Frédéric Le-Mouël IJA 1 TD 6 IJA Structures de données JAVA.
CINI – Li115 1 Semaine 4 Révisions ● Questions de cours ● Types des expressions ● Déclaration de variables ● Instruction conditionnelle et boucles ● Structure.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
Portage d'une application sur GPU CreditCruncher.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Types et opérations fondamentales ● Tests ● Boucles ● Pointeurs, références.
Tableaux en C Mardi 2/05.
Le Langage JavaScript pour le web
Langages de programmation TP6
Interfaçage entre Maple et du code externe
L’ordinateur et ses composants
JAVA.
Ajouter le code dans une page html
Environnement de développement des BD
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Session 1 6 mars 2017 Plateforme ICONICS Justine Guégan
Pas de variable globale
Les notions de classe et d'objet
« Un langage de programmation est une convention pour donner des ordres à un ordinateur. Ce n’est pas censé être obscur, bizarre et plein de pièges subtils.
Qu'est-ce que POSIX? Une librairie en langage C
Algorithmique et programmation de modèles numériques
Techniques de décomposition
Javadoc et débogueur Semaine 03 Version A17.
AO (Architecture des ordinateurs)
Principes de programmation (suite)
11ième Classe (Mardi, 18 novembre) CSI2572
Accès aux fichiers en C.
Semaine 11 Les pointeurs (suite)
Session 1 31 mai 2017 Plateforme ICONICS Justine Guégan
SIF-1053 Architecture de ordinateurs
Un Algorithme , c'est Quoi ?
Tableaux à plusieurs dimensions en langage C
Langages de programmation TP3
Initiation à l’informatique Généralités et Définitions Université de Tébessa 1 ère Année MI Y. MENASSEL.
Codage Indenter le code Limiter la portée des variables Traiter les erreurs en premier Utiliser le switch au delà de 3 tests en cascades Ne jamais utiliser.
Introduction À l’algorithmique
Cours N°9: Algorithmiques Les Tableaux 1
De l’ordinateur au processus : rôle d’un système
Programmation en C++ C++ de base
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
Programmation Orientée Objet C# El Akel Bouchra ISMONTIC Tanger 2013/2014.
Plus de 4000 langages....
Exercice PHP DEUST TMIC
Calcul Scientifique Initiation à SCILB
Eléments de base du langage C
Auditeur: Léonardo AMODIO Cours: NFE107
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
Le programme informatique L’algorithme Le codage
Les exceptions Le mécanisme des exceptions est destiné à permettre aux fonctions profondes d'une bibliothèque de notifier la survenue d'une erreur aux.
Atos, Atos et le poisson, Atos Origin et le poisson, Atos Consulting ainsi que le poisson seul sont des marques déposées d'Atos Origin SA. © 2006 Atos.
Principes de programmation (suite)
Le langage C# : Partie 1.
STREAMS (et fichiers).
Introduction à L’Informatique
Eléments de base du langage C
TP N°1 : GUI en NetBeans Module R & C Université de Jijel
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
TP N°6: Construction d’un Serveur Multi-Client
TP N°4 Développement d’ une application
Transcription de la présentation:

Le Java premiers pas

Le menu La notion de portabilité Rappel aux compilateurs “classiques“ La machine virtuelle de Java Microsoft Visual J++ (l’IDE utilisé) Les classes sous Java Types, identificateurs, variables 11/16/2018 cours 2

Le plate-forme (définition préalable à la portabilité) La plate-forme est une notion vague. On dira qu’une plate-forme est un ensemble du matériel (CPU, mémoire, bus, unités d’entrée-sortie, etc.) et un système d’exploitation Exemple 1: ordinateur PC + Win 95 Exemple 2: ordinateur Apple + Mac OS 10 Exemple 3: station de travail SUN + Solaris 11/16/2018 cours 2

La portabilité (hordozhatóság) On peut parler de la portabilité d’une application. Une application est dite portable si on peut la lancer sur une plate-forme différente sans modification et si on obtient un comportement identique sur les différentes plate-formes. 11/16/2018 cours 2

Les avantages de portabilité On écrit le code une seule fois. On teste le code une seule fois. On élimine les erreurs une seule fois. On gagne du temps. On gagne de l’argent. Comment écrire des applications portables? On utilisera Java. 11/16/2018 cours 2

Compilateurs classiques Compilateur classique d’un langage de haut niveau (le cas du C) Code du langage haut niveau compilateur Code machine dépende de la machine et du SE dépende de la machine et du SE Exécutable sur une plate-forme 11/16/2018 cours 2

Compilateurs classiques Il faut un compilateur différent pour chaque architecture et pour chaque système d’exploitation différent il faut une nouvelle compilation sur chaque “plate-forme” d’un code différent l’exécutable n’est pas réutilisable sur un nouveau plate-forme: un programme 11/16/2018 cours 2

La machine virtuelle de Java – la clé de la portabilité on cache les particularités des plate-formes par une machine virtuelle la machine virtuelle est un interpréteur la machine virtuelle accepte des instructions standards indépendamment de la plate-forme le code tournant sur la machine virtuelle est le « code byte » (bájtkód) 11/16/2018 cours 2

La machine virtuelle de Java compilateur + interpréteur machine virtuelle Compilateur Java Interpréteur Java Code JAVA Code byte Code machine Indépendant de la plateforme 11/16/2018 cours 2

La machine virtuelle de Java une machine virtuelle est fournie avec Windows pour des autres plate-formes, vous pouvez la télécharger gratuitement de http://java.sun.com/ Java Virtual Machine = JVM 11/16/2018 cours 2

Une application Java le code est un ensemble des classes chaque classe correspond à un fichier texte (extension par défaut : .java) lors de la compilation, chaque fichier .java est compilé en code byte, le fichier correspondant est un fichier .class Les fichiers .class sont portables 11/16/2018 cours 2

Environnements de développement de Java Jpad – sans éditeur de GUI Sun Java Studio Creator (avec editeur, payant) Oracle Jdeveloper (avec editeur GUI, gratuit) Microsoft Visual J++ (avec éditeur GUI, les contribuables payent à votre place) 11/16/2018 cours 2

Environnement de développement JAVA utilisé Microsoft Visual J++ (version 6.0) membre de la famille MS Visual Studio disponible au HSZK le même environnement (enfin presque) est utilisé pour C, C++, Basic, (Fortran) les autres logiciels de développement visuel (Borland C Builder, Delphi, etc.) suivent les mêmes principes 11/16/2018 cours 2

Un projet en Java Un programme est composé de plusieurs classes et donc fichiers. Chaque classe est un fichier Le projet est l’ensemble de tous les fichiers avec du code, avec des interfaces graphiques d’utilisateur (GUI), etc… un élément du projet est un “item” 11/16/2018 cours 2

Lancer VS J++ sln - extension d’un fichier décrivant un projet 11/16/2018 cours 2

Lancer VS J++ (suite) 11/16/2018 cours 2

Le premier programme sous Java Une seule classe, une seule méthode La seule classe s’appelle Class1 public class Class1 { public static void main (String[] args) /* Ce programme ne fait rien */ } La seule méthode est main C’est un commentaire Ouverture d’un bloc { Fermeture d’un bloc } 11/16/2018 cours 2

Règles générales pour une application (non valables pour les applettes) Dans chaque programme, il y a une classe avec une méthode main. Quand on lance le programme, l’exécution de cette méthode est commencée. Le code d’un programme est composé des blocs (comme en C!). Les blocs sont limités par { }. (comme en C!) 11/16/2018 cours 2

Commentaires et couleurs Commentaires: à les utiliser abondamment! Dans une ligne : // Dans plusieurs lignes : /* */ Couleurs mots clés : bleu commentaires : vert 11/16/2018 cours 2

Compiler et lancer un programme Compiler = Build (raccourci - Ctrl+Shift+B) Lancer = Debug/Start (raccourci - F5) 11/16/2018 cours 2

Deuxième programme Ecriture sur le console: println public class PP { public static void main (String[] args) System.out.println("Bonjour tous le monde!"); } Fenêtre de console (Java View) 11/16/2018 cours 2

Troisième programme programme précédent plus attente sur Enter public class PP { public static void main (String[] args) System.out.println("Bonjour tous le monde!"); /* on attend le lecteur de qqc. */ try {System.in.read();} catch (java.io.IOException e) {/* on ne fait rien */ } } try {instruction} = essayer d’éxecuter l’instruction qui peut causer des erreurs catch (erreur) {gestion d’erreur} = en cas d’erreur, le code dans la partie gestion d’erreur est executé 11/16/2018 cours 2

Différences par rapport au C? boucles for do .. while exécution conditionnelle if .. else switch .. case sous-programmes 11/16/2018 cours 2

Une bonne nouvelle? Il n’y a pas de pointeurs en Java! on élimine une source d’erreur potentielle mais comment réaliser la gestion dynamique de la mémoire (listes) ? On donnera la réponse à la question plus tard. 11/16/2018 cours 2

boucle for public class Class1 initialisation de la boucle { public static void main (String[] args) System.out.println("\n Les dix nombres premiers"); for (int i=0; i<11 ; i++ ) { System.out.print(i+", ");} System.out.println("fin"); try {System.in.read();} catch (java.io.IOException e) {/* on ne fait rien */} } initialisation de la boucle condition d’exécution du noyau expression noyau i est un variable du type entier 11/16/2018 cours 2

la boucle for la plus simple noyau vide s’exécute indéfiniment (la condition d’exécution est vraie par défaut) pour sortir de la boucle, on peut utiliser l’instruction break; 11/16/2018 cours 2

exercices écrivez une boucle for qui affiche tous les nombres paires plus petits que 100 écrivez une boucle for qui calcule 6! et affiche le résultat aide: int fact = 1 indtroduit la variable fact et l’initialise à 1 11/16/2018 cours 2

Solution du calcul de 20! public class Class1 { public static void main (String[] args) { // calcul de 20! long fact = 1; for (int i=1; i<21; i++){fact = fact*i;} System.out.println(fact); try {System.in.read();} catch (java.io.IOException e){} } 11/16/2018 cours 2

boucle do .. while test au début test à la fin condition condition public class Class1 { public static void main (String[] args) byte i = 20; while (i>0) { System.out.print("*"); i--;} try {System.in.read();} catch (java.io.IOException e){} } public class Class1 { public static void main (String[] args) byte i = 20; do {System.out.print("*"); i--;} while (i>0); try {System.in.read();} catch (java.io.IOException e){} } condition condition 11/16/2018 cours 2

exécution conditionnelle if .. else public class Class1 { public static void main (String par[]) long b = 10L; if (b>100L) System.out.println("grand nombre"); else System.out.println("petit nombre"); try{System.in.read();} catch(java.io.IOException e){} } 11/16/2018 cours 2

exécution conditionnelle case public class Class1 { public static void main (String[] args){ int a = 4; switch (a) { case 6 : System.out.print("*"); case 5 : System.out.print("*"); case 4 : System.out.print("*"); case 3 : System.out.print("*"); case 2 : System.out.print("*"); case 1 : System.out.print("*"); } try{System.in.read();} catch(java.io.IOException e){} point d’entrée : tous les instructions qui suivent sont exécutées 11/16/2018 cours 2

Sous-programmes Type_de_retour nom(paramètres) {code} public class Class1 { public static void main (String[] args){ int a = 2; int b = 3; int c =0; c = multiplie(a,b); affiche(c); } public static int multiplie(int x, int y) { return x*y; public static void affiche(int z) { System.out.print(z); Type de retour : int Résultat du SP : return SP sans retour : void 11/16/2018 cours 2

les types (primitifs) de Java Tous les autres types sont des classes (types non-primitifs) 11/16/2018 cours 2

identificateurs un identificateur peut contenir des lettres, des chiffres et les caractères $, _ sous Java, les minuscules et les majuscules sont distingués Ident # ident un identificateur commence par une lettre un identificateur ne peut pas être un mot clé 11/16/2018 cours 2

variables Les variables doivent être décarées. Une variable peut être déclarée partout. On ne peut pas effectuer des opérations sur une variable non-initialisée. Le domaine de validité d’une variable est le bloc où elle est déclarée. 11/16/2018 cours 2

tableaux exemples int nombres[][]; int vecteur = new int[13]; tableaux des entiers de deux dimensions (sans limite sur les indices) exemples int nombres[][]; int vecteur = new int[13]; long[] donnees = new long[100]; tableaux des entiers ayant 13 éléments tableaux des entiers longues ayant 100 éléments 11/16/2018 cours 2