Java é uma linguagem de tipos estáticos, o que significa que tudo tem um tipo em tempo de compilação. Atribuir um valor a um nome chama-se definir uma variável.
int explicitVar = 10; // Explicitly typed
O valor de uma variável pode ser atribuído e atualizado com o operador =.
Depois de definida, o tipo de uma variável nunca pode mudar.
int count = 1; // Assign initial value
count = 2; // Update to new value
// Compiler error when assigning different type
// count = false;
Java é uma linguagem orientada a objetos e exige que todas as funções sejam definidas numa classe, que se define com a palavra-chave class.
Uma função dentro de uma classe chama-se método.
Cada método pode ter zero ou mais parâmetros.
Todos os parâmetros têm de ser tipados explicitamente; não há inferência de tipos para os parâmetros.
Da mesma forma, o tipo de retorno também tem de ser explícito.
Os valores são devolvidos pelas funções com a palavra-chave return.
Para permitir que outras classes chamem um método, é preciso acrescentar o modificador de acesso public.
class Calculator {
public int add(int x, int y) {
return x + y;
}
}
Para invocar um método, indicas o nome da classe e do método e passas um argumento por cada parâmetro do método.
int sum = new Calculator().add(1, 2);
Se um método não usar nenhum state da classe (que é o caso neste exercício), podes torná-lo static com o modificador static.
Da mesma forma, se uma classe só tiver métodos static, também ela pode tornar-se static com o modificador static.
static class Calculator {
public static int multiply(int x, int y) {
return x * y;
}
}
O âmbito em Java é definido entre os carateres { e }.
Java suporta dois tipos de comentários.
Os comentários de uma linha são precedidos por // e os comentários de várias linhas são inseridos entre /* e */.
Os valores inteiros são definidos como um ou mais algarismos (consecutivos) e suportam os operadores matemáticos predefinidos.