Planche 1

Un petit air de Java
Ca fait du bien

Jean-Jacques.Levy@inria.fr
http://www.jeanjacques-levy.com/
INRIA -- Rocquencourt
tel: 01 39 63 56 89

Catherine Bensoussan
cb@lix.polytechnique.fr
Aile 00, LIX
tel: 34 67

http://w3.edu.polytechnique.fr/informatique/


Planche 2

Plan

  1. Premier programme
  2. Types primitifs
  3. Conversions de type
  4. Instruction d'affectation
  5. Instruction composée
  6. Instruction conditionnelle
  7. Calcul de la date de Pâques

Planche 3

Premier programme

Programme qui affiche un texte à l'écran:


import java.io.*;

class PremierProg {
    public static void main (String args[ ]){
        System.out.println ("Bonjour");
        System.out.println ("les débutants!");
    }
}

Planche 4

Compilation, Exécution

A mettre dans un fichier
PremierProg.java, ensuite compiler


javac PremierProg.java
et exécuter


java PremierProg
En fait le code généré par javac est du byte-code; il est interprété par la machine virtuelle Java (JVM) par java.

Le
byte-code est généré dans le fichier PremierProg.class


Planche 5

Variables

Une variable a un nom, un type et une valeur.


int x1;
String phrase;
float pi;

Planche 6

Types primitifs

  1. Octets (8 bits) byte
  2. Entiers courts (16 bits) short
  3. Entiers (32 bits) int
  4. Entiers longs (64 bits) long
  5. Réels (32 bits) float
  6. Réels longs (64 bits) double
  7. Caractères (16 bits) char
  8. Booléens boolean

Planche 7

Valeur d'une variable


Planche 8

Déclarations -- types -- valeurs


long u, v;
int x = 1, y = 3, z = -9;
boolean a = true, b = false;
float r = 4.5;
double surface = 4 * pi * r * r ;

Planche 9

Conversions implicites de types

Exemples:


short i = 23;
int j = i;
long u = j;
float v = u;




Planche 10

Instruction d'affectation

Exemples:


s = 4 * pi * r * r ;
s = s / 2;
i = i + 1;

Planche 11

Conversions explicites

Exemples:


long i = 23;
int j = (int) i;
short u = (short) j;

float pi = 3.14159;
int x = (int) pi;

Planche 12

Expressions arithmétiques

Calculer la différence des surfaces d'un cercle de rayon 2.75 et d'un carré de coté 5:


int a = 5;
float r = 2.75;
float pi = 3.14159;
float delta = pi * r * r - a * a;
System.out.println (delta);
Priorité des opérations!

Calculer le reste de la division de 3125 par 713:


int a = 3125 % 713;
System.out.println (a);

Planche 13

Java

Les types permettent d'éviter des erreurs uniquement détectables à l'exécution.

Les avantages ou désavantages de la programmation orientée-objet sont impossibles à expliquer dans ce cours. Grosso modo: orienté-objet
® modularité + développement incrémental des programmes.


Planche 14

Instruction composée -- Instructions conditionnelles

Exemple:


if (x > 110) 
  x = x - 10;
else {
  x = x + 11;
  z = x * z;
}

Planche 15

Expressions booléennes

Remarques:
Planche 16

Un programme complet


class Additionneur {
  public static void main (String[ ] args) {
    if (args.length != 2)
      System.out.println ("Mauvais nombre d'arguments.");
    else {
      int n1 = Integer.parseInt (args[0]);
      int n2 = Integer.parseInt (args[1]);
      System.out.println (n1 + n2);
    }
  }
}

Planche 17

Terminaison des programmes

Exemple:


Planche 18

Un autre programme complet


class Syracuse {
  public static void main (String[ ] args) {
    int a = Integer.parseInt (args[0]);
    System.out.println (a);
    while (a != 1) {
      if (a % 2 == 0)
        a = a / 2;
      else
        a = 3 * a + 1;
      System.out.println (a);
    }
  }
}

Planche 19

Le calcul de la date de Pâques

Premier dimanche après la 1ère lune qui suit l'équinoxe de printemps. Soit
Y l'année, dont on cherche la date de Paques.

1.
Golden number G = (Y mod 19) + 1

2.
Century C = ë Y/100 û + 1

3.
Corrections X = ë 3 C / 4 û - 12, Z = ë (8 C + 5) /25 û -5

4.
Find Sunday D = ë 5 Y / 4 û - X -10

5.
Epact E = (11 G + 20 + Z - X) mod 30.
Si
E = 25 et G > 11, ou si E = 24, alors E ¬ E + 1

6.
Find full moon N = 44 - E. Si N < 21, alors N ¬ N + 30

7.
Advance to Sunday N ¬ N + 7 - ((D + N) mod 7)

8.
Get month Si N > 31, la date est le (N - 31) AVRIL
Sinon, la date est le
N MARS.
This document was translated from LATEX by HEVEA.