Vous êtes sur la page 1sur 13

Connaître

JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

1 - Un peu d'histoire autour de Java


Le Java est une technologie développée à la base par Sun Microsystems dont les
débuts datent de 1990. Ses deux créateurs, James Gosling et Patrick
Naughton, voulaient apporter deux grands principes avec ce nouveau langage :

• des applications pouvant fonctionner sur n'importe quel matériel (hardware),


• un langage beaucoup plus simple à appréhender que le C++.
Contrairement au C++, avec Java les développeurs n'ont plus besoin de gérer la mémoire de
leurs programmes. Cela facilite l'apprentissage et évite de nombreuses erreurs.
Java doit son succès principalement au fait qu'il a grandi en même temps
que l'arrivée d'internet. De nombreux outils intégrés dans Java permettent
de développer facilement des projets web.

Dans la fin des années 90 et au début des années 2000, une technologie Java est
très présente sur le Web : les applets Java. Ce sont des applications Java,
exécutées directement dans le navigateur, qui permettent d'avoir beaucoup plus
de fonctionnalités qu'avec les versions d'HTML , CSS et JavaScript disponibles à
l'époque.

Aujourd'hui, les applets ne sont plus vraiment utilisées. De nouveaux outils,


s'appuyant également sur Java, ont pris le dessus et sont très présents sur
l'ensemble des infrastructures informatiques et web. Depuis 2009 c'est
l'entreprise Oracle qui est en charge du développement de Java.

On retrouve Java côté Backend dans de nombreux secteurs, tels que le big data, le
web, le mobile ou encore dans les serveurs de jeux en ligne.

En développement, on distingue le développement Frontend et le


développement Backend.
• Le développement Frontend regroupe tout ce qui est visible par
l'utilisateur. Les boutons, les animations, les textes affichés à l'écran,
etc. Dans ce contexte, le design et l'expérience utilisateur sont très
importants.
• Le développement Backend regroupe les traitements effectués "en
coulisse", ceux que l'utilisateur ne voit pas forcément. Par exemple le
mécanisme de gestion des amis dans un réseau social.


Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

2 - Pourquoi apprendre Java ?


Java est aujourd'hui le langage le plus répandu dans les entreprises selon
l'index TIOBE, cela est dû à :

• son grand succès dans les années 90 ;


• les outils très riches, variés et matures dont ils disposent ;
• sa très grande communauté, qui permet de facilement trouver de l'aide si
besoin ;
• sa facilité de prise en main.
Java, depuis plusieurs années, est largement en tête des offres d'emplois dans le
secteur informatique.

Le salaire moyen pour un développeur Java junior se situe entre 35 000€ (22 956
022 Fcfa) et 42 000€ (27 547 226 Fcfa) selon le cabinet de recrutement Urban
Linker . Maîtriser ce langage, c'est l'assurance d'obtenir facilement un travail, et
ce dans beaucoup de secteurs différents (santé, banque, publicité, assurance,
etc.).

Java est un langage destiné à créer des


applications riches, robustes, maintenables dans le temps et développées par
de grosses équipes. C'est un langage à taille d'entreprise. Le Java n'est pas
destiné à être utilisé pour de petites applications ou de simples scripts exécutant
une tâche.

Quand on parle de Java, on ne parle pas seulement du langage mais aussi de


tout l'écosystème qui va autour. Des centaines d'outils associés à Java en font
l'un des 3 grands piliers du Backend web. Parmi ces piliers on trouve :
• l'écosystème Java ;
• les technologies Microsoft .NET ;
• le reste : PHP, NodeJS, Ruby, etc.
Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

3 - Le fonctionnement de Java
En développement logiciel, il existe différents types de langages
: compilés, interprétés ou intermédiaires.

C'est la façon dont votre ordinateur va comprendre et exécuter le code qui


va déterminer la classification d'un langage dans une catégorie ou dans une autre.

Quand vous développez un programme, vous allez écrire un langage qui


est humainement compréhensible. Votre ordinateur ne comprend pas
directement le code que vous écrivez.

a) Langage compilé
L'étape de compilation, c'est l'étape durant laquelle le code que vous avez écrit va
être transformé en code compréhensible par votre ordinateur (plus exactement
votre processeur). Cette étape se fait une seule et unique fois. Le logiciel qui va
effectuer cette transformation s'appelle un compilateur.

Comme langage compilé, il y a par exemple le C, le C++ ou encore le Cobol.

Quand un programme est compilé sur un ordinateur, il ne va pas forcément fonctionner sur
un autre ordinateur (si le système d'exploitation diffère par exemple). Il faudra le re-
compiler sur cet ordinateur pour qu'il fonctionne. Ce processus est parfois long et peut
prendre plusieurs dizaines de minutes.

b) Langage interprété
Dans les langages interprétés, un nouveau type de logiciel vient remplacer les
compilateurs, il s'agit d'un interpréteur. C'est un logiciel qui va lire votre code ligne
par ligne et l'exécuter au fur et à mesure. Cette étape se fait à chaque fois que le
programme est démarré.

Ce procédé impacte forcément les performances puisqu'il ajoute une étape


supplémentaire pendant l'exécution du programme. Le gros avantage est que le
code peut fonctionner sur n'importe quel système sans devoir le re-compiler.

JavaScript, Python et PHP sont des langages interprétés.

Aujourd'hui les interpréteurs sont optimisés et vont effectuer une étape de "compilation" à
la première lecture d'une ligne de code pour éviter de devoir relire la ligne à chaque fois.

c) Langage intermédiaire
Les langages intermédiaires sont plus rares. Java fait partie de cette catégorie.
C'est un compromis entre les deux précédents types.

Dans un premier temps, un compilateur va être utilisé pour transformer le code dans
un code pseudo-compilé. Ce code pseudo-compilé n'est pas directement
compréhensible par la machine mais est beaucoup plus rapide à lire par celle-ci.
Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

Dans un deuxième temps, un interpréteur est utilisé pour faire fonctionner ce


langage. Étant donné que le code est pseudo-compilé, l'interpréteur est beaucoup
plus rapide.

On a donc l'avantage d'un langage fonctionnant partout et avec de bonnes


performances.

Comme pour les langages interprétés, le pseudo-code est bien souvent lui
aussi compilé définitivement à la première lecture ou au bout d'un certain nombre
de lectures. C'est le cas en Java.
Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

4 - La JVM
Le pseudo-langage en Java s'appelle le ByteCode. L'interpréteur Java s'appelle
la Java Virtual Machine (JVM). Cet interpréteur comprend de nombreux outils :

• un interpréteur de ByteCode ;
• un outil de gestion de la mémoire ;
• un ensemble de fonctionnalités déjà codées ;
• un optimiseur de code.
La JVM existe pour Windows, Linux, Mac OS X, Android ou encore Solaris et
Amiga.

La JVM est un outil puissant et performant. C'est pourquoi des développeurs ont
créé des outils capables de compiler d'autres langages vers du ByteCode. On peut
donc par exemple rendre compatible du Python et du Java. Cela grâce à un outil
nommé Jython.
Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

5 - Les variables
Dans tous les langages informatiques dès que vous souhaitez que
l'ordinateur retienne une information, vous utilisez une variable.

Vous aurez ensuite la possibilité de réutiliser la valeur contenue dans la variable


plus tard, pour pouvoir l'afficher ou même la modifier.

Nous créons la variable avec un nom choisi. Ce sera plus simple pour s'y retrouver.

Exemple, nous allons enregistrer une variable nommée age , qui contiendra votre
âge. Si vous essayez de faire age = 29; , cela ne marchera pas. Car la variable
age n'existe pas encore. Il va falloir la créer.

En Java, une variable ne peut pas contenir tout et n'importe quoi, vous devez
indiquer à Java si elle va contenir :

• un nombre entier,
• un nombre décimal,
• du texte,
• etc.
Une fois que vous aurez créé la variable age en indiquant à Java qu'elle va
contenir un nombre entier, elle ne pourra pas contenir un autre type d'information.
Vous pourrez changer 27 par 28 . Mais pas 27 par 27.5 , encore
moins 27 par "Hello World" .

Pour indiquer à Java que nous voulons créer une variable de type nombre entier il
faut indiquer int, puis le nom de la variable. int signifie ici integer (soit "entier"
en anglais).

Pour changer la valeur utilisez le symbole = , on appelle cela une assignation.


Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

6 - Les différents types


Il existe beaucoup de types différents en Java. Certains simples,
appelés primaires. D'autres plus complexes, appelés objets.

a) Les types primitifs (simples)


Nous allons commencer par 3 types primitifs :

int
Le type int, dont on a déjà vu un exemple ensemble, représente les nombres entiers.
Vous avez la possibilité de :

• les additionner avec + ;


• les soustraire avec - ;
• les multiplier avec * ;
• effectuer une division entière avec / ;
• obtenir le reste de la division entière en utilisant le modulo noté % .

double
Le type double, représente les nombres décimaux. Vous avez la possibilité de :

les additionner avec + ;



• les soustraire avec - ;
• les multiplier avec * ;
• effectuer une division décimale avec / ;
• obtenir le reste de la division entière avec un int en utilisant
le modulo noté % .
boolean
Le type boolean sert à contenir simplement l'information vrai ou faux . C'est un
type que nous utiliserons beaucoup par la suite quand nous verrons les conditions.

Le nommage d'une variable peut paraître simple et peu important, au contraire !


La façon dont vous nommez chaque élément de votre code va le
rendre lisible et agréable à modifier pour d'autres développeurs.

Une bonne pratique est d'utiliser le format camelCase. Cette pratique consiste
à nommer vos variables en commençant par une minuscule et en
mettant une majuscule pour chaque nouveau mot. Par exemple
: userAge, carSpeedMax, levelWarrior, productPrice.

b) Les types objets (complexes)


Il existe des centaines de types complexes intégrés dans Java, auxquels on peut
ajouter ceux que vous allez créer.

Quand on parle de types complexes/objets, il faut le voir comme les objets de la


vie réelle. Si vous prenez une télévision, vous avez la possibilité de : l'allumer,
Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

l'éteindre ou changer de chaine. Pour faire fonctionner ces différentes


fonctionnalités la télévision possède des composants : des résistances, une dalle,
des boutons, etc.
Une variable de type objet est donc une variable qui possède des fonctionnalités et
des composants. Vous pouvez très bien représenter une télévison, une voiture ou
encore une chaussure avec les types objets.

Vous pouvez aussi représenter des concepts moins concrets comme des mots :
vous pouvez les assembler, les découper ou encore les compter. Chaque
mot possède comme composant des lettres.

Dans ce cours, nous allons dans un premier temps voir comment utiliser les
types objets, puis dans un second temps, comment créer votre propre type objet.

Pour l'instant nous n'allons en voir qu'un seul. Vous allez en découvrir beaucoup
d'autres durant ce cours. Avec les types complexes vient un nouveau mot clé new .

String
Le type String représente les chaînes de caractères : le texte, les phrases ou les
mots si vous préférez.

Il y a énormément de possibilités avec les chaînes de caractères, c'est pour cela


que String est un type complexe/objet. On peut par exemple :

• découper le texte,
• remplacer des mots par d'autres,
• compter le nombre de caractères,
• etc.
Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

7 - Les conditions
La condition est un des outils basiques de tout langage informatique. Il s'agit dans
votre code de mettre en place une ligne qui va dire "si telle condition est vraie
alors effectue telle action".

Une condition s'écrit de la forme suivante :

if (condition) {

code à effectuer

}
•On commence par le mot-clé if (pour si, en anglais),
• puis entre parenthèses () , on met la condition à vérifier,
• enfin entre accolades {} , on met le code à effectuer, si la condition est
validée.
Pour écrire une condition, on va utiliser les opérateurs mathématiques basiques, à
savoir "est supérieur", "est égal", "est inférieur ou égal", etc.

Voici la liste des principaux opérateurs et leur représentation en code :

est égal ==

n'est pas égal !=

est supérieur >

est inférieur <

est supérieur ou égal >=

est inférieur ou égal <=

On a la possibilité de mettre plusieurs conditions à l'aide de 2 autres


opérateurs et des parenthèses (comme pour les priorités de calculs
mathématiques) :

ET &&

OU ||

Priorité ( condition )
Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

8 - Les booleans
Quand vous définissez une condition, par exemple nbEntier == 21 , sans que
vous le sachiez Java va créer une variable de type boolean, qui va
valoir true ou false selon si la condition est respectée ou non.

jshell> nbEntier == 21;


$2 ==> true

jshell> nbEntier == 22;


$3 ==> false
Java a bien créé 2 variables pour ces 2 conditions. Quand vous utilisez le mot
clé if , Java vérifie que la condition entre parenthèses vaut true ou vaut false .
Si elle est true , on rentre dans la condition.

Vous pouvez donc tout à fait écrire :

jshell> if (true) {
...> System.out.println("True !");
...> }
True !
Ça n'a pas trop de sens comme condition, mais ça marche !

Pourquoi je vous explique cela ? Et bien souvenez-vous du chapitre précédent dans


lequel nous avions effectué contains sur une variable de type String . Cela avait
créé une variable de typeboolean :

• valant true si la variable contenait le mot recherché ;


• valant false , si ce n'était pas le cas.
Beaucoup d'outils en Java fonctionnent avec des boolean pour faciliter
l'écriture de conditions
Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

9 - Sinon et Sinon Si
Nous avons vu la possibilité d'effectuer du code si une condition est respectée.
Nous avons aussi la possibilité, avec le mot-clé else , d'exécuter du code si elle ne
l'est pas.

Voilà comment cela fonctionne :

jshell> if (str.contains("World")) {
...> System.out.println("str contient World");
...> } else {
...> System.out.println("str ne contient pas World");
...> }
str contient World
Si je change le contenu de str, le résultat ne sera pas forcément le même :

jshell> str = "Bonjour le Monde !";


str ==> "Bonjour le Monde !"

jshell> if (str.contains("World")) {
...> System.out.println("str contient World");
...> } else {
...> System.out.println("str ne contient pas World");
...> }
str ne contient pas World
Et oui, cette fois notre variable String ne contient plus le mot "World".

Enfin il existe une dernière possibilité permettant de prévoir plusieurs cas. Cela
s'effectue avec le mot-clé else if comme ceci :

jshell> if (str.contains("World")) {
...> System.out.println("str est en anglais");
...> } else if (str.contains("Monde")) {
...> System.out.println("str est en français");
...> } else if (str.contains("Mundo")) {
...> System.out.println("str est espagnol");
...> } else {
...> System.out.println("str n'est pas dans une langue
connue par le logiciel");
...> }

str est en français


Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

10 - Switch
Non, je ne vais pas vous parler de consoles de jeux vidéo, mais d'un autre outil
permettant de mettre en place des conditions : le switch !

Cet outil n'apporte aucune fonctionnalité en plus que le triplet if , else


if , else . Il facilite simplement la lecture quand nous avons beaucoup de else if .

Il s'utilise dans le cas où une variable peut prendre beaucoup de valeurs


différentes et que nous souhaitons avoir un comportement pour chacune de ces
valeurs.

Le switch s'utilise comme ceci :

switch (variable que l'on souhaite comparer) {

case valeur n°1 :

action à effectuer pour la valeur n°1;

break;

case valeur n°2 :

action à effectuer pour la valeur n°2;

break;

default :

action à effectuer pour tout autre valeur;

break;

}
1. On commence par le mot-clé switch,
2. puis entre parenthèses () la variable dont on souhaite comparer les
valeurs.
3. Pour chaque valeur on commence par le mot-clé case,
4. puis la valeur voulue suivie de deux points : ,
5. l'action à effectuer pour la valeur voulue,
6. le mot-clé break; pour dire qu'il n'y a plus d'actions à effectuer pour cette
valeur,
7. enfin le mot-clé default , pour les autres cas (c'est le else).
8. De la même façon default est suivi du code à effectuer et du mot-clé break;.
Connaître JAVA / Source : OpenClassRooms / Edité par : Brunell Josny

Vous aimerez peut-être aussi