ضيفنا الكريم زائر منتدى تسالة
---------------------------------------------------------
حللت أهلاً .. ووطئت سهلاً ..
أهلاً بك بين اخوانك واخواتك
آملين أن تلقى المتعة والفائدة معنا
.:: حيـاك الله ::.

يسعدنا انضمامك لاسرتنا للتسجيل أنقر هنا

حصريا--دروس في java لكل الأصدقا

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

حصريا--دروس في java لكل الأصدقا

مُساهمة من طرف ChAmsOoU B-BoY KaZo0m في الخميس مارس 26, 2009 10:09 pm







السلام عليكم


أفتتح هذا الموضوع اللذي يحتوي على دروس كاملة مع تمارين مصلحة وشاملة لل java وهذا حصريا على منتدانا الغالي.

هذه الدروس ستكون بالفرنسية وسأقوم بفتح موظوع آخر لكل الإستسفارات والطلبات الخاصة لهذا الموضوع.

الردود


نبدأ الدروس:

Java I




PLAN<blockquote>

  • INTRODUCTION
</blockquote>
<blockquote>


  • Caractéristiques de Java

    <blockquote>
    Portage
    La machine virtuelle
    Java et Internet
    L’architecture



    </blockquote>


  • LA PROGRAMMATION JAVA

    <blockquote>
    Structure et syntaxe
    Les environnements de développement
    Les objets et les classes

    </blockquote>


  • HERITAGE ET INTERFACES
<blockquote>
Notion d'héritage
Classes abstraites
Interfaces

</blockquote>

  • LES EXCEPTIONS
<blockquote>
La gestion des erreurs en Java

</blockquote>

</blockquote>









avatar
ChAmsOoU B-BoY KaZo0m
مشرف
مشرف

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 535
العمر : 27
المزاج : ئءشي
تعاليق الادارة : مكافآت العضو


نقاط الشهرة : 4341
السٌّمعَة : -10
تاريخ التسجيل : 28/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: حصريا--دروس في java لكل الأصدقا

مُساهمة من طرف ChAmsOoU B-BoY KaZo0m في الخميس مارس 26, 2009 10:10 pm








Introduction




  • L’objectif premier de ce langage est de définir un langage de programmation
  • 1990, l’équipe de James Gosling (Sun) se lance dans la conception d*’un nouveau
  • 1993, avec l’intérêt grandissant d’Internet, ce langage, de par sa portabilité,
  • 1994 Nouveau départ pour JAVA, Sun diffuse le premier browser
    supportant les applets (HotJAVA) qui permet d*’exécuter des applets
    java, i.e. des programmes Java encapsulés dans des pages Web pour
    ajouter un élément exécutable et interactif à une page
  • 1995, Apparition de la version, Alpha de Java et son interface de
    développement API
  • 1996, L*’attrait des applets Java, conduit Netscape et Microsoft à
    inclure dans leur propre navigateur les composants permettant
    d*’exécuter les applets
  • 1997, JDK1.1,…
  • On parle de Java 2 depuis la version du JDK 1.2 (1998), la version actuelle du JDK est 1.5.
  • Sun propose diverses versions du JDK : Java 2 Standard Edition
    (J2SE), Java 2 Entreprise Edition (J2EE), et Java 2 Mobile Edition
    (J2ME)

avatar
ChAmsOoU B-BoY KaZo0m
مشرف
مشرف

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 535
العمر : 27
المزاج : ئءشي
تعاليق الادارة : مكافآت العضو


نقاط الشهرة : 4341
السٌّمعَة : -10
تاريخ التسجيل : 28/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: حصريا--دروس في java لكل الأصدقا

مُساهمة من طرف ChAmsOoU B-BoY KaZo0m في الخميس مارس 26, 2009 10:11 pm

Qu’est-ce-que Java


  • Un langage de programmation orienté objets pur
<blockquote>
Un langage de programmation orienté objets pur
</blockquote>

  • Une architecture de Virtual Machine
<blockquote>
Portabilité
</blockquote>

  • Un ensemble d'API (bibliothèques) riches et variées
<blockquote>
Accès réseaux, accès aux bases de données, distribution, interfaces graphiques
</blockquote>

  • Les spécifications de Java et le JDK sont publics
<blockquote>
Java se veut un standard pour le développement d'applications d'entreprise
Les variantes JDK sont disponibles sur http://java.sun.com



</blockquote>
Différence avec C++



  • Pas de préprocesseur
  • Pas de typedef
  • Pas de structures, ni d’unions, ni de types énumérés, ni de fonctions en dehors des classes
  • Pas de surcharge d’opérateurs (sauf +)
  • Pas d'héritage multiple de classes
  • Pas de passage par copie pour les objets
  • Pas de pointeurs, seulement des références<blockquote>
    Les programmeurs en JAVA ne peuvent pas créer de pointeurs vers la
    mémoire car l'allocation de la mémoire et le modèle de référence sont
    entièrement gérés par le système runtime
    </blockquote>

    • indépendance vis-à-vis de la machine physique
    • Java reconduit la quasi totalité des structures syntaxiques de contrôle de flux d'exécution (if, switch,
    </li>



Caractéristiques


Java est un language

  • Simple : proche du C, C++
  • Orienté objet : tout est objet
  • Réparti : développement d’applications réparties (paquetage de communication prédéfinis)
  • Intérpété : le code produit par le compilateur n’est pas du code machine mais du ByteCode
  • Robuste, sûr, Portable, Multithread



Environnement de Développement



  • SUN
<blockquote>
Jdk (indispensable) : jdk1.2.x
JavaWorkShop (Un environnement de développement intégré (IDE))
</blockquote>

  • BORLAND
<blockquote>
Jbuilder
</blockquote>

  • MICROSOFT
<blockquote>
Visual J++
</blockquote>

  • IBM
<blockquote>
Visual Age
</blockquote>
REMARQUE:

On peut utiliser un IDE simple et gratuit tel que: Jcreator (www.jcreator.com), Eclispse SDK (www.eclipse.org), ou la version d'évaluation de JPadPro(www.modelworks.com).
avatar
ChAmsOoU B-BoY KaZo0m
مشرف
مشرف

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 535
العمر : 27
المزاج : ئءشي
تعاليق الادارة : مكافآت العضو


نقاط الشهرة : 4341
السٌّمعَة : -10
تاريخ التسجيل : 28/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: حصريا--دروس في java لكل الأصدقا

مُساهمة من طرف ChAmsOoU B-BoY KaZo0m في الخميس مارس 26, 2009 10:11 pm

Les outils de Développement JDK


Ces outils se trouvent sous le sous-répertoire bin du répertoire d'installation du JDK
<blockquote>
javac : compilateur de sources java

java : interpréteur de byte code

appletviewer : interpréteur d'applet

javadoc : générateur de documentation (HTML, MIF)

javah : générateur de header pour l'appel de méthodes natives

javap : désassembleur de byte code

jdb : debugger

keytool : générateur de clés pour la signature de code

rmic : compilateur de stubs RMI

rmiregistry : "Object Request Broker" RMI

</blockquote>Ajoutez le chemin de répertoire bin à votre variable
d'environnement PATH (Win et UNIX) pour rendre l'accès aux outils du
JDK possible de partout



Schéma Général du production de code






















Le code source java est compilé en un format indépendant des machines appelé bytecode

Le bytecode est interprété par la machine virtuelle déjà installée sur la machine physique

Pour tout type de machine (OS/Processeur), il y a une JVM spécifique. Toutes ces JVM sont disponibles et gratuites

Le bytecode peut également être converti en un code machine et peut
ainsi être exécuté rapidement. Pour cela, il faut compiler avec un
compilateur spécial dit Just in Time (JIT).
avatar
ChAmsOoU B-BoY KaZo0m
مشرف
مشرف

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 535
العمر : 27
المزاج : ئءشي
تعاليق الادارة : مكافآت العضو


نقاط الشهرة : 4341
السٌّمعَة : -10
تاريخ التسجيل : 28/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: حصريا--دروس في java لكل الأصدقا

مُساهمة من طرف ChAmsOoU B-BoY KaZo0m في الخميس مارس 26, 2009 10:12 pm

Exemple

class Bonjour {
public static void main(String A[])
{
System.out.println(“bonjour “);
**
**

Comme tout programme Java, celui ci comporte une classe Bonjour contenant une
seule méthode main() avec laquelle l’interpréteur débute l*’exécution du programme <blockquote>
Sauvegarder dans un fichier Bonjour.java

Compilation avec javac <blockquote>
javac Bonjour.java Génération du fichier Bonjour.class
</blockquote>Pour exécuter le programme : lancer la machine virtuelle java en spécifiant
le point d’entrée
<blockquote>
java Bonjour
</blockquote></blockquote>

Commentaires



La POO pure<blockquote>
Rien que pour afficher “bonjour" nous avons développé une classe
Nous avons utilisé les classes System et String ; ces classes appartiennent au package java.lang qui est implicitement importé

</blockquote>La méthode main() doit être static<blockquote>
main doit être une méthode de classe pour qu'on puisse l'invoquer
directement à partir de la classe sans besoin de construire une
instance de la classe.

</blockquote>La méthode main() doit déclarer l'argument String<blockquote>
main() doit déclarer la chaîne d'arguments même si on lui passera rien lors de l'exécution.
</blockquote>Le nom du fichier source ne doit obligatoirement pas concorder avec le nom de la classe
<blockquote>
Il est dans les habitudes des programmeurs Java de faire concorder le
nom du fichier source avec celui de la classe qu'il contient. Dans le
cas où l'on a plusieurs classes dans le fichier, on nomme ce dernier
avec la classe ayant le point d'entrée main().
</blockquote>
avatar
ChAmsOoU B-BoY KaZo0m
مشرف
مشرف

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 535
العمر : 27
المزاج : ئءشي
تعاليق الادارة : مكافآت العضو


نقاط الشهرة : 4341
السٌّمعَة : -10
تاريخ التسجيل : 28/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: حصريا--دروس في java لكل الأصدقا

مُساهمة من طرف ChAmsOoU B-BoY KaZo0m في الخميس مارس 26, 2009 10:13 pm

Eléments de base du langage Java



Commentaires

Trois notions sont admises pour l*’insertion de commentaires:

كود:

// commentaire sur une seule ligne
/* commentaire sur une ou plusieurs lignes */
/** commentaire d*’explication */

Les commentaires d’explication sont des commentaires sur
plusieurs lignes permettant de générer automatiquement une
documentation avec l’utilitaire javadoc (générateur automatique de
document)


Point virgule, blocs et blancs

Dans Java, les instructions se terminent par un point virgule (Wink
Un bloc d’*instructions est délimité par des accolades { et **
Les blancs sont autorisés entre les éléments du code source (espaces, tabulations et sauts de ligne)


كود:

{
int x;
x= 5*8;
**



Identificateurs



Les identificateurs permettent de nommer les différents éléments
(variables, constantes, classe, méthodes, packages,…) des programmes Java
<blockquote>
identificateur= “dans {a..z, A..Z, $, _** “ < “ *dans {a..z, A..Z, $, _,0..9, unicode
caracter over 0x00c0** “>

</blockquote>Un identificateur commence par une lettre, un trait de soulignement (_) ou un signe dollar ($)

les caractères suivants peuvent également comporter des chiffres

les caractères Unicode supérieurs à 0x00c0, permettent d’introduire
dans les identificateurs des caractères internationaux tels que ç, ü,…

Les identificateurs opèrent une distinction majuscules/minuscules et n’ont pas de longueur maximale


كود:

$valeur-systeme // identificateur valide

note# // identificateur non valide (# n’est pas au dessus de 0x00c0)


Conventions de codage Java

identificateurs: sont composés d’un ou de plusieurs mots. Pour
faciliter la lisibilité, la première lettre de chacun des mots est
conventionnellement en Majuscule, sauf pour le premier mot qui est
fonction de la nature de l*’identificateur

Classes ou Interfaces : la première lettre de l’identificateur d’une classe doit conventionnellement être en majuscule

Méthodes ou Variables : la convention de nommage indique que la première lettre du mot doit être en minuscule

Constantes : la convention de nommage indique que leur nom doit être en majuscule

Autres conventions

Structure de contrôle : utilisez des ({ et **) autour des instructions
, même s’il s*’agit d’une seule, lorsqu’elles font partie d*’une
structure de contrôle, telle que if-else ou for.

Placez une seule instruction par ligne, et utilisez une indentation pour que le code soit plus lisible.

_________________

avatar
ChAmsOoU B-BoY KaZo0m
مشرف
مشرف

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 535
العمر : 27
المزاج : ئءشي
تعاليق الادارة : مكافآت العضو


نقاط الشهرة : 4341
السٌّمعَة : -10
تاريخ التسجيل : 28/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: حصريا--دروس في java لكل الأصدقا

مُساهمة من طرف ChAmsOoU B-BoY KaZo0m في الخميس مارس 26, 2009 10:13 pm

Les types de données


Java est un langage fortement typé : chaque variable et chaque expression possède un type bien défini

Les types de données de Java sont divisés en deux grands groupes

Les types primitifs (ou de base) :

Entiers

كود:

byte (8 bits), short (16 bits), int (32 bits), long (64bits)

Réels

كود:

float (32 bits IEEE 754), double(64 bits)

Caractères

كود:

char (2 octets, unicode)

Logique

كود:

boolean (1 octet)

Le type référence : chaîne de caractères (String),tableau ou classe
avatar
ChAmsOoU B-BoY KaZo0m
مشرف
مشرف

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 535
العمر : 27
المزاج : ئءشي
تعاليق الادارة : مكافآت العضو


نقاط الشهرة : 4341
السٌّمعَة : -10
تاريخ التسجيل : 28/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: حصريا--دروس في java لكل الأصدقا

مُساهمة من طرف ChAmsOoU B-BoY KaZo0m في الخميس مارس 26, 2009 10:14 pm

Variables, déclarations et affectations



L’utilisation d’une variable dans Java doit toujours être précédée par
la déclaration de celle-ci. Le compilateur va utiliser les informations
associées à la déclaration de la variable pour effectuer des
vérifications : compatibilité de type dans les expressions, visibilité
de la variable,…

La déclaration d’une variable s’effectue en préfixant le nom de la variable par sont type int i;

On peut préciser (d’une façon optionnelle) un modificateur (qualifier) à une variable
<blockquote>
le modificateur final : précise que la valeur de la variable ne pourra plus être changée après son affectation initiale
</blockquote>Le type d*’une variable est soit un type de base soit une référence
<blockquote>
Deux façon de décrire des variables, soit en utilisant un type simple comme int et float

un type class, défini par le programmeur

</blockquote>

Instruction



Une instruction est une seule commande. Une commande peut occuper
plusieurs lignes de code, mais le compilateur lit l’ensemble comme une
seule commande.

Les instructions individuelles (habituellement sur une seule ligne) se terminent par un point-virgule (Wink

les groupes d’instructions (sur plusieurs lignes) se délimitent par des accolades

Les règles de portée déterminent où est reconnue une variable dans un
programme. Les variables appartiennent à deux catégories de portée
principales :
<blockquote>
Variables globales : Variables reconnues dans toute une classe.

Variables locales : Variables reconnues uniquement dans le bloc de code où elles sont déclarées.
</blockquote>une variable déclarée dans un bloc de code n’est visible que dans ce bloc et dans les blocs qui y sont imbriqués.


كود:

class Portée {
int x = 0;
void méthode1() {
int y = x; **
void méthode2() {
int z = 1;
z = y; // Cela ne fonctionne pas :
// y est définie hors de la portée de méthode2.
** **

Contrairement au C/C++, Java permet d'initialiser à la déclaration les champs de classe ainsi que les champs d'instance.

Les champs d'instance et de classe sont tous initialisés à une valeur
par défaut. En C++, il est obligatoire d'initialiser les champs de
classe à part ; en Java, soit ces champs prennent une valeur par
défaut, soit ils sont initialisés à leur déclaration, soit ils sont
initialisés dans un bloc d'initialisation .

Passage d’arguments
<blockquote>
par copie

copie de variable pour les types primitifs ;

copie de référence pour les objets.
</blockquote>
avatar
ChAmsOoU B-BoY KaZo0m
مشرف
مشرف

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 535
العمر : 27
المزاج : ئءشي
تعاليق الادارة : مكافآت العضو


نقاط الشهرة : 4341
السٌّمعَة : -10
تاريخ التسجيل : 28/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: حصريا--دروس في java لكل الأصدقا

مُساهمة من طرف ChAmsOoU B-BoY KaZo0m في الخميس مارس 26, 2009 10:15 pm

Les notions orientées objets dans JAVA




كود:

class NomClass {
//déclaration des membres publiques et privés

**//pas de point virgule



L'encapsulation de données (idem C++)
<blockquote>
Les membres privés ne sont utilisables que dans la classe
Les membres publics sont utilisables partout
</blockquote>


كود:

Public class Point {
// variable d'instance
int x ; // abscisse du point
int y ; // ordonnée du point
// les methodes
public void translate (int dx, int dy) {
x = x + dx ;
y = y + dy ;
**

// Calcul la distance du point à l’origine
public double distance() {
return Math.sqrt (x * x + y * y) ;
**
**



Classe



Syntaxe générale




كود:

[public|package ][abstract|final] class NomDeClasse [extends ClasseDeBase]
[implements interface]
{ // déclaration des variables et définition des méthodes de la classe
**



Membres de classe
<blockquote>
un membre est déclaré avec le modificateur static : membre de classe (champ ou méthode)

un membre qui n’est pas de classe est dit d’instance (Toutes les méthodes d'instance utilisent la sigature dynamique )<blockquote>
NomClasse.membre
</blockquote></blockquote>



كود:

public class Count {
private int serialNumber;
private static int counter =0;
public Count(){
counter++;
serialNumber=counter;
**
**


كود:

public class Cercle{
public double x,y,r;

public Cercle bigger(Cercle c){
if (c.r>r) return c else return this; **
public static Cercle bigger(Cercle a, Cercle b){
if (a.r>b.r) return a else return b; **
…..**
Cercle c=Cercle.bigger(a,b);


_________________

avatar
ChAmsOoU B-BoY KaZo0m
مشرف
مشرف

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 535
العمر : 27
المزاج : ئءشي
تعاليق الادارة : مكافآت العضو


نقاط الشهرة : 4341
السٌّمعَة : -10
تاريخ التسجيل : 28/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: حصريا--دروس في java لكل الأصدقا

مُساهمة من طرف ChAmsOoU B-BoY KaZo0m في الخميس مارس 26, 2009 10:32 pm

Constructeur



Le mot clé new est utilisé pour créer dynamiquement une nouvelle
instance de la classe : Toute classe comporte au moins un constructeur

Un constructeur est une méthode ayant le même nom que la classe n’ayant pas de type de retour

Si, on n’écrit pas un constructeur, un constructeur est fournit
automatiquement. Ce dernier ne prend aucun argument et son corps est
vide
<blockquote>
Il est important de réaliser que si vous ajoutez une déclaration de
constructeur comportant des arguments à une classe qui n’avait pas de
constructeur explicite auparavant ; vous perdez le constructeur par
défaut. A partir de là, les appels de
new Xxx() causeront des erreurs de compilation
</blockquote>Il peut avoir plusieurs constructeurs pour une même classe (plusieurs façons d’initialisation)

La destruction d'objets est faite par la machine virtuelle grâce au processus Garbage Collector

EXEMPLE

Cercle c;
<blockquote>
Une telle définition se contente de définir un objet comme une variable ayant le type de la classe choisie (ex: Cercle)

La variable c, n’est rien de plus qu’un nom référençant un objet Cercle. Elle
n’est même pas un objet

Si l’on veut un objet effectif, il faut le créer explicitement avec le mot clé new




الكود:
//allocation de l’espace nécessaire aux structures de données de cette classe

Cercle c;
c= new Cercle();

كود:</blockquote>




الكود:
public  class Cercle{
         private double x, y, r;
         public Cercle (double x, double y, double r)
         {
             this.x=x;
             this.y=y;
             this.r=r;
           **
         public double circonférence(){ return       2*3.14*r;**
         public double surface(){ return          3.14*r*r;**
**

Cercle c= new Cercle(1.41,-1.0,.25);




الكود:
public class Cercle {
          private double x, y, r;
          public Cercle(double x, double y, double r)   {
       this.x=x;  this.y=y; this.r=r;
**
الكود:
public Cercle(double r) { x=0.0; y=0.0;                      this.r=r;**
          public Cercle(Cercle c){x=c.x; y=c.y; r=c.r;**
          public Cercle(){x=0.0; y=0.0; r=1.0;**
          public double circonférence(){ return             2*3.14*r;**
          public double surface(){ return 3.14*r*r;**
**

Gestion de la mémoire
كود: كود:


JAVA dispose d’un système de récupération de mémoire automatique. JAVA
estime que l’espace occupé par objet peut être restitué au système
quand il n’ y a plus référence vers cet objet

L’outil utilisé par JAVA pour se débarrasser des objets une fois que
l’on en a plus besoin s’appelle un ramasse-miettes (Garbage Collector)

La récupération de mémoire peut alors être invoquée explicitement par
le programmeur à des moments bien précis avec la méthode System.gc()

Avant l’appel effective à la récupération d’un objet, la machine
virtuelle JAVA fait appel à la méthode finalize. En effet, le
ramasse-miette se charge de libérer les ressources mémoire utilisées
par l’objet. Mais un objet peut bloquer d’autres types de ressources
telles que des sokets ou des descripteurs de fichiers



Transtypage et conversion



Il n’est pas possible de transformer les types primitifs en objets par
une opération de changement de type (cast). Il existe des classes
enveloppes dont le seul but est d’encapsuler un type simple dans un
objet (Boolean, Integer, Float, Character, Double, Long)




الكود:
boolean   b= true;




الكود:
Boolean      ObjB= new Boolean(b);




الكود:
boolean  b2= ObjB.booleanValue
();




المرة القادمه نتحدث عن Héritage
كود: كود: كود:
avatar
ChAmsOoU B-BoY KaZo0m
مشرف
مشرف

آخرمكافآت العضو :
الجنس : ذكر
عدد الرسائل : 535
العمر : 27
المزاج : ئءشي
تعاليق الادارة : مكافآت العضو


نقاط الشهرة : 4341
السٌّمعَة : -10
تاريخ التسجيل : 28/12/2008

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة

- مواضيع مماثلة

 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى