1
Langage, entrées et sorties
Joël Quinqueton
pt MIAp, UFR IV
UPV - Université Montpellier III
Plan
Structure d’un programme
Les entrées sorties
Java
La programmation ajoute à l’écriture des
algorithmes la difficulté de les formuler
selon des règles strictes (et propres au
langage utilisé)
Utilisation stricte de
délimiteurs : point-virgule, accolade,
parenthèse, etc.
mots réservés : types de variable, formulation
des boucles, etc.
Java – un exemple
public class PremierProgramme {
/**
* Un premier programme Java pour débuter
*/
public static void main(String[] args) {
System.out.println("Bienvenue au club
!");
System.out.println("Hello");
}
}
Java – classe et fichier
public class PremierProgramme {
/**
* Un premier programme Java pour débuter
*/
public static void main(String[] args) {
System.out.println("Bienvenue au club !");
System.out.println("Hello");
}
}
Fichier PremierProgramme.java
Java – public ?
public class PremierProgramme {
/**
* Un premier programme Java pour débuter
*/
public static void main(String[] args) {
System.out.println("Bienvenue au club
!");
System.out.println("Hello");
}
}
2
Java – blocs et accolades
public class PremierProgramme {
/**
* Un premier programme Java pour débuter
*/
public static void main(String[] args) {
System.out.println("Bienvenue au club
!");
System.out.println("Hello");
}
}
Java – static void main …
public class PremierProgramme {
/**
* Un premier programme Java pour débuter
*/
public static void main(String[] args) {
System.out.println("Bienvenue au club
!");
System.out.println("Hello");
}
}
Java – variables
Variables : il faut les annoncer avant de les
utiliser, et préciser leurs types
/** des nombres entiers */
int entier1, entier2;
entier1 = 10;
entier2 = 2;
entier2 = entier2 + 3 * entier1;
/** un nombre en virgule flottante
*/
float reel = 3.1415926589;
déclaration
initialisation
affectation
Déclaration ET initialisation
Java – instructions
Instructions : elles sont marquées par des
points-virgules
Java – commentaires
Commentaires : ils sont placés entre « /* »
et « */ » (dans cet ordre)
Java – affichage à l’écran
3
Java – affichage à l’écran
Avec saut de fin de ligne
System.out.println(…);
Sans saut de fin de ligne
System.out.print(…);
Java – lecture au clavier
Lecture d’un entier
Keyboard.readInt();
Lecture d’un réel
Keyboard.readFloat();
Java – lecture au clavier
public class Addition {
public static void main(String[] args) {
int entier1, entier2;
entier1 = Keyboard.readInt();
entier2 = Keyboard.readInt();
System.out.println("La somme des entiers " +
entier1 + " et " + entier2 + ! " vaut " +
(entier1 + entier2));
}
}
Java – chaînes de caractères
Un caractère : une lettre qui se code en
moire par un entier (code ASCII,
Unicode)
Une chaîne de caractères : une suite de
caractères en mémoire
On les traite comme des objets à part entière
On leur applique des opérations et des
transformations
Java – classe String
Un type complexe qui désigne les chaînes
de caractères
Une classe qui met à disposition un
ensemble d’opérations et de transformations
sur les chaînes de caractères
Java – classe String
String chaine1;
chaine1 = "Voilou !!!";
String chaine2 =
Keyboard.readString();
System.out.println(chaine1 + "
" + chaine2);
4
String – méthodes
String chaine = "Voilou !!!";
int position = chaine.indexOf(o’);
/** retourne la position du premier
"o", soit 1 */
position = chaine.indexOf(‘o’ ,
position);
/** retourne la position du second
"o" */
Conditionnelles
Instruction if
Pas de then
La condition doit être exprimée entre
parenthèses
Imbrication du bloc d’instruction sousl’effet
de la condition : { }
If (test) {bloc exécuté si le est est vrai} else
{bloc exécuté si le test est faux}
Boucles - while
Sommes des N premiers entiers
int N = Keyboard.readInt();
int k = 1;
int somme = 0;
while (k <= N) {
somme = somme + k;
k = k + 1;
}
While = «!tant que!»
Boucles - for
L’expression for intègre les trois ingrédients de la
boucle
int N = Keyboard.readInt();
int somme = 0;
for(int k = 1; k <= N; k = k+1) {
somme = somme + k;
}
la variable k n’est utilisée que pour la boucle
sa déclaration est faite dans le corps de
l’instruction
Entrées / Sorties: le problème
L’utilisateur doit-il coder un nombre dans la
norme IEEE pour le communiquer à un
programme ?
Les humains sont habitués à réfléchir en
base 10 / Les ordinateurs se régalent de la
base 2
Les humains utilisent souvent le clavier
pour communiquer avec un programme
Entrées / Sorties: leur nature
Pour l’ordinateur la donnée en entrée est
d’abord une suite de caractères (une chaîne
de caractères)
Les résultats d’un programme (les sorties)
sont souvent une suite de caractères
(affichés à l’écran)
Programme Java
…«2», «4», … … «!2 + 4 = 6!»,…
5
Entrées / Sorties en Java
Un programme Java reçoit/transmet des
données au monde extérieur via un flot
(stream)
Ces flots sont des objets de types complexes
System.in et System.out
sont des flots connectés à tout programme
pour communiquer via les entrées/sorties
standard
Flots d’entrée et de sortie
Programme Java
System.in
System.out
Entrées / Sorties dans un
programme
import java.io.*;
public class Echo {
public static void main (String[] args) throws
IOException {
InputStreamReader inStream = new
InputStreamReader( System.in );
BufferedReader stdin = new BufferedReader(
inStream );
String inData;
System.out.println("Enter the data:");
inData = stdin.readLine();
System.out.println("Input : " + inData);
}
}
Flots tamponnés
Java
Monde extérieur
BufferedInputStream
Entrées / Sorties
Avant d’être un nombre …
Une chaîne de caractères (en entrée) doit être «
convertie » en un type connu d’avance
Un nombre (en sortie) doit être « converti »
en une chaîne de caractères
Les routines de conversion sont différentes
et définies pour chacun des types primitifs
Lecture de données numériques
Conversion d’une chaîne de caractères en
un entier de type int
La classe Integer (un objet de type Integer)
possède une méthode de conversion chaîne de
caractères <-> codage à complément à 1
La classe Integer possède aussi des
thodes de conversion en short et long
1 / 6 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !