Licence CC BY-NC-SA

Apprenez à programmer en Java

Apprenez à programmer en Java

Publié :

Ce tutoriel a été initialement rédigé sur le Site du Zéro par cysboy sous licence CC BY-NC-SA.

Bonjour à tous !

Bienvenue dans mon cours de programmation en Java. C'est un langage très utilisé, notamment par un grand nombre de programmeurs professionnels, ce qui en fait un langage incontournable actuellement.

Voici les caractéristiques de Java en quelques mots :

  • Java est un langage de programmation moderne développé par Sun Microsystems (racheté depuis par Oracle). Il ne faut surtout pas le confondre avec JavaScript (langage de scripts utilisé principalement sur les sites web), car les deux n'ont rien à voir.
  • Une de ses plus grandes forces est son excellente portabilité : une fois votre programme créé, il fonctionnera automatiquement sous Windows, Mac, Linux, etc.
  • On peut faire de nombreuses sortes de programmes avec Java :
    • des applications, sous forme de fenêtre ou de console ;
    • des applets, qui sont des programmes Java incorporés à des pages web ;
    • des applications pour appareils mobiles, avec J2ME ;
    • et bien d'autres ! Java EE, JMF, J3D pour la 3D…

Comme vous le voyez, Java permet de réaliser une très grande quantité d'applications différentes ! Mais… comment apprendre un langage si vaste qui offre autant de possibilités ? o_O

Heureusement, ce cours est là pour tout vous apprendre de Java à partir de zéro :) .

Une calculatrice en Java Un jeu de pendu en Java Un programme en Java
Exemples de programmes développés en Java

N.B. : je tiens à faire une dédicace spéciale à ptipilou, zCorrecteur émérite, sans qui ce tuto n'aurait pas vu le jour !
Un grand merci pour ton travail et ton soutien ! :)

Bien commencer en Java

  1. Installer les outils de développement

    1. Installer les outils nécessaires

    2. Votre premier programme

  2. Les variables et les opérateurs

    1. Petit rappel

    2. Les différents types de variables

    3. Les opérateurs arithmétiques

    4. Les conversions, ou « cast »

    5. Depuis Java 7 : le formatage des nombres

  3. Lire les entrées clavier

    1. La classe Scanner

    2. Récupérer ce que vous tapez

  4. Les conditions

    1. La structure if… else

    2. La structure switch

    3. La condition ternaire

  5. Les boucles

    1. La boucle while

    2. La boucle do… while

    3. La boucle for

  6. TP : conversion Celsius - Fahrenheit

    1. Élaboration

    2. Correction

  7. Les tableaux

    1. Tableau à une dimension

    2. Les tableaux multidimensionnels

    3. Utiliser et rechercher dans un tableau

  8. Les méthodes de classe

    1. Quelques méthodes utiles

    2. Créer sa propre méthode

    3. La surcharge de méthode

Java Orienté Objet

  1. Votre première classe

    1. Structure de base

    2. Les constructeurs

    3. Accesseurs et mutateurs

    4. Les variables de classes

    5. Le principe d'encapsulation

  2. L'héritage

    1. Le principe de l'héritage

    2. Le polymorphisme

    3. Depuis Java 7 : la classe Objects

  3. Modéliser ses objets grâce à UML

    1. Présentation d'UML

    2. Modéliser ses objets

    3. Modéliser les liens entre les objets

  4. Les packages

    1. Création d'un package

    2. Droits d'accès entre les packages

  5. Les classes abstraites et les interfaces

    1. Les classes abstraites

    2. Les interfaces

    3. Le pattern strategy

  6. Les exceptions

    1. Le bloc try{...} catch{...}

    2. Les exceptions personnalisées

    3. La gestion de plusieurs exceptions

    4. Depuis Java 7 : le multi-catch

  7. Les énumérations

    1. Avant les énumérations

    2. Une solution : les enum

  8. Les collections d'objets

    1. Les différents types de collections

    2. Les objets List

    3. Les objets Map

    4. Les objets Set

  9. La généricité en Java

    1. Principe de base

    2. Généricité et collections

  10. Les flux d'entrée/sortie

    1. Utilisation de java.io

    2. Utilisation de java.nio

    3. Depuis Java 7 : nio II

    4. Le pattern decorator

  11. Java et la réflexivité

    1. L'objet Class

    2. Instanciation dynamique

Java et la programmation événementielle

  1. Notre première fenêtre

    1. L'objet JFrame

    2. L'objet JPanel

    3. Les objets Graphics et Graphics2D

  2. Le fil rouge : une animation

    1. Création de l'animation

    2. Améliorations

  3. Positionner des boutons

    1. Utiliser la classe JButton

    2. Positionner son composant : les layout managers

  4. Interagir avec des boutons

    1. Une classe Bouton personnalisée

    2. Interagir avec son bouton

    3. Être à l'écoute de ses objets : le design pattern Observer

    4. Cadeau : un bouton personnalisé optimisé

  5. TP : une calculatrice

    1. Élaboration

    2. Conception

    3. Correction

    4. Générer un .jar exécutable

  6. Exécuter des tâches simultanément

    1. Une classe héritée de Thread

    2. Utiliser l'interface Runnable

    3. Synchroniser ses threads

    4. Contrôler son animation

    5. Depuis Java 7 : le pattern Fork/Join

  7. Les champs de formulaire

    1. Les listes : l'objet JComboBox

    2. Les cases à cocher : l'objet JCheckBox

    3. Les champs de texte : l'objet JTextField

    4. Contrôle du clavier : l'interface KeyListener

  8. Les menus et boîtes de dialogue

    1. Les boîtes de dialogue

    2. Les menus

  9. TP : l'ardoise magique

    1. Cahier des charges

    2. Prérequis

    3. Correction

    4. Améliorations possibles

  10. Conteneurs, sliders et barres de progression

    1. Autres conteneurs

    2. Enjoliver vos IHM

  11. Les arbres et leur structure

    1. La composition des arbres

    2. Des arbres qui vous parlent

    3. Décorez vos arbres

    4. Modifier le contenu de nos arbres

  12. Les interfaces de tableaux

    1. Premiers pas

    2. Gestion de l'affichage

    3. Interaction avec l'objet JTable

    4. Ajouter des lignes et des colonnes

  13. TP : le pendu

    1. Cahier des charges

    2. Prérequis

    3. Correction

  14. Mieux structurer son code : le pattern MVC

    1. Premiers pas

    2. Le modèle

    3. Le contrôleur

    4. La vue

  15. Le Drag'n Drop

    1. Présentation

    2. Fonctionnement

    3. Créer son propre TransferHandler

    4. Activer le drop sur un JTree

    5. Effet de déplacement

  16. Mieux gérer les interactions avec les composants

    1. Présentation des protagonistes

    2. Utiliser l'EDT

    3. La classe SwingWorker<T, V>

Interactions avec les bases de données

  1. JDBC : la porte d'accès aux bases de données

    1. Rappels sur les bases de données

    2. Préparer la base de données

    3. Se connecter à la base de données

  2. Fouiller dans sa base de données

    1. Le couple Statement - ResultSet

    2. Les requêtes préparées

    3. Modifier des données

    4. Statement, toujours plus fort

    5. Gérer les transactions manuellement

  3. Limiter le nombre de connexions

    1. Pourquoi ne se connecter qu'une seule fois ?

    2. Le pattern singleton

    3. Le singleton dans tous ses états

  4. TP : un testeur de requêtes

    1. Cahier des charges

    2. Quelques captures d'écran

    3. Correction

  5. Lier ses tables avec des objets Java : le pattern DAO

    1. Avant toute chose

    2. Le pattern DAO

    3. Le pattern factory

Annexes

  1. Annexe A : liste des mots clés

    1. Les mots clés

  2. Annexe B : Eclipse

    1. Installation

    2. Raccourcis clavier utiles



Voilà : ce cours touche à sa fin. J'espère qu'il vous a plu et vous aura permis d'aborder Java en toute simplicité. Cependant, malgré son contenu, Java offre encore beaucoup de fonctionnalités que ce cours n'aura pas abordé, notamment :

  • RMI ou Remote Method Invocation, API qui permet de développer des objets pouvant être appelés sur des machines distantes. En fait, vous appelez un objet comme s'il était instancié depuis votre application alors qu'il se trouve en réalité quelque part sur le réseau. Ceci permet, entre autre, de développer des applications dites client - serveur ;
  • JMF ou Java Media Framework, collection d'objets qui permet de travailler avec des fichiers multimédia (vidéo et son) ;
  • Java 3D, API qui permet de réaliser des applications en trois dimensions ;
  • JOGL, API qui permet, tout comme Java 3D, de faire de la 3D mais cette fois en faisant un pont entre Java et la très célèbre bibliothèque OpenGL ;
  • Java EE ou Java Enterprise Edition, API de conception de sites web dynamiques très utilisée ;
  • J2ME ou Java 2 Micro Edition, API dédiée aux appareils mobiles (comme les smartphones) ;
  • LWJGL ou Lightweight Java Game Library, API qui offre la possibilité de créer des jeux vidéo.

Je ne peux pas tout nommer, mais vous êtes désormais en mesure de faire vos propres recherches pour découvrir toutes ces autres fonctionnalités de Java ! J'espère sincèrement que ce cours vous a permis de mieux comprendre le fonctionnement du langage Java et qu'il vous permettra d'aborder toutes ces API plus facilement et plus sereinement.

2 commentaires

Les commentaires multilignes : ils sont introduits par les symboles « / » et se terminent par les symboles « / ».

Il manque les astérisques. Sinon, bon tuto!

Édit : 1024=2 ^ 1 ^ 0… Il faut lire 2^10 par ailleurs l'affichage du caractère ^ plutôt qu'un notation surélevée n'apporte rien de plus à la compréhension.

Le type int (4 octets) va de -2109 à 2109 (2 et 9 zéros derrière… ce qui fait déjà un joli nombre).… confusion possible entre 2*109 et 2109

Pour pallier ce problème, il suffit de vider la ligne après les instructions ne le faisant pas automatiquement il manque une virgule après "après". Autrement le sens de la phrase est altéré et le participe présent se retrouve sans sujet.

TP : do{//tant que reponse n'est pas O ou N… c'est plutôt "tant que reponse n'est pas 1 ou 2"

Édité

+0 -0
Vous devez être connecté pour pouvoir poster un message.
Connexion

Pas encore inscrit ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte