Les bases de Java

Bonjour à tous,

Comme je vous l’ai dit dans mon précédent article, je suis en train de suivre le cours  “Apprenez à programmer en JAVA” sur OpenClassRoom.

Cet article va me servir de cahier de brouillon, et en même temps ça pourra peut-être vous servir de base de rappel pour vous aussi 🙂

Donc cet article n’est pas là pour vous apprendre, ce n’est pas un cours, mais un résumé que je me fais. Pour le comprendre, vous aurez besoin d’avoir déjà lu le cours au moins une fois.

Certains exemple où bout de texte sont repris directement du cours, inutile de réinventer la roue 🙂

 

Afficher du texte :

 

System.out.print("Bonjour à tous ! \n");
System.out.println("Mon prénom est :");
System.out.println("\nLaurent");

 

La commande System.out.print() permet d’afficher du texte sans retour à la ligne. Le \n provoque le retour à la ligne.

System.out.println() provoque toujours un retour à la ligne.

Le code précédent donne en résultat :

Bonjour à tous !
Mon prénom est :

Laurent

 

Variables et opérateurs :

 

byte (1 octet) peut contenir des entiers entre -128 et +127.

short (2 octets) peut contenir des entiers entre -32768 et +32767.

int (4 octets) peut contenir des entiers entre -2147483648 et +2147483647.

long (8 octets) peut contenir des entiers entre -9223372036854775808 et +9223372036854775807.
Au moment d’enregistrer le nombre dans la variable, il faut ajouter un “L” à la fin du nombre.
anneeLumiere = 9460700000000000L;

float (4 octets) utilisé pour les nombres avec une virgule flottante. f à la fin du nombre.
pi = 3.141592653f;

double (8 octets) utilisé lui aussi pour les nombres à virgules flottante, mais plus grand. d à la fin.
division = 0.3333333333333333333333334d;

Pour ce qui concerne les nombres, le plus souvent nous allons utilisé les int et les double, les autres variables étant plutôt inutiles d’après ce que j’en comprends.

char permet de stocker un caractère : caractere = ‘A’;

boolean ne peut contenir que 2 valeurs : true où false : question = true;

String est une variable de type objet et permet de stocker des chaines de caractères.

 

Convention de nommage :

 

  • Les noms de classes commencent par une majuscule
  • Les noms de variables commencent par une minuscule
  • Si le nom d’une variable contient plusieurs mots, le premier commence en minuscule et les suivants par une majuscule, le tout sans mettre de séparation entre les mots.
  • On ne met aucun accent dans les mots.

 

Opérateurs arithmétiques :

 

On utilise les opérateurs habituels : + – * / ainsi que modulo : %

Modulo signifie le reste d’une division.

ex : 5 % 3 = 2 car dans 5 il y a 3 * 1 et il reste 2.
ex : 6 % 3 = 0 car dans 6 il y a 3 * 2 et il reste 0.

 

Différentes syntaxes pour les calculs :

 

int nombre = 1;
nombre = nombre + 1; // maintenant nombre vaut 2
nombre += 1; // maintenant nombre vaut 3
nombre += 3; // maintenant nombre vaut 6
nombre++; // maintenant nombre vaut 7 (cette méthode ne permet d'incrémenter que de 1)
++nombre; // maintenant nombre vaut 8 (idem)

 

la syntaxe est identique pour la soustraction, nous parlerons de décrémentation.

Voici les syntaxes pour les multiplications et divisions :

 

int nombre = 1;
nombre = nombre * 3; // maintenant nombre vaut 3
nombre *= 3; // maintenant nombre vaut 9
nombre = nombre / 3; // maintenant nombre vaut 3
nombre /= 3; // maintenant nombre vaut 1

 

Attention : on ne fait d’arithmétrie que sur un même type de variable. Exemple on ne divise pas un int par un double.

 

Afficher le contenu d’une variable + 1 texte :

 

System.out.println(nomDeLaVariable);
system.out.println("Ma variable est : " + nomDeLaVariable);
system.out.println("Variable 1 multiplié par variable 2 = " + variable1*variable2);

 

Conversion (où Cast) :

 

Pour ceci je vous renvoi vers le cours, je trouve ça plutôt compliqué pour le moment, quand j’aurais bien compris, je mettrai un abrégé ici.

 

Formatage des nombres :

 

Il est possible de rajouter des underscore _ entre les nombres pour faciliter leurs lecture :

int nombre = 132_564, nombre1 = 56__852_324;

Le nombre d’underscore entre les chiffres n’a pas d’importance, à vous de faire comme il vous convient le mieux pour lire.

Pour moi il est plus lisible de noter : 56_852_324 plutôt que 56852324.

Pareil si vous enregistrez un numéro de téléphone 06_23_xx_xx_xx est pour moi plus lisible que 0623xxxxxx.

Il est également possible d’enregistrer les nombres en binaire où en hexadécimal en utilisant les préfixes 0b et 0x (ce sont des zéros, il faut que je change la police de caractère du site.. donc zéro b et zéro x attaché). Ex :

nombre = 200; peut s’écrire nombre = 0b11001000; où nombre = 0xC8;

nombre = 356908; peut s’écrire nombre = 0b1010111001000101100; où nombre = 0x5722c

Si besoin vous trouverez ici un excellent convertisseur Décimal/Hexa/Binaire

 

Récupérer des frappes au clavier :

 

Pour cela il faut écrire dans votre méthode main : Scanner sc = new Scanner(System.in);

Comme c’est la première utilisation, vous obtenez une erreur et il faut importer la classe scanner. Placez vous sur “Scanner” 1 seconde et un menu apparait. Cliquez sur “Import ‘Scanner’ (java.util)”. Cette phrase “import java.util.Scanner;” apparait au dessus de la déclaration de classe. Vous pouvez aussi l’écrire directement. L’erreur disparait.

On récupère le texte tapé en utilisant :

 

String nomDeVariable = sc.nextLine(); // permet de récupérer une chaine de caractère
int nomDeVariable = sc.nextInt(); //permet de récupérer un nombre grand entier
double nomDeVariable = sc.nextDouble(); // permet de récupérer un nombre décimal
long nomDeVariable = sc.nextLong(); // permet de récupérer un très grand nombre entier 
byte nomDeVariable = sc.nextByte(); // permet de récupérer un petit nombre entier
// etc..

 

Exemple :

 

		Scanner sc = new Scanner(System.in);
		
		// Saisie 1er mot
		
		System.out.println("Veuillez saisir un mot :");
		String mot = sc.nextLine();
		System.out.println("Vous avez saisi : " + mot);
		
		// Saisie 2ème mot
		
		System.out.println("Veuillez saisir un nouveau mot :");
		String mot2 = sc.nextLine();
		System.out.println("Vous avez saisi : " + mot2);
		
		// Saisie 1er nombre
		
		System.out.println("Veuillez saisir un nombre :");
		int nombre = sc.nextInt();
		System.out.println("Vous avez saisi : " + nombre);
		
		// Saisie 2ème nombre
		
		System.out.println("Veuillez saisir un nouveau nombre :");
		int nombre2 = sc.nextInt();
		System.out.println("Vous avez saisi : " + nombre2);
		
		// Saisie 3ème mot
		
		System.out.println("Veuillez saisir un nouveau mot :");
		sc.nextLine();
		String mot3 = sc.nextLine();
		System.out.println("Vous avez saisi : " + mot3);
		
		// C'est fini
		
		System.out.println("FIN DU SCRIPT");

 

Attention : vous remarquez l’utilisation de sc.nextLine(); avant de récupérer le String du 3ème mot.

Vous pouvez mettre plusieurs “String nomDeVariable = sc.nextLine();” d’affilé, mais (je n’ai pas bien compris pourquoi..), si vous utilisez autre chose comme la récupération des frappes pour un int, alors il faut vider la ligne en utilisant “sc.nextLine();” sinon vous ne pourrez plus récupérer de String… Pour le prouver, supprimez le “sc.nextLine();” dans le paragraphe du mot3 et réessayez le script.

 

Pour récupérer un caractère dans un String il faut faire :

 

String mot = sc.nextLine();
char caractere = mot.charAt(0);

 

En faisant ceci vous venez de récupérer le premier caractère de votre variable “mot”, si vous mettez “char caractere = mot.charAt(1);”, vous récupérerez le 2ème caractère.

 

Les Conditions :

 

Les conditions permettent de lancer des petits morceaux de scripts différents suivant les conditions que vous voulez.

Pour cela il faut connaitre les opérateurs logiques.

 

opérateurs logiques :

 

« == » : permet de tester l’égalité.
!= : permet de tester l’inégalité.
< : strictement inférieur.
<= : inférieur ou égal. > : strictement supérieur.
>= : supérieur ou égal.
&& : l’opérateur ET. Il permet de préciser une condition
|| : le OU. Même combat que le précédent.
?: : l’opérateur ternaire.

 

La structure if… else :

 

Traduction : si … sinon …

 

		Scanner sc = new Scanner(System.in);
		
		System.out.println("Veuillez saisir un nombre :");
		int nombre = sc.nextInt();
		System.out.println("Vous avez saisi : " + nombre);
		
		if (nombre >= 10)
			System.out.println("Ce nombre est supérieur où egal à 10");
		else
			System.out.println("Ce nombre est inférieur à 10");

 

Remarques :

  • Quand on utilise if et else, on ne met pas de “;” à la fin de la ligne.
  • S’il y a plus d’une ligne de code dans if où else il faut utiliser les “{ }” pour indiquer le début et la fin.

 

La structure  if… else if… else :

 

Traduction  : si… sinon si… sinon…

 

		Scanner sc = new Scanner(System.in);
		
		System.out.println("Veuillez saisir un nombre :");
		int nombre = sc.nextInt();
		System.out.println("Vous avez saisi : " + nombre);
		
		if (nombre >= 10)
			System.out.println("Ce nombre est supérieur où egal à 10");
		else if (nombre >= 5)
			System.out.println("Ce nombre est compris entre 5 et 9");
		else if (nombre == 4)
			System.out.println("Ce nombre vaut 4");
		else
			System.out.println("Ce nombre est inférieur à 4");
		
		System.out.println("FIN DU SCRIPT");

 

Remarque :

  • Vous pouvez utiliser autant de “else if” que vous voulez.
  • Une fois qu’une condition est juste, le script ne teste pas les autres conditions (c’est pour cela que si vous écrivez 16, la réponse est “Ce nombre est supérieur où égale à 10” uniquement, car sinon il aurait du mettre aussi le premier else if qui est supérieur où égal à 5).

 

Les conditions multiples :

 

Il est possible de mettre plusieurs test logique dans le même test :

 

		Scanner sc = new Scanner(System.in);
		
		System.out.println("Veuillez saisir un nombre :");
		int nombre = sc.nextInt();
		System.out.println("Vous avez saisi : " + nombre);
		
		if ( nombre >= 10 && nombre <= 50)
			System.out.println("Ce nombre est compris entre 10 et 50");
		else if (nombre == 8 || nombre == 9)
			System.out.println("Ce nombre est compris entre 8 et 9");
		else if (nombre > 50)
			System.out.println("Ce nombre est supérieur à 50");
		else
			System.out.println("Ce nombre est inférieur à 8");
		
		System.out.println("FIN DU SCRIPT");

 

Remarque : j’ai utilisé l’opérateur ET (&&) ainsi que l’opérateur OU (||)

 

La structure switch :

 

J’en suis plus loin mais je rajouterai au fur et à mesure 🙂

 

Tu trouves cela utile? n’hésite pas à me laisser un petit remerciement dans les commentaires ci-dessous 🙂

Tu as trouvé une erreur où tu sais répondre à une de mes interrogations? Les commentaires sont là pour ça aussi ^^

Merci

Laurent Cipicchia

Laurent Cipicchia

Bonjour à tous,

Je m'appelle Cipicchia Laurent, 33 ans, et je suis passionné d'informatique, de tout ce qui est high-tech, de référencement white comme black. Je passe mon temps libre à fouiller le net comme un geek.

Laurent Cipicchia

Les derniers articles par Laurent Cipicchia (tout voir)


Écrit dans Java par Laurent Cipicchia

Laisser un commentaire

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

Les bases de Java

par Laurent Cipicchia Temps de lecture : 7 min
0