JAVA: AULA 4
AGENDA
• Variáveis
• Variáveis-atributo
• Variáveis locais
• Variáveis de classe
• Constantes
• Tipos Primitivos
• Casting
• Operadores Aritméticos e de Atribuição
• Operadores Lógicos
• Operadores de Incremento e Decremento
VARIÁVEIS
•
Usadas para armazenar e recuperar dados
•
Uma variável é um espaço vago, reservado e rotulado para armazenar
dados.
• Possui um nome que a identifica univocamente.
• Possui um valor que corresponde à informação atribuída.
VARIÁVEIS
•
Categorias
• Variáveis-atributo (variáveis-membro ou variáveis de instância)
• Variáveis locais
VARIÁVEIS-ATRIBUTO
VARIÁVEIS LOCAIS
•
São definidas dentro de métodos, estando apenas disponíveis localmente
VARIÁVEIS ESTÁTICAS
•
Há uma cópia de uma variável estática (por isso, a denominação variável
de classe)
•
A variável estática existe independentemente do número de instâncias da
classe
DECLARAÇÃO E INICIALIZAÇÃO
DE VARIÁVEIS
•
[modificadores]: modificam o tipo de acesso à variável-atributo
• private, public, protected
•
Tipo: indica o tipo de dados mantidos na variável
• Primitivos
DECLARAÇÃO E INICIALIZAÇÃO
DE VARIÁVEIS
•
Variáveis locais podem ser declaradas e inicializadas separadamente ou
TIPOS PRIMITIVOS
•Variáveis ficam na pilha e armazenam valor;
• Possuem tamanho fixo.
<Tipo> <Identificação>
int numero;
TIPOS DE DADOS INTEIROS
•
Por default, os valores diretamente escritos em um programa são tratados
com inteiros simples (int), ou seja, valores de 32 bits. O tamanho de cada
um desses tipos independe do sistema operacional ou do hardware
utilizado. Os valores podem ser expressos em base octal, se precedidos por
TIPOS PRIMITIVOS
•
Inteiros
• 10 ; 832 ; 2 ; -832
•
Ponto flutuante
• 3.2 ; 4.3 ; 1232.1232 ; 32.2 ; 3.2f
•
Caractere
• 'a' ; '\u0041' ; '\u0065'
ATRIBUIÇÃO DE VALORES A
VARIÁVEIS
• Os operadores possuem uma forma de atribuição: tipo variável = Expressão;
• Exemplo: • int a = 10;
• a += 10; é o mesmo que a = a + 10; • char myChar =‘F’;
TIPOS DE DADOS
•
Classes
também são tipos!
• String
•
O tipo
char
é usado para armazenar apenas
um
caracter
• delimitados por aspas simples ‘ ’
•
String
:
• combinação de caracteres (char) delimitados por aspas duplas “ “
•
Exemplos:
• String Nome;
• Nome = “Hermes”;
CONSTANTES
• Uma constante tem valor fixo e inalterável
final <tipo> <nome_constante> = <valor_da_constante>;
• São definidas através da palavra-chave final que indica ao compilador que o valor da variável não deve ser alterado após sua inicialização.
class Matematica {
final float PI = 3.1415; // ... O resto da classe }
ESCOPO DE VARIÁVEIS
•
O escopo de uma variável é a parte do programa em que ela pode ser
referenciada.
•
Regras básicas de escopo:
• O escopo de uma variável declarada na lista de parâmetros de um método é o corpo do método;
• Uma variável local é visível no bloco de instruções em que é declarada desde o ponto da declaração até o final do bloco;
• Uma variável declarada no cabeçalho de um for tem seu escopo apenas no corpo do for;
OPERADORES ARITMÉTICOS
•
Especificam como valores numéricos mantidos em variáveis devem ser
avaliados ou combinados
OPERADORES ARITMÉTICOS
Operador Significado + adição - subtração * multiplicação / divisão % restodadivisão (módulo)Operador Exemplo Expressão equivalente
+= x += y x = x + y
-= x -= y x = x - y
*= x *= y x = x * y
/= x /= y x = x / y
OPERADORES DE INCREMENTO E
DECREMENTO
•
Operadores
unários
•
Podem vir
antes
(pré-incremento e pré-decremento) ou
após
(pós-incremento e pós-decremento) uma variável
•
Na forma pré-fixada, a operação é aplicada
antes
de qualquer cálculo ou
atribuição
OPERADORES DE INCREMENTO E
DECREMENTO
Operador Exemplo Significado
++
++a
O incremento será feito antes ao uso do valor da mesma na expressãoa++
O incremento será feito após o uso do valor da mesma na expressão----a
O decremento será feito antes ao uso do valor da mesma na expressãoOPERADORES DE INCREMENTO E
DECREMENTO
•
x++
• É igual a x = x + 1
•
x
--• É igual a x = x – 1
•
Cuidados
• Pré-Incremento: soma 1 à variável x imediatamente. O valor de y é retornado com o incremento
• x = 10; y = ++x; (x = 11; y = 11;)
• Pós-Incremento: soma 1 à variável x. O valor de y é retornado sem o incremento, isso só ocorrerá na linha após o comando
PRECEDÊNCIA DE OPERADORES
•
Regras de precedência
• Operadores dentro de um par de parênteses
• Operadores de incremento e decremento
• Operadores de multiplicação e divisão, avaliados da esquerda para direita
PRECEDÊNCIA DE OPERADORES
•
Int c = 25
–
5 * 4 / 2
–
10 + 4;
•
O resultado (avaliação da esquerda para a direita) é: 34
•
O resultado (de acordo com as regras de precedência) é: 9
CASTING (CONVERSÃO) DE TIPOS
•
Atribuir uma variável ou expressão para outra variável pode conduzir a
erros
• Tipos de dados do cálculo versus a área de armazenamento que receberá o resultado
• O compilador reconhecerá a perda de precisão (erro de compilação)
• Ou, o resultado será incorreto!
CASTING (CONVERSÃO) DE TIPOS
•
Sintaxe:
SUPOSIÇÕES DO COMPILADOR JAVA
PARA TIPOS PONTO FLUTUANTE
•
Tipos de dados ponto flutuante e atribuição
• Por default, valores do tipo ponto flutuante são do tipo double, a menos que especifiquemos o contrário
OPERADORES DE COMPARAÇÃO
OU RELACIONAIS
Operador Significado
== Igual a
!= Diferente de
< Menor que
> Maior que
<= Menor ou Igual a
>= Maior ou Igual a
Estes operadores atuam sobre valores numéricos e retornam valores booleanos,
OPERADORES LÓGICOS
Operador Significado
&& E lógico ("logical AND")
& E lógico boleano("boolean logical AND")
|| OU logico ("logical OR")
| OU lógico Inclusivo("boolean logical inclusive OR")
^
!
OU EXCLUSIVO exclusivo ("boolean logical exclusive OR")
EXEMPLO: OPERADORES
LÓGICOS
Exemplo Explicação
a && b retorna false. Se true a for se falsea e b , b forem ambos não é avaliada (Curto Circuito).true. Senão retorna
a & b
a || b
a | b
retorna true se a e b forem ambos true. Senão retorna false. Ambas expressões a e b são sempre avaliadas.
retorna true se a ou b for true. Senão retorna false. Se a for true, b não é avaliada (Curto Circuito).
retorna true se a ou b for true. Senão retorna false. Ambas expressões a e b são sempre avaliadas.
a ^ b
!a
retorna true se a for true e b for false ou vice-versa. Senão retorna false. Apenas um pode ser true
COMENTÁRIOS
•
Comentários
• ajudam a documentar o sistema
• são ignorados pelo compilador
• Podem ser: