aula 03 - definições da linguagem java
TRANSCRIPT
Definições da Linguagem Java
Prof. Daniel Brandão
Metodologia e Linguagem de Programação
Já vimos até aqui:
Histórico e fundamentos da linguagem Java
Etapas: edição, compilação, interpretação eexecução de programas em Java
Princípios de Orientação a Objetos
Hoje: Definições da Linguagem Java
Construtores e sobrecarga 2
Conceito de atributo
O estado de um objeto é dado por valores de
atributos e por ligações que possuem com outros
objetos
Os relacionamentos TEM UM são utilizando os atributos da classe
Variáveis de instância
Variáveis de classe
Exemplo de declarações de atributos da classe celular
protected Placa placa = new Placa();
private Celular celular;
private int codigo;
private String cor = “branca”;
Tipos primitivos x tipos referência
Tipos primitivos
São nativos da linguagem
São atômicos
Só armazenam um valor declarado por vez
São inicializados com 0 ou false
Por referência
Referenciam objetos
Os objetos podem conter várias variáveis e métodos
São inicializadas com null
Tipos primitivos x tipos referência
Tipos primitivos (atômicos)
Um inteiro ou um caractere,
Um literal booleano (true ou false)
Tipos referência
Uma data: pode ser decomposta em três inteiros, representando dia, mês e ano
Um vetor de inteiros: pode ser decomposto em suas partes
Uma seqüência de caracteres: pode ser decomposta me ‘n’ caracteres que a formam
Tipos primitivos x tipos referência
Em Java, tipos referência são armazenados como objetos
Apesar de serem objetos, sequências de caracteres (strings) em Java podem ser representadas literalmente
Tipos primitivos
Tipos referência
Usamos o tipo referência para guardar a
instância de uma classe;
É possível ter acesso a um objeto criado atravésda variável de referência associada
Exercício 1
No projeto FabricaCelular criado na aula anterior, crie uma nova classe chamada de Bateria composta pelo atributos
voltagem (int)
duracao (String)
material (String)
Na classe Celular feita na aula anterior, crie um atributo referencia do tipo Bateria
Operadores
Um operador produz um novo valor a partir de um ou mais argumentos
Os operadores em Java são praticamente os mesmos encontrados em outras linguagens
+, -, /, *, =, ==, <, >, >=, &&, etc.
A maior parte dos operadores só trabalha com valores de tipos primitivos.
Exceções:
• + e += são usados na concatenação de strings
• !=, = e == são usados também com objetos (embora não funcionem da mesma forma quanto aos valores armazenados nos objetos)
Precedência
A precedência determina em que ordem as operações emuma expressão serão realizadas.
Por exemplo, operações de multiplicação são realizadasantes de operações de soma:
int x = 2 + 2 * 3 – 9 / 3; // 2+6–3 = 5
Parênteses podem ser usados para sobrepor a precedência
int x = (2 + 2) * (3 – 9) / 3; // 4*(– 6)/3 = – 8
A maior parte das expressões de mesma precedência é calculada da esquerda para a direita
int y = 13 + 2 + 4 + 6; // (((13 + 2) + 4) + 6)
Há exceções. Por exemplo, atribuição.
Operadores aritméticos
+ adição
ƒ - subtração
ƒ * multiplicação
ƒ / divisão
ƒ % módulo (resto)
Operadores aritméticos
Operadores unários• -n e +n (ex: -23) (em uma expressão: 13 + -12)
• Melhor usar parênteses: 13 + (-12)
Atribuição com operação• +=, -=, *=, /=, %=
• x = x + 1 equivale a x += 1
Operadores incremento e decremento
Exemplo
int a = 10;
int b = 5;
ƒ Incrementa ou decrementa antes de usar a variável
int x = ++a; // a contém 11, x contém 11
int y = --b; // b contém 4, y contém 4
A atribuição foi feita DEPOIS!
Operadores incremento e decremento
Exemplo
ƒ Incrementa ou decrementa depois de usar a variável
int x = a++; // a contém 11, x contém 10
int y = b--; // b contém 4, y contém 5
A atribuição foi feita ANTES!
Operadores relacionais
== igual
ƒ != diferente
ƒ < menor
ƒ <= menor ou igual
ƒ > maior
ƒ >= maior ou igual
ƒ Sempre produzem um resultado booleano
true ou false
ƒ Comparam os valores de duas variáveis ou de uma variável e uma constante
ƒ Comparam as referências de objetos (apenas == e !=)
Operadores Lógicos
&& E (and)
ƒ || Ou (or)
ƒ ! Negação (not)
ƒ Produzem sempre um valor booleano
true ou false
ƒ Argumentos precisam ser valores booleanos ou expressões com resultado booleano
Por exemplo: (3 > x) && !(y <= 10)
ƒ Expressão será realizada até que o resultado possa ser determinado de forma não ambíguaƒ
Exemplo: (false && <qualquer coisa>)
A expressão <qualquer coisa> não será calculada
Operadores orientados a bit
& and
ƒ | or
ƒ ^ xor (ou exclusivo)
ƒ ~ not
ƒ Para operações em baixo nível (bit por bit)
Operam com inteiros e resultados são números inteiros
Se argumentos forem booleanos, resultado será igual ao obtido com operadores booleanos, porém:
Exemplo: (false & <qualquer coisa>)
A expressão <qualquer coisa> sempre será calculada
Tabela de Precedência
Operadores Associatividade Tipo
++ -- Direita -> esquerda Unário pós-fixo
++ -- + - ! Direita -> esquerda Unário pré-fixo
* / % Esquerda -> direita Multiplicativo
+ - Esquerda -> direita Aditivo
< <= > >= Esquerda -> direita Relacional
== != Esquerda -> direita Igualdade
& Esquerda -> direita E lógico booleano
^ Esquerda -> direita OU exc. lógico booleano
| Esquerda -> direita OU inc. lógico booleano
&& Esquerda -> direita E condicional
|| Esquerda -> direita Ou condicional
?: Direita -> esquerda condicional
= += -= *= /=
%=
Direita -> esquerda atribuição
Estruturas de decisão
Estruturas de contoleEstruturas de controle
Exercício 2
• A) Imprima todos os números pares entre 1 e 100;
• B) Imprima todos os múltiplos de 3 entre 1 e 100;
Exercício 3
• Escreva um programa que pede o nome e a idadede uma pessoa e imprime uma mensagem comtais informações– Ex: Olá José. Você tem 25 anos!