Java
Présentation
- Orienté Objet
- Créé en 1995 par Sun
- Objectif => Multi plate-forme
Versions Majeures
- JDK 1.0 Initiale
- JDK 1.1 Modèle événementiel, exception
- J2SE 1.2 Extension javax, Swing, J2EE
- J2SE 1.3 Hotspot, Corba
- J2SE 1.4 Java NIO
- J2SE 1.5 Enumération, Annotations
- Java SE 6
- Java SE 7 Switch de String, multi-catch
- Java SE 8 Lambda
J2SE VS J2EE
Java SE (Anciennement J2SE) => Destiné aux postes de travail
JEE (Anciennement J2EE) => Destiné aux applications distribuées
Avantages
(prévus à la création du langage)
Simple, familier et orienté objet
![](https://s3.amazonaws.com/media-p.slid.es/uploads/benjamintourman/images/1021929/easy.gif)
Robuste et sûr
![](https://s3.amazonaws.com/media-p.slid.es/uploads/benjamintourman/images/1021957/robust.gif)
Multi plateforme
![](https://s3.amazonaws.com/media-p.slid.es/uploads/benjamintourman/images/1021965/linux-mac-windows.png)
Très performant
![](https://s3.amazonaws.com/media-p.slid.es/uploads/benjamintourman/images/1021978/rubik.gif)
Interprété, multi tâches et dynamique
![](https://s3.amazonaws.com/media-p.slid.es/uploads/benjamintourman/images/1021982/multitask.gif)
Inconvénients
Lent
![](https://s3.amazonaws.com/media-p.slid.es/uploads/benjamintourman/images/1022005/slow.gif)
Java est réputé comme lent mais correctement configuré et écrit, les programmes sont aussi rapide que certains en C++
Consommateur
![](https://s3.amazonaws.com/media-p.slid.es/uploads/benjamintourman/images/1022013/greedy.gif)
Java VS C++
- Java moins proche de la machine
- Java plus simple
- C++ meilleures performance
Composants
Composants
- JVM (Java Virtual machine) : Appareil fictif exécutant les programmes en Java
- JRE (Java Runtime Environment) : Plateforme logicielle qui permet l'exécution de programme écrit en Java. Le JRE contient une JVM ainsi que des bibliothèques logicielles
- JDK (Java Development Kit) : Ensemble de bibliothèques logicielles permettant l'écriture de programme Java
Types
- Primitifs = ce sont des types de données non objet
- byte, boolean, char, short, int, long, float, double
- Wrapper ou "Classe enveloppe" = ce sont des classes qui encapsulent des données de type primitif et permettent d'effectuer des modification dessus via l'appel de méthodes
- Byte, Boolean, Character, Short, Integer, Long, Float, Double, String
Opérateurs
Opérateurs de calcul
Opérateur | Dénomination | Effet | Exemple | Résultat (int x=7) |
---|---|---|---|---|
+ | opérateur d'addition | Ajoute deux valeurs | x+3 | 10 |
- | opérateur de soustraction | Soustrait deux valeurs | x-3 | 4 |
* | opérateur de multiplication | Multiplie deux valeurs | x*3 | 21 |
/ | opérateur de division | Calcul le quotient de la division de deux valeurs | x/3 | 2 |
% | opérateur de congruence | Calcul le reste de la division de deux valeurs | x%3 | 1 |
= | opérateur d'affectation | Affecte une valeur à une variable | x=3 | Met la valeur 3 dans la variable x |
Opérateurs d'assignation
Opérateur | Effet |
---|---|
+= | addition deux valeurs et stocke le résultat dans la variable (à gauche) |
-= | soustrait deux valeurs et stocke le résultat dans la variable |
*= | multiplie deux valeurs et stocke le résultat dans la variable |
/= | divise deux valeurs et stocke le quotient dans la variable |
%= | divise deux valeurs et stocke le reste dans la variable |
Opérateurs d'incrémentation
Opérateur | Dénomination | Effet | Syntaxe | Résultat (int x=7) |
---|---|---|---|---|
++ | Incrémentation | Augmente d'une unité la variable | x++ ou ++x | 8 |
-- | Décrémentation | Diminue d'une unité la variable | x-- ou --x | 6 |
Opérateurs de comparaison
Opérateur | Dénomination | Effet | Exemple | Résultat |
---|---|---|---|---|
== À ne pas confondre avec le signe d'affectation = |
opérateur d'égalité | Compare deux valeurs et vérifie leur égalité | x==3 | Retourne true si x est égal à 3, sinon false |
< | opérateur d'infériorité stricte | Vérifie qu'une variable est strictement inférieure à une valeur | x<3 | Retourne true si x est inférieur à 3, sinon false |
<= | opérateur d'infériorité | Vérifie qu'une variable est inférieure ou égale à une valeur | x<=3 | Retourne true si x est inférieur ou égal à 3, sinon false |
Opérateurs de comparaison
Opérateur | Dénomination | Effet | Exemple | Résultat |
---|---|---|---|---|
> | opérateur de supériorité stricte | Vérifie qu'une variable est strictement supérieure à une valeur | x>3 | Retourne true si x est supérieur à 3, sinon false |
>= | opérateur de supériorité | Vérifie qu'une variable est supérieure ou égale à une valeur | x>=3 | Retourne true si x est supérieur ou égal à 3, sinon false |
!= | opérateur de différence | Vérifie qu'une variable est différente d'une valeur | x!=3 | Retourne true si x est différent de 3, sinon false |
Opérateurs logiques
Opérateur | Dénomination | Effet | Syntaxe |
---|---|---|---|
|| | OU logique | Retourne true si au moins une des deux conditions vaut true (ou false sinon) | condition1 || condition2 |
&& | ET logique | Retourne true si les deux conditions valent true (ou false sinon) | condition1 && condition2 |
! | NON logique | Retourne true si la variable vaut false, et false si elle vaut true) | !condition |
Création d'une classe
public class Personne {
private String nom;
private String prenom;
private String adresse;
private int age;
public Personne(String nom, String prenom, String adresse, int age) {
this.nom = nom;
this.prenom = prenom;
this.adresse = adresse;
this.age = age;
}
}
Création d'un objet
Personne ironMan = new Personne("Stark", "Tony", "10880 Malibu point", 42);
Appel de méthodes
// Demande l'age de l'objet ironMan
ironMan.getAge();
// Demande le prénom de l'objet ironMan
ironMan.getPrenom();
// Demande le nom de l'objet ironMan
ironMan.getNom();
Cours Java
By benjamin tourman
Cours Java
- 448