Cours Java structures, variables et types de données

Sommaire: Cours Java structures, variables et types de données

I Entrée en matière
I.1 Qu’est-ce que Java, en trois lignes
I.2 Exemples de “Hello World” en différents langages
I.3 Un autre exemple
II Historique et propriétés de Java
II.1 Propriétés du langage ; Technologies disponibles
II.2 Manifeste en 11 points
III Paquetages de Java
III.1 Technologies et paquetages
III.2 Sources de documentation externes
IV Bases procédurales de Java
IV.1 Variables et types de données
IV.2 Opérateurs
IV.3 Contrôle de flux
V Notions de génie logiciel
V.1 La légende des sept singes
V.2 Buts du génie logiciel
V.3 Principes de génie logiciel
V.4 Stratégie de développement orientée objet
VI Notions de programmation orientée objet
VI.1 POO, Objets, Classes
VI.2 Type ou classe ; objet
VI.3 Relations
VII Bases orientées objet de Java
VII.1 Classes et objets Java
VII.2 Héritage
VII.3 Surcharge, redéfinition
VII.4 Paquetages et interfaces
VIIIExceptions
VIII.1 Fonctionnement général du système d’exceptions
IX Classes utilitaires de base
IX.1 Classes Object, System, PrintStream
IX.2 Méthode main() et classes d’emballage des types primitifs
IX.3 Scanner (java.util.Scanner)
IX.4 Classes java.applet.Applet et java.lang.String
X java.util : Conteneurs et autres utilitaires
X.1 Classes de java.util ; Classes et interfaces de comparaison
X.2 Classes et interfaces conteneurs
X.3 Conteneurs de type Map
X.4 Conteneurs de type Collection et Listes
Bibliographie
Index

Extrait du cours Java structures, variables et types de données

I – Entrée en matière
I.1 Qu’est-ce que Java, en trois lignes
Le début de l’ouvrage de référence, The Java Language Specification par J.
Gosling, B. Joy et G. Steele [GJS96] résume fort bien l’esprit dans lequel le langage a été conçu ainsi que le but poursuivi : “ Java is a general purpose, concurrent,class-based, object-oriented language. It is designed to be simple enough that many programmers can achieve fluency in the language. Java is related to C and C++ but is organized rather differently, with a number of aspects of C and C++ ommited and a few ideas from other languages included. Java is intended to be a production language, not a research language, and so, as C.A.R. Hoare suggested in his classic paper on language design, the design of Java has avoided including new and untested features.”
I.2 Exemples de “Hello World” en différents langages
2.1 Avec OSF/Motif widgets
#include <X11/Intrinsic.h>
#include <X11/StringDefs.h>
#include <Xm/Xm.h>
#include <Xm/Form.h>
#include <Xm/Label.h>
#include <Xm/PushB.h>
typedef struct APP_DATA {
char *mtext;
char *etext;
} APP_DATA, *P_APP_DATA;
static XrmOptionDescRec options[] = { /* options de la ligne de commande */
{« -mtext », « *mtext », XrmoptionSepArg, NULL},
{« -etext », « *etext », XrmoptionSepArg, NULL}
};
static XtResource resources[] = { /* ressources */
{« mtext », « Mtext », XtRString, sizeof(String),
XtOffset(P_APP_DATA, mtext), XtRString, « Maison pauvre, voie riche »},
{« etext », « Etext », XtRString, sizeof(String),
XtOffset(P_APP_DATA, etext), XtRString, « Quitter »}
};
static Arg args[10]; /* arguments passes aux widgets */
static void quit_action(Widget w, caddr_t client_data,
XmAnyCallbackStruct *call_data);
void main(int argc, char *argv[]) {
APP_DATA data;
Widget main_widget, form_widget, hello_message, exit_button;
main_widget = XtInitialize(argv[0], « Xmhello », options,
XtNumber(options), &argc, argv);
XtGetApplicationResourceds(main_widget, &data, resources,
XtNumber(resources), NULL, 0);
form_widget = XtCreateManagedWidget(« Form »,
xmFormWidgetClass, main_widget, NULL, 0);
XtSetArg(args[0], XmNtopAttachment, XmATTACH_FORM);
XtSetArg(args[1], XmNleftAttachment, XmATTACH_FORM);
XtSetArg(args[2], XmNLabelString,
XmStringCreateLtoR(data.etext,
XmSTRING_DEFAUKT_CHARSET));
exit_button = XtCreateManagedWidget(« Exit »,
xmPushButtonWidgetClass, form_widget,
(ArgList) args, 3);
XtAddCallback(exit_button, XmNactivateCallback,
quit_action, NULL);
XtSetArg(args[0], XmNtopAttachment, XmATTACH_WIDGET);
XtSetArg(args[1], XmNtopWidget, exit_button);
XtSetArg(args[2], XmNleftAttachment, XmATTACH_FORM);
XtSetArg(args[3], XmNrightAttachment, XmATTACH_FORM);
XtSetArg(args[4], XmNbottomAttachment, XmATTACH_FORM);
XtSetArg(args[5], XmNLabelString,
XmStringCreateLtoR(data.mtext,
XmSTRING_DEFAUKT_CHARSET));
hello_message = XtCreateManagedWidget(« Hello »,
xmLabelWidgetClass, form_widget,
(ArgList) args, 6);
XtRealizeWidget(main_widget);
XtMainLoop();
}
static void quit_action(Widget w, caddr_t client_data,
XmAnyCallbackStruct *call_data) {
XtCloseDisplay(XtDisplay(w));
exit(0);
}
• Avantage : souple.
• Désavantages : code long, ne fonctionne que sous XWindows (pas sur Macintosh ou Windows 98).
• Remarque : code 3 fois plus long en Xlib.
2.2 Hello world en Tcl/Tk
• Tcl : langage de commandes interprété, peu structuré. Tk : bibliothèque graphique.
• Code d’une fenêtre simple
proc helloWorld {
toplevel .helloworld
label .helloworld.label -text « La haine seule fait des choix »
button .helloworld.button -text « Quitter » -command exit
pack .helloworld.label .helloworld.button
}
• Avantage : codage de mini applications simple.
• Désavantage : Langage de mauvaise qualité (au sens du génie logiciel) et lent.
2.3 Hello world en Java
• Code d’une fenêtre simple en Java
I.3 Un autre exemple
3.1 Applet de gribouillage Java
import java.applet.*;
import java.awt.*;
import java.awt.event.*;
public class Scribble extends Applet {
int last_x;
int last_y;
public void init() {
MouseListener ml = new MyMouseListener(this);
MouseMotionListener mml = new MyMouseMotionListener(this);
this.addMouseListener(ml);
II – Historique et propriétés de Java
II.1 Propriétés du langage ; Technologies disponibles
1.1 Oak
• Originellement Oak, 1991, James Gosling, Sun Microsystems.
• But de Oak : langage embarqué pour des appareils de communication (télé-phone, télévision, ordinateurs, . . . ).
• 2 caractéristiques cruciales de ce langage embarqué :
– taille réduite (⇒ codage compact).
– fiabilité (⇒ fonctionnement en mode dégradé, en réponse à des exceptions).
1.2 Propriétés embarquées
Plusieurs propriétés de java reflètent ceci :
• Langage réduit et simple (notamment en ce qui concerne lesinstructions).
• Peut être transformé en une représentation interne compacte.
• ö Pointeurs et goto eliminés.
• Traitement d’exceptions partie intégrante du langage ; le programmeur est souvent FORCÉ de gérer les exceptions (c’est une bonne chose !).

…….

Si le lien ne fonctionne pas correctement, veuillez nous contacter (mentionner le lien dans votre message)
Cours Java structures, variables et types de données (1203 KO) (Cours PDF)
Cours Java Structures

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *