Java est un langage à typage statique, ce qui signifie que chaque élément possède un type au moment de la compilation. Affecter une valeur à un nom s'appelle définir une variable.
int explicitVar = 10; // Explicitly typed
On peut affecter et mettre à jour la valeur d'une variable avec l'opérateur =. Une fois définie, le type d'une variable ne peut plus jamais changer.
int count = 1; // Assign initial value
count = 2; // Update to new value
// Compiler error when assigning different type
// count = false;
Java est un langage orienté objet et impose que toutes les fonctions soient définies dans une classe, que l'on définit avec le mot-clé class. Une fonction au sein d'une classe s'appelle une méthode. Chaque méthode peut prendre zéro ou plusieurs paramètres. Tous les paramètres doivent être typés explicitement : il n'y a pas d'inférence de type pour les paramètres. De même, le type de retour doit lui aussi être explicite. Les fonctions renvoient leurs valeurs avec le mot-clé return. Pour qu'une méthode puisse être appelée par d'autres classes, il faut ajouter le modificateur d'accès public.
class Calculator {
public int add(int x, int y) {
return x + y;
}
}
Invoquer une méthode consiste à préciser le nom de sa classe et le nom de la méthode, puis à passer les arguments correspondant à chacun de ses paramètres.
int sum = new Calculator().add(1, 2);
Si une méthode n'utilise aucun état de classe (c'est le cas dans cet exercice), on peut la rendre static avec le modificateur static. De même, si une classe ne contient que des méthodes static, elle peut elle aussi être rendue static avec le modificateur static.
static class Calculator {
public static int multiply(int x, int y) {
return x * y;
}
}
En Java, la portée est délimitée par les caractères { et }.
Java prend en charge deux types de commentaires. Les commentaires sur une seule ligne sont précédés de // et les commentaires multilignes s'insèrent entre /* et */.
Les valeurs entières sont définies comme une ou plusieurs suites de chiffres (consécutifs) et prennent en charge les opérateurs mathématiques par défaut.