UEF 1 : Informatique & Programmation



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

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

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

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

Logiciel de Base. I. Représentation des nombres

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

ALGORITHMIQUE ET PROGRAMMATION ORIENTEE OBJET

Rappels Entrées -Sorties

Solutions du chapitre 4

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

Introduction au langage C

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

Programmer en JAVA. par Tama

Introduction à Java. Matthieu Herrb CNRS-LAAS. Mars

Chapitre I Notions de base et outils de travail

IFT2880 Organisation des ordinateurs et systèmes

Notions fondamentales du langage C# Version 1.0

UEO11 COURS/TD 1. nombres entiers et réels codés en mémoire centrale. Caractères alphabétiques et caractères spéciaux.

PROGRAMMATION PAR OBJETS

ALGORITHMIQUE ET PROGRAMMATION En C

Une introduction à Java

INF 321 : mémento de la syntaxe de Java

Java Licence Professionnelle CISII,

Programmation en Java IUT GEII (MC-II1) 1

Architecture de l ordinateur

ACTIVITÉ DE PROGRAMMATION

La technologie Java Card TM

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

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

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

Conversion d un entier. Méthode par soustraction

TP, première séquence d exercices.

V- Manipulations de nombres en binaire

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

Informatique Générale

Atelier C TIA Portal CTIA04 : Programmation des automates S7-300 Opérations numériques


DE L ALGORITHME AU PROGRAMME INTRO AU LANGAGE C 51

Pour signifier qu'une classe fille hérite d'une classe mère, on utilise le mot clé extends class fille extends mère

2 e édition JAVA 5 et 6. Jérôme Bougeault. TSoft et Groupe Eyrolles, 2003, 2008, ISBN :

La mémoire. Un ordinateur. L'octet. Le bit

Chapitre 10 Arithmétique réelle

1. Langage de programmation Java

as Architecture des Systèmes d Information

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

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

Informatique / Programmation

Flux de données Lecture/Ecriture Fichiers

Système binaire. Algèbre booléenne

Logiciel de base. Première année ENSIMAG

Programmation Orientée Objet Java

Chapitre 10. Les interfaces Comparable et Comparator 1

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

Cours 1: Java et les objets

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

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

Architecture matérielle des systèmes informatiques

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

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

Débuter avec EXPRESS. Alain Plantec. 1 Schema 2

Programmation Bas Niveau

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

Programme Compte bancaire (code)

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

Projet de programmation (IK3) : TP n 1 Correction

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

Introduction au langage Java

Bases de programmation. Cours 5. Structurer les données

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

Programmation Objet Java Correction

Programmation Orientée Objet

JAVA TD0. Prise en main du langage Environnement de base JAVA 1

Création et Gestion des tables

Cours d Algorithmique et de Langage C v 3.0

TP1 : Initiation à Java et Eclipse

Chapitre 1 I:\ Soyez courageux!

Programmation en langage C

Découverte de Python

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

Page 1 sur 5 TP3. Thèmes du TP : l la classe Object. l Vector<T> l tutorial Interfaces. l Stack<T>

Le langage C. Séance n 4

Corrigés des premiers exercices sur les classes

Claude Delannoy. 3 e édition C++

Initiation à la programmation en Python

Java c est quoi? Java pourquoi?

Programmation Orientée Objets Le Langage JAVA

Langage C. Patrick Corde. 22 juin Patrick Corde ( Patrick.Corde@idris.fr ) Langage C 22 juin / 289

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

Machines virtuelles fonctionnelles (suite) Compilation ML Java

Java Licence Professionnelle CISII,

OpenPaaS Le réseau social d'entreprise

Langage et Concepts de Programmation Objet. 1 Attributs et Méthodes d instance ou de classe. Travaux Dirigés no2

Introduction à JDBC. Accès aux bases de données en Java

Le codage informatique

TP 1. Prise en main du langage Python

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

CPR Informatique. (poste 3159 ou 3164) Septembre 2002

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

COMPARAISONDESLANGAGESC, C++, JAVA ET

Transcription:

UEF 1 : Informatique & Programmation Jérôme DURAND-LOSE Sandrine JULIA Faculté des Sciences de Nice DEUG 2000-2001 Jean-Paul ROY COURS 2 Les types de données en Java Le langage Java traite deux types de données : les données primitives : les objets les nombres [=> pour le calcul] les booléens [=> pour la logique] les caractères [=> pour les textes] les «instances de classes» les «tableaux»??? 2 Les types numériques primitifs A la base : le BINAIRE! Les seuls chiffres : 0 et 1 Un chiffre 0 ou 1 se nomme un BIT. Binary digit... D où plusieurs types numériques suivant le nombre de bits occupés par un nombre en mémoire : Nombres entiers Nombres approchés byte short int long float double Exemple : 10010 2 en binaire se décode, ici à l envers : 0*2 0 + 1*2 1 + 0*2 2 + 0*2 3 + 1*2 4 == 2 + 16 == 18 Nombres positifs sur 8 bits : de 00000000 2 à 11111111 2, donc dans l intervalle [0,255]. Nombre limité de chiffres après la virgule ==> pertes possibles de précision! sur 32 bits, donc dans : Ex: -25.6876548702549 2 8-1 3 [-2147483648, 2147483647] 4

int signe s double signe s exposant 11 bits 32 bits 31 bits 64 bits mantisse 52 bits x [-2 31,2 31-1] x {0 U [4.9*10-324, 1.8*10 308 ] 5 Un programme avec trois variables! /* Convertisseur francs -> euros */ class EuroConv { double sommefr = 3502.28; System.out.print(sommeFr); System.out.print( francs = ); System.out.print(sommeEu); System.out.println( euros. ); System.out.println( Au revoir! ); 6 Compilation puis exécution! Dissection de [ce programme] cette classe On retrouve l architecture de la classe Essai1, précédée d un commentaire : 3502.28 francs = 533.9191440902376 euros. Au revoir! /* */ titre, auteur, date, version, but,... Votre disquette contient dès lors deux fichiers : class <nomdeclasse> { <instructions de la méthode main> EuroConv.java et EuroConv.class 7 8

On déclare [en les initialisant] trois variables de type double, dont les valeurs seront des nombres approchés : double sommefr = 3502.28; L ordre a de l importance, même s il n est pas unique : double sommeeu; double sommefr = 3502.28; sommeeu = sommefr / euro; déclaration affectation définitions Déclaration d une variable [une seule fois!]: <type> <nomdevariable>; int r; double surfacecercle; Affectation d une variable [déjà déclarée!] : <nomdevariable> = <expression>; r = 10; r = (r + 1)*nbFois; surfacecercle = pi * r * r; 9 10 Définition d une variable [une seule fois!]: <type> <nomdevariable> = <expression>; int r = 2; double surfacecercle = 3.1416 * r * r; Une expression pouvant contenir des variables déjà déclarées Il faut que le résultat de l expression soit bien du type attendu pour la variable : int longueur;....... longueur = r * 2.5; Portée [visibilité] d une variable Jusqu à la fin du dernier «bloc» la contenant [bloc = une suite d instructions entre accolades]. class EuroConv { double sommefr = 3502.28; System.out.print(sommeFr);....... ERREUR à la compilation! 11 Portée de sommeeu 12

Opérations numériques primitives Les opérations de base sont contextuelles [dépendent du type des opérandes] : 25 / 3 25 % 3 25.0 / 3 25 % 3.5 25 + 3.0 + - * / % 8 [dans les entiers] 1 [dans les entiers] 8.333333333333334 0.5 28.0 13 Les opérations plus avancées font appel aux méthodes et constantes de la classe prédéfinie Math : public class Math { public static double sqrt(double x) {.... public static double pow(double x, double y) {.... etc Math.sqrt(2) Math.cos(Math.PI) Math.pow(2,3) 1.4142135623730951-1.0 8.0 14 Les ajustements [automatiques] de types Les ajustements [manuels] de types Est-ce que 2 est un double? Oui, s il le faut : Math.sqrt(2) bien que la méthode Math.sqrt( ) attende un double! Ainsi 2 est ajusté [converti] en 2.0 Autre exemple : 3 + 2.5 ----> 3.0 + 2.5 ----> 5.5 Ce sont des ajustements automatiques. On essaie de perdre le moins d information possible : il aurait été malvenu de convertir 2.5 en un int... 15 Comment obtenir un int comme résultat de 2 3?... Math.pow(2,3) 8.0 En forçant un ajustement de type : double d = Math.pow(2,3); int x = (int) d; System.out.print(x); 8 Bien sûr, on perd de l information : (int) 2.5 (double) 2 2 2.0 16

Affichage à l écran avec System.out int x = 5; System.out.print(x); System.out.println( La valeur de x est : + x); une chaîne de caractères [un texte <==> String] ajustement automatique de x vers une String. Les deux chaînes sont alors concaténées et la chaîne résultat est affichée... 17