Java è un linguaggio a tipizzazione statica: tutto ha un tipo in fase di compilazione. Assegnare un valore a un nome si chiama definire una variabile.
int explicitVar = 10; // Explicitly typed
Il valore di una variabile può essere assegnato e aggiornato usando l'operatore =.
Una volta definita, il tipo di una variabile non può mai cambiare.
int count = 1; // Assign initial value
count = 2; // Update to new value
// Compiler error when assigning different type
// count = false;
Java è un linguaggio orientato agli oggetti e richiede che tutte le funzioni siano definite in una classe, che a sua volta si definisce con la parola chiave class.
Una funzione all'interno di una classe si chiama metodo.
Ogni metodo può avere zero o più parametri.
Tutti i parametri devono avere un tipo esplicito: non c'è inferenza di tipo per i parametri.
Allo stesso modo, anche il tipo restituito deve essere esplicitato.
I valori vengono restituiti dalle funzioni con la parola chiave return.
Per permettere ad altre classi di chiamare un metodo, bisogna aggiungere il modificatore di accesso public.
class Calculator {
public int add(int x, int y) {
return x + y;
}
}
Per chiamare un metodo si specifica la sua classe e il nome del metodo e si passano gli argomenti per ciascuno dei suoi parametri.
int sum = new Calculator().add(1, 2);
Se un metodo non usa alcuno stato della classe (come in questo esercizio), il metodo può essere reso statico con il modificatore static.
Allo stesso modo, se una classe ha solo metodi statici, anche la classe può essere resa statica con il modificatore static.
static class Calculator {
public static int multiply(int x, int y) {
return x * y;
}
}
In Java, lo scope è definito tra i caratteri { e }.
Java supporta due tipi di commenti.
I commenti su una sola riga sono preceduti da //, mentre i commenti multilinea si inseriscono tra /* e */.
I valori interi sono definiti come una o più cifre (consecutive) e supportano i comuni operatori matematici.