Conceitos de Java Orientado a Objetos, explicando o que são os Objetos, Atributos, Classes. Os Operadores matemáticos, estruturas de controle de fluxo (For, While, If-else, Do-while). Ao final, Exercícios para prática dos assuntos abordados
Já vimos até aqui:
Histórico e fundamentos da linguagem Java
Etapas: edição, compilação, interpretação e
execuçã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 referência
Usamos o tipo referência para guardar a
instância de uma classe;
É possível ter acesso a um objeto criado através
da 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 em
uma expressão serão realizadas.
Por exemplo, operações de multiplicação são realizadas
antes 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
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
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 idade
de uma pessoa e imprime uma mensagem com
tais informações
– Ex: Olá José. Você tem 25 anos!
Os Exercícios 2 e 3 devem ser entregues via
e-mail, até 00h de Segunda (22/02)
professordanielbrandao@gmail.com