Programação Orientação a Objetos
Java - Recursos da Linguagem
⦁ Variáveis e Atributos
⦁ Tipos primitivos e Tipos de dados Referência
⦁ Operadores Aritméticos
⦁ Operadores Unários
⦁ Operadores Relacionais e Operadores Lógicos
⦁ Operadores de Atribuição
⦁ Estruturas de Controle de Fluxo
⦁ Estruturas de Repetição
⦁ Comandos break, continue, entrada e saída
⦁ Exercícios
⦁ Representa um endereço de memória.
⦁ Quando definimos um tipos de variável
consideramos o seu nome, o tipo e um valor
de inicialização.
⦁ É definida dentro de um método, enquanto
um atributo é definido dentro de uma Classe.
⦁ Uma variável definida internamente a um
método só será visível dentro do método.
⦁ Atributo deve ser criado após a definição da
classe, fora de qualquer método. [Campos].
⦁ Podem ser:
◦ Estáticos (enquanto o objeto estiver ativo)
◦ e não estáticos (enquanto a classe estiver carregada
na JVM.
⦁ Crie um novo projeto com o nome de
Modulo02.exemplo01
⦁ Crie as Classe de acordo com a
Representação Abaixo:
Na classe ContasCorrentes
foi definido o atributo cpmf
como estático.
Para atribuir valor ao
campo, faz-se por meio do
nome da Classe.
([Link]=0.0
038)
⦁ No exemplo estamos acessando o atributo
cpmf por meio de um objeto
([Link]=0.0010) e do nome da classe
([Link]=0.0038).
⦁ O acesso por meio do objeto foi usado
apenas para demonstrar que, quando
alterarmos o valor de um objeto, os outros
objetos passam a visualizar o valor alterado.
⦁ Boa prática: devemos sempre acessar um
atributo estático por meio do nome da classe.
◼ Tipos primitivos
◦ boolean: um valor indicando verdadeiro ou falso.
◦ byte: um inteiro de 8 bits (signed).
◦ char: um caracter unicode (16-bit unsigned).
◦ double: um número de ponto flutuante de 64 bits (signed).
◦ float: um número de ponto flutuante de 32 bits (signed).
◦ int: um inteiro de 32 bits (signed).
◦ long: um inteiro de 64 bits (signed).
◦ short: um inteiro de 32 bits (signed)
⦁ Toda classe criada pelo programador
representa um tipo por referência.
⦁ Ou seja, quando criamos objetos do tipo
ContasCorrentes estamos criando uma
variável do tipo referência.
⦁ Neste tipo caso o parâmetro seja alterado no
método chamado, este terá seu valor alterado
também quando retornar ao método que o
invocou.
◼ Aritméticos e Unários
Função Sinal
Adição +
Subtração -
Multiplicação *
Divisão /
Resto da divisão %
Operadores Unários
Incremento ++
Decremento --
Função Sinal
Igual ==
Diferente !=
Maior que >
Maior ou igual a >=
Menor que <
Menor ou igual a <=
Função Sinal
E &&
OU ||
Não !
Conversão de tipos
Supondo a variável x Converter em y recebe o valor convertido
✓ Entre tipos numéricos
int x = 10 float float y = (float) x
int x = 10 double double y = (double) x
float x = 10.5 int int y = (int) x
✓ De string para numéricos
String x = “10” int int y = [Link](x)
String x = “20.5” float float y = [Link](x)
String x = “20.5” double double y = [Link](x)
✓ De numéricos para string
String y = [Link](x) ou
int x = 10 String String y = [Link](x)
String y = [Link](x) ou
float x = 10.5 String String y = [Link](x)
String y = [Link](x) ou
double x = 10.5 String String y = [Link](x)
Inserção de Comentários
Estruturas de Controle de Fluxo
◼ Desvios condicionais
⦁ Comandos:
◦ for
◦ while
◦ do
◦ break
◦ continue
while(condição)
{
bloco de comandos
}
do
{
bloco de comandos
} (condição)
⦁ Sua função: interromper a execução de um
Loop. Ex:
⦁ Sua função: fazer com que a condição do
comando loop seja novamente testada. Ex.
⦁ Representaram uma grande dificuldade nas
primeiras versões de Java.
⦁ A Classe Scanner, disponível em [Link] a
partir da versão J2SE 5.0 resolveu esse
problema.
⦁ Para usá-la, deve-se incluir o comando
import [Link]
A classe Scanner permite a leitura de tipos de dados primitivos e String.
A fonte usada para a leitura do teclado foi ([Link]) e o tipo primitivo
lido, o int.
Para leitura de uma String composta usamos o método nextLine() que
substitui o delimitador “\n”.
⦁ Usamos o comando:
◦ [Link](“texto”);
⦁ Sua função: retornar determinado resultado
na tela.
⦁ O atributo estático out, definidor na classe
System, representam um stream de saída
padrão e é um atributo da classe PrintStream
[Veremos em breve].
⦁ Crie um projeto com o nome acima.
⦁ Como será o projeto:
⦁ Parte a) Desenvolver uma classe chamada
Acampamentos com os seguintes atributos:
nome, equipe, idade. Em seguida implementar os
seguinte métodos:
⦁ Parte b) Desenvolver uma segunda classe Java
chamada PrincipalAcampamento com a seguinte
estrutura:
◦ Criar o método main() conforme o padrão da Linguagem
Java.
◦ Criar um objeto chamado membro da classe
Acampamentos e atribuir valores aos seus atributos
nome e idade.
◦ Executar o método imprimir() e analisar o resultado na
tela.
◦ Executar o método separarGrupo().
◦ Executar o método imprimir() novamente e analisar o
que será exibido na tela.
⦁ Crie um projeto com o nome acima.
⦁ Como será o projeto:
⦁ Parte a) Desenvolver uma classe chamada
Computadores com os seguintes atributos:
marca, cor, modelo, numeroSerie, preco.
Implementar os seguintes métodos:
⦁ Parte b) Desenvolver uma segunda classe Java chama PrincipalComputadores com a
seguinte estrutura:
◦ Criar o método main() conforme padrão da linguagem Java.
◦ Criar um objeto da classe Computadores e atribuir valores a seus atributos. Atribuir HP
ao atributo marca.
◦ Executar o método imprimir() e analisar o que será exibido na tela.
◦ Executar o método calcularValor().
◦ Executar o método imprimir() e analisar o que será exibido na tela.
◦ Criar um segundo objeto e atribuir valores a seus atributos. Atribuir IBM ao atributo
marca do novo objeto.
◦ Executar o método imprimir() do novo objeto e analisar o que será exibido na tela.
◦ Executar o método calcularValor() do novo objeto.
◦ Executar o método imprimir() do novo objeto e analisar o que será exibido na tela.
◦ Executar para o novo objeto o método alterarValor() com um valor positivo.
◦ Verificar no método main() o retorno do método alterarValor() e mostrar a mensagem
de “Valor alterado” caso este retorne 1, e “Valor NÃO alterado” caso retorne 0.
◦ Executar o método imprimir() deste objeto e analisar o que será exibido na tela.
⦁ Crie um projeto com o nome acima.
⦁ Como será o projeto:
Exercício 3
Projeto: Modulo02.exercicio03
⦁ Parte a) Desenvolver uma classe Java chamada
ContasCorrentes com a seguinte estrutura: conta,
agencia, saldo e nomeCliente. Em seguida
implementar os seguintes métodos:
⦁ Parte b) Desenvolver uma segunda classe java
chamada PrincipalContasCorrentes com a
seguinte estrutura:
◦ Criar um atributo público da classe
ContasCorrentes para ser usado pelos métodos da
classe para realizar saques e depósitos (fora do
método main()). Não se esquecer de executar o
operador new para o atributo criado.
◦ OBS: Ao executar o programa só poderemos fazer
um saque se já tivermos realizado um depósito.
◦ Implemente os métodos dispostos no próximo
slide.
⦁ Métodos da Classe PrincipalContasCorrentes.
⦁ Bibliográficas:
◦ Mendes – Java com Ênfase em Orientação a Objetos [Exercícios
do Capítulo 1]
◦ Deitel – Java, como programar – 6º edição.
◦ Arnold, Gosling, Holmes – A linguagem de programação Java – 4º
edição.
◦ Apostilas Caelum
◦ Material do Curso de Capacitação Java do CPS
⦁ Internet
◦ [Link]
◦ [Link]
◦ [Link]