Agora que já sabemos como usar valores de três tipos diferentes, vamos aprender mais um pouco sobre declaração de variáveis, atribuição de valores a variáveis, acesso aos seus valores e utilização de expressões.
Para declarar uma variável num programa Java escrevemos uma instrução com a forma:
Tipo nome-da-variavel;
O Tipo pode ser um qualquer tipo de dados reconhecido pelo Java.
O nome-da-variavel deve ser sugestivo do significado que damos ao seu valor e deve seguir as seguintes regras de construção:
$
ou _
; a convenção é, no entanto, começar os nomes das variáveis sempre por uma letra, sendo os outros dois carateres usados só em casos muito específicos (por ex., código gerado automaticamente);$
ou _
(embora por convenção se evitem estes dois últimos);leftOperand
, rightOperand
e completeExpression
; outros exemplos: impostoMedioAnual
e distanciaEntreEixos
)Ab
e ab
são diferentes; evite criar variáveis em que os nomes só diferem na capitalização de uma ou mais letras.Para atribuir um valor a uma variável que já foi declarada escrevemos uma instrução com a forma:
nome-da-variavel = expressao;
Podemos escolher fazer a declaração da variável e a inicialização do seu conteúdo numa só instrução:
Tipo nome-da-variavel = expressao;
Em qualquer dos casos, a expressao deve ser uma expressão bem construída e o seu tipo (que é o tipo do seu resultado) deve ser compatível com o tipo da variável – não podemos, por exemplo, atribuir um valor do tipo String
a uma variável do tipo int
. O compilador não deixa, originando um erro de compilação.
Vários exemplos:
String nome = "Maria";
int idade = 12;
double altura, peso;
altura = 1.79;
peso = 61.2;
Repare na terceira instrução; é uma declaração múltipla. Quando queremos declarar mais do que uma variável do mesmo tipo, podemos fazê-lo numa única instrução. Devemos ter cuidado para que não diminuam a legibilidade – por exemplo, declarar várias variáveis que não têm qualquer relação, todas na mesma declaração só porque são do mesmo tipo, diminui a legibilidade.
Podemos também ter declarações com inicialização múltiplas. Por exemplo, a instrução
xxxxxxxxxx
double altura = 1.79, peso = 61.2;
tem o mesmo efeito que as três últimas instruções acima.
O conteúdo da memória associada a um programa que declara e inicializa as variáveis indicadas em cima, poderá ser representado por:
Podemos fazer mais que uma atribuição de valor a uma variável durante um programa. O efeito dessas novas atribuições é a substituição do valor que a variável tinha pelo novo valor.
xxxxxxxxxx
int idade = 12;
System.out.println(idade);
idade = 19;
System.out.println(idade);
O efeito destas instruções seria a impressão dos valores 12 e 19 no ecrã.
Podemos olhar para as variáveis como contentores de valores. Sempre que atribuimos um valor a uma variável estamos na verdade a alterar-lhe o conteúdo, ou seja, ao atribuirmos um novo valor a uma variável destruímos o valor que lá estava.
Embora as atribuições múltiplas sejam muito frequentes e úteis em programação, devemos usá-las com cuidado, pois o código pode ficar difícil de ler e os erros podem ser mais difíceis de detetar.
Uma variável num programa deve representar um determinado conceito e por isso não devemos mudar o seu significado ao longo do programa. Se declaramos uma variável para representar uma idade, não devemos, quando já não precisamos de manipular idades, usar a mesma variável para representar, por exemplo, pesos ou outro conceito qualquer.
Anterior: 3.3. Tipos de dados primitivos e (um cheirinho de) String
Seguinte: 3.5. Ainda as expressões