Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de...

22
Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de l’information (LEA.BW)

Transcript of Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de...

Page 1: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Introduction à la programmation(420-PK2-SL)

cours 2

Gestion des applications

Technologie de l’information

(LEA.BW)

Page 2: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Plan Introduction au Java Les variables Le traitement des entrées et des sorties Installation de l’environnement de

programmation La structure type d’un programme simple Quelques tests

Page 3: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Introduction au Java Programme

Un programme informatique indique à un ordinateur ce qu'il devrait faire. Il s'agit d'un ensemble d'instructions qui doivent être exécutées dans un certain ordre par un processus.

Interprète En informatique, un interprète (parfois appelé, à tort, interpréteur par

mauvaise traduction de l'anglais) est un outil ayant pour tâche d'analyser, de traduire, et d'exécuter un programme écrit dans un langage informatique.

Compilateur Un compilateur est un programme informatique qui traduit un langage, le langage

source, en un autre, appelé le langage cible…En pratique, un compilateur sert le plus souvent à traduire un code source écrit dans un langage de programmation en un autre langage, habituellement un langage d'assemblage ou un langage machine (byte code). Le programme en langage machine produit par un compilateur est appelé code objet.

Langage de programmation Un langage de programmation permet d'écrire des programmes. L'activité de rédaction

du code source d'un logiciel est nommée programmation. Il en existe plusieurs Java, C, C++, C#, ASP, PHP, SQL, ... http://www.georgehernandez.com/h/xComputers/Programming/Media/tongues-cleane

r.png

Page 4: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Introduction au Java Caractéristiques du Java

Java est interprété Le code source est compilé en byte code et ensuite exécuté par un interpréteur Java (Java Virtual

Machine (JVM) Slogan de SUN pour Java WORA (Write Once, Run Anywhere) Le byte code est spécifique à JVM et non à un système d’exploitation

Java est portable Il peut être exécuté sur tout périphérique aillant la machine virtuelle Java (JVM)

Java est orienté objet Abordé dans le cours 420-PK4-SL

Java est simple Les créateurs ont supprimé les éléments mal compris des autres langages de programmation. Par

exemple, les pointeurs, l’héritage multiple et la surcharge des opérateurs. Java est fortement typé

Toutes les variables sont typées et il n’existe pas de conversion automatique. Si une telle conversion doit être réalisé, le développeur doit obligatoirement utiliser un cast ou ume

méthode statique fournie en standard pour la réaliser (un parser) Java assure la gestion de la mémoire

JVM gère la mémoire et fait le ménage des variables qui ne sont plus utilisées Java est sûr

Protection des fichiers Protection de l’exécution de commande

Java est multitâche Il permet les threads et facilite l’utilisation d’un processeur à plusieurs coeurs

Page 5: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Introduction à Java Différentes éditions et versions de Java Java Development Kit / Java 2 Software Devlopment Kit (JDK /

J2SDK) Ensemble d’outils et d’API permettant de programmer en Java Contiens aussi le JRE

Java Runtime Environement (JRE) Permets l’exécution de code Java compilé

Java Standard Edition (J2SE / Java SE) Environnement d'exécution et ensemble complet d'API pour des

applications de type desktop Java Enterprise Edition (J2EE / Java EE)

Environnement d'exécution reposant intégralement sur Java SE pour le développement d'applications d'entreprises

Java Micro Edition (J2ME / Java ME) Environnement d'exécution et API pour le développement d'applications

sur appareils mobiles et embarqués dont les capacités ne permettent pas la mise en œuvre de Java SE

Page 6: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Introduction à Java Les différences entre Java et JavaScript

Il ne faut pas les confondre, car ce n’est pas du tout la même chose. Par contre, les deux langages sont semblables, car ils dérivent les

deux du langage C.

Java JavaScript

Auteur Sun Microsystems Netscape Communications

Format Compilé sous forme de byte code

Interprété

Stockage Applet téléchargé comme un élément de la page

Web

Source inséré dans le code HTML

Utilisation Tous les types d’applications

Dynamiser une page Web

Exécution Exécuté par JVM Exécuté par le navigateur Web

POO Orienté Objet Permet de manipuler des objets mais pas d’en créer

Typage Fortement typé Pas de contrôle de type

Complexité du code Complexe Simple

Page 7: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Introduction à Java Compilation

Le code source (fichier .java) est compilé et traduis en byte code dans un fichier .class

Interprétation Le JVM interprète les .class en exécutant une instruction à la fois

Compilation et exécution Éditeur de texte

Compilation (javac)

Exécution (java)

.java

JVM

.class

Programme

Page 8: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Introduction à Java Les commentaires

Il est important de toujours commenté dans le code, mais aussi de bien identifier ce que fais le programme, qui là fait et quand il a été créer.

Type de commentaires Exemple

Commentaire abrégé // Commentaire sur une ligne

Commentaire multi-ligne /* Commentaire sur deuxlignes */

Commentaire de documentation automatique

/*** Commentaire de la méthode* Fait par: Julien Le Roux* Date de création: 17/01/2011* Dernière modif. :19/01/2011*/

Page 9: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Introduction à Java Java est sensible à la case

a != A Les bloques de code sont encadrés par des accolades.

public static void main(String args[]){

} Chaque instruction se termine par un ;

byte

test1

=

'A';

byte test2 = 'B'; L’indentation n’est pas obligatoire, mais fortement recommandée pour

faciliter la lecture du code.public static void main(String args[]){

byte test='A';

if(byte != 'A'){

System.out.println("Hello World ! ");

}

}

Page 10: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Introduction à Java Une variable à un type, un identificateur et une valeur (pas obligatoire)

type identificateur = valeur; byte test = 'B';

L’identificateur ne peut pas avoir un nom réserver par Java Voici la liste des noms réserver

abstract const final int public throw

assert continue finally interface

return throws

boolean default float long short transient

break do for native static true

byte double goto new strictfp try

case else if null super void

catch enum implements

package

switch volatile

char extends import private synchronized

while

class false instanceof

protected

This

Page 11: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Les variables La déclaration de variable

Un identificateur de variable peut commencer par une lettre, par le signe $ ou par le signe _.

Pour le reste de l’idenficateur il peut contenir lettre/chiffre/signe, mais jamais d’espace!

Il est possible définir plusieurs variables sur une même ligne int jours,mois,annee; int jours=20,mois=1,annee=2011;

Pour faire des changements de variables, vous devez souvent utiliser des fonctions de programmation. Par exemple, si on demande l’age d’un utilisateur, nous le

sauvegarderons sous forme de texte, mais par la suite nous devons le transformer en format numérique si nous voulons l’utiliser pour des calculs.

Page 12: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Les variables Les types élémentaires

Dans le cours 420-PK4-SL vous créez vos propres types et vos propres objets

Le type String n’est pas un type élémentaire. Nous le verrons plus tard.Type Longueur Valeurs

boolean 1 bit true or false (0 ou 1)

byte 8 bits -128 à 127

short 16 bits -32768 à 32767

char 16 bits \u0000 à \uFFFF

int (entier) 32 bits -2147483648 à 2147483647

float 32 bits 1.401e-045 à 3.40282e+038

double 64 bits 2.22507e-308 à 1.79769e+308

long (entier) 64 bits -9223372036854775808 à 9223372036854775807

Page 13: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Les variables Le format des types élémentaires

Le format des nombres entiers byte,short,int et long Peuvent être codé en octal, décimal et en hexadécimal

Octal Le nombre doit commencer par 0 010

Hexadécimal Le nombre doit commencer par 0x 0xFF

Le format des nombres réels float et double Avec float il faut faire attention, car nous devons

préciser ou s’arrête la virgule. Il est recommandé d’utiliser le double.

Page 14: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Les variables L’initialisation des variables

int nombre;nombre = 0;OU int nombre = 0;

Les valeurs par défaut Boolean false byte/short/int/long0 float/double 0.0 char \u000

Page 15: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Les variables L’affectation est l’action de stocker une

information dans une variable. Le signe utilisé est le =.

Opérateur Exemple Signification

= x=10 x=10

+= x+=10 x = x + 10

-= x-=10 x = x – 10

*= x*=10 x = x * 10

/= x/=10 x = x / 10

%= x%=10 Reste de la division par 10

^= x^=10 x = x ^ 10

Page 16: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Les packages Pour faciliter certaines tâches génériques,

nous pouvons utiliser le travail fait par d’autres programmeurs en important des packages.

Voici les packages les plus utilisésPackages Descriptions

java.io Accès aux flux entrant et sortant

java.lang Classes et interfaces fondamentales

java.math Opérations mathématiques

java.net Accès aux réseaux

java.security Mise en oeuvre de fonctionnalités concernant la sécurité

java.sql API JDBC (accès aux bases de données)

java.util Utilitaires

Page 17: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Le traitement des entrées et des sorties Écrire à l’écran

System.out.println("Bonjour"); Saisir au clavier

2 méthodes possibles Méthode la plus simple et la plus performanteimport java.util.Scanner;

public class test_io

{

public static void main(String args[])

{

String nom;

Scanner clavier = new Scanner(System.in);

System.out.println("Quel est votre nom?");

nom = clavier.nextLine();

clavier.close();

System.out.println("Bonjour " + nom);

}

}

Page 18: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Le traitement des entrées et des sorties

Saisir au clavier Méthode plus compliquéeimport java.io.*;

public class test_io

{

public static void main(String args[])

{

String nom="";

BufferedReader clavier = new BufferedReader(new InputStreamReader(System.in));

System.out.println("Quel est votre nom?");

try {

nom = clavier.readLine();

}catch(IOException ioe){

System.out.println("IO Error");

}

System.out.println("Bonjour " + nom);

}

}

Page 19: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Installation de l’enviromenet de programmation

JDK http://www.oracle.com/technetwork/java/javase/do

wnloads/index.html BlueJay

http://www.bluej.org/download/download.html Plus tard dans la session nous utiliserons Eclipse

Page 20: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

La structure type d’un programme simple

/*

* Calcule du salaire

* Julien Le Roux

* 19/01/2010

*/

import java.util.Scanner;

public class salaire

{

public static void main(String args[])

{

// Initialisation des variables

int salaire, heures, total;

Scanner clavier = new Scanner(System.in);

// Saisie des informations

System.out.println("Quel est votre taux horaire?");

salaire = Integer.parseInt(clavier.nextLine());// Nous aurions pu faire clavier.nextInt();

System.out.println("Combien d'heure travailler vous?");

heures = Integer.parseInt(clavier.nextLine()); // Nous aurions pu faire clavier.nextInt();

clavier.close();

// Calcul du salaire

total = salaire * heures;

// Affichage du résultat

System.out.println("Votre salaire est " + total + "$ par semaine");

}

}

Page 21: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Quelques tests Écrivez un programme imc.java qui demande à un

utilisateur son poids (en kilos) et sa taille (en mètres) et qui lui affiche son indice de masse corporel (poid / taille2) Exemple: 84 kilos et 1,81 mètres donne un IMC de 25.64024297 Indice utiliser Double.parseDouble() plutôt que Integer.parseInt().

Écrivez un programme echange.java qui échange deux valeurs en mémoire. Saisissez deux variables (x et y). Pensez à une stratégie pour que le contenu de x se retrouve dans

y et vice versa. Faites afficher le contenu des deux variables

NOTE: LES SOLUTIONS SUR LE WEB N’ONT PAS DE COMMENTAIRES. VOUS DEVEZ TOUJOURS EN METTRE!!

Page 22: Introduction à la programmation (420-PK2-SL) cours 2 Gestion des applications Technologie de linformation (LEA.BW)

Demain Un peu de théorie Beaucoup de pratique