Académique Documents
Professionnel Documents
Culture Documents
Types de variables :
o String = texte
o int = nombre entier
o double = nombre en virgule flottante
Pour déclarer une constante en Java, vous devez utiliser le mot clé final :
final int numberOfWeekdays = 7;
final String myFavouriteFood = "Icecream";
Les décimales :
o Si vous avez besoin de stocker quelque chose de grand, comme un numéro à
12 chiffres 1876.79797657, vous devrez utiliser double. En effet,
float ne pourra stocker que la moitié de ce chiffre...
Mais que se passe-t-il si je fournis des valeurs supérieures ?
Par exemple :
double a = 1876.79797657765609870978709780987;
float b = 1876.79797657765609870978709780987;
Eh bien, elles vont perdre toutes les deux un peu de précision, mais pas au même
degré :
// a -> 1876.797976
// b -> 1876.79
int a = 10;
int b = 4;
double c = a/(double) b; //-> c contient 2.5, car la valeur de b est transformée en double
String favorites = "My favorite cities are " +firstFavoriteCity+ " and
"+secondFavoriteCity; // -> "My favorite cities are New York and Buenos Aires"
package hello;
*/
System.out.println("Hello World!");
}
Vous pouvez définir des types complexes qui regroupent différents attributs
représentant un concept nommé. Ce sont des classes de modèles.Le
deuxième type de classes: les classes utilitaires.
package stringDemo;
// Faites-le savoir
System.out.println(shockingSentence.toUpperCase());
// Inversez-le
System.out.println(shockingSentence.replace("simple","primitive"));
}
}
Page java doc :
https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/
lang/String.html
package cleanHello;
*/
sayHelloTo("world");
* @param recipient
*/
La portée (scope) de cette variable est tout ce qui se trouve entre ces deux accolades.
La portée d'une variable peut être locale ou globale, en fonction de l'endroit où la variable est
déclarée. Une variable globale peut être disponible pour toutes les classes et méthodes d'un
programme, alors qu'une variable locale ne peut être disponible que dans la méthode dans
laquelle elle est déclarée :
Portée variable dans les classes
Dans notre exemple, ce sont les champs height et power. Si nous déclarons une
variable Unicorn (licorne), nous pouvons lire ou modifier ces valeurs :
Niveaux de contrôle
En Java, vous devez utiliser un des mots clés pour désigner un niveau de contrôle :
Un package regroupe des classes liées entre elles. C'est un peu comme un vrai paquet
rempli de petites choses, sauf que ces choses sont des classes ! Vous pouvez ainsi
rechercher le nom d'un package et trouver tout un tas de classes dont vous avez besoin en
un seul endroit.
Rappelez-vous que le paramètre "par défaut" est plus restrictif que "public" ou "protégé".
class Unicorn {
// propriétés
// méthodes
}
Ensuite, si vous essayez d'accéder à des membres privés de l'extérieur de la classe,
vous obtenez des erreurs :
System.out.println(unicorn.power); // Ok
unicorn.run(); // Ok
Les niveaux de contrôle peuvent être affectés aux éléments de classe ainsi qu'aux
classes :
}
Tous les éléments de code (variables, classes et membres de classe) ont des niveaux de
contrôle qui sont affectés explicitement ou par défaut.
En plus de la sécurité, la spécification de niveaux de contrôle pour les membres du
groupe permet une meilleure lisibilité. Si un développeur prépare un fichier source,
les éléments pouvant être utilisés en externe seront ainsi toujours visibles.
Hiérarchie de contrôle
Un élément peut avoir le même niveau de contrôle ou un niveau de contrôle plus restrictif
que son élément contenant :
Si vous déclarez une classe comme private, ses éléments ne peuvent être que
package-private ou private :
class PrivateClass {
Une classe de premier niveau ne peut pas être marquée comme private, mais la définir
comme « par défaut » la placera dans le niveau package-protected.
Comme vous pouvez le voir, si le niveau d'accès par défaut du contexte d'une
variable est supérieur à une classe que vous lui affectez, vous devez explicitement
spécifier le niveau de la variable comme étant le même ou inférieur à celui de la
classe.
Parfois, vous ne vous souciez pas de l'index et voulez simplement afficher la valeur
contenue dans le tableau ou la collection. Dans ce cas, Java fournit
une construction améliorée qui a la syntaxe générale suivante :
System.out.println(number);
}
Avec le "for" amélioré, il vous suffit de définir une variable du type du tableau ou de
la collection que vous souhaitez mettre en boucle. Cette variable se verra attribuer la
valeur de chaque élément du tableau ou de la collection, jusqu'à ce que vous ayez
atteint la fin.
int numberOfTrees = 0;
numberOfTrees += 1;
do{
pushUpGoal -= 1;
} while(pushUpGoal > 0);
if(i == 2 ||i == 5) {
continue;
Comme pour les variables de nommage, les noms de classes doivent être
descriptifs. La principale différence, c'est qu'au lieu d'utiliser un camelCase standard,
la première lettre devrait également être en majuscule ; par exemple,
CréationMerveilleuse et non créationMerveilleuse.
class Book {
String title;
String author;
int numberOfPages;
String publisher="OC";
Avez-vous remarqué que les trois premiers n'ont pas de valeurs, mais que le dernier
en a une ?
Vous pouvez maintenant modifier la valeur des champs à l'intérieur de votre objet !
Imaginez que vous vouliez ajouter dix pages parce que vous avez oublié de prendre
en compte l'index du livre. Vous pouvez soit taper le nouveau numéro directement,
soit ajouter dix pages à la valeur existante comme dans la troisième ligne. C'est très
pratique pour faire de petits changements. 🙂
private int x;
private int y;
this.x = newX;
this.y = newY;
}
Ensuite, nous créons une classe fille Carre :
return cote;
}
return 4*cote;
class Animal {
void deplacer() {
System.out.println("Je me déplace");
}
Appliquons le principe de polymorphisme pour cette méthode dans les différentes
classes filles Chien, Oiseau et Pigeon :
void deplacer() {
System.out.println("Je marche");
void deplacer(){
System.out.println("Je vole");
}
void deplacer() {
}
Sur toutes ces classes, vous pouvez donc appeler deplacer(). Le polymorphisme
permet alors d'appeler la méthode adéquate selon le type d'objet :
a1.deplacer();
a2.deplacer();
a3.deplacer();
}
}
Et à l'exécution, ça donne :
Je me déplace
Je marche
Je vole surtout en ville
If/else :
1. Vérifier si le tableau args contient une valeur (la propriété length fournie
par les tableaux peut nous aider ici).
2. Si c'est le cas, appeler la méthode sayhelloTo avec la valeur qu'elle contient.
3. Sinon, continuer à appeler la méthode avec la chaîne world.
Voilà ce que ça donne :
package conditions;
*/
*/
public static void main(String[] args) {
if (args.length==1) {
sayHelloTo(args[0]);
else {
sayHelloTo("world");
* @param recipient
*/
}
Maintenant :
if(condition1) {
// instructions
else if(condition2) {
// instructions
else {
// instructions
L'instruction Switch
switch(args.length) {
sayHelloTo("world");
break;
break;
break;
enum Direction {
switch (direction) {
case north:
break;
case east:
break;
case south:
break;
case west:
break;
Dans ce cas, nous couvrons toutes les directions, nous n'avons donc pas besoin de
la clause default.
Nous pouvons également définir un cas d'utilisation où nous ne devrions nous diriger
que vers le nord :
switch (direction) {
case north:
System.out.println("You are heading north");
break;
default: