UNIDADE I
Tópicos Especiais de
Programação Orientada
a Objetos
Prof. Cassiano Gunji
Introdução ao Java
Foi impulsionada pela popularização da World Wide Web.
É multiplataforma.
Hoje é amplamente utilizada em sistemas de todos os tamanhos (aplicativos desktop,
para dispositivos móveis, para aplicações corporativas distribuídas de grande porte,
eletrodomésticos, cartões inteligentes, entre outros).
Arquitetura de um aplicativo Java
Máquina Programa
Código- Compilador
Bytecode Virtual em
fonte Java
Java execução
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Características da linguagem Java
Simplicidade.
Orientação a objetos.
Multithread.
Robustez.
Segurança.
O que é necessário para se programar em Java
Obrigatório: o kit de desenvolvimento Java SE Development Kit (SDK Java SE).
(java.sun.com)
Opcional: algum ambiente de desenvolvimento integrado (IDE, como o Eclipse
ou o NetBeans, entre outros).
Nesta disciplina será utilizado o Eclipse (eclipse.org).
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo!
Fonte: acervo pessoal.
Olá, mundo gráfico!
Fonte: acervo pessoal.
Olá, mundo gráfico!
Fonte: acervo pessoal.
Interatividade
Sobre a tecnologia Java, podemos afirmar:
a) Para se executar um programa em Java é preciso instalar o kit de desenvolvimento Java.
b) Para se programar em Java é preciso instalar a máquina virtual Java.
c) Para se programar em Java é preciso instalar o kit de desenvolvimento Java.
d) Quando se utiliza uma IDE (como o Eclipse) para programar em Java, o programa
só funciona se for executado na mesma IDE.
e) Não é possível programar em Java sem o uso de uma IDE (como o Eclipse).
Resposta
Sobre a tecnologia Java, podemos afirmar:
a) Para se executar um programa em Java é preciso instalar o kit de desenvolvimento Java.
b) Para se programar em Java é preciso instalar a máquina virtual Java.
c) Para se programar em Java é preciso instalar o kit de desenvolvimento Java.
d) Quando se utiliza uma IDE (como o Eclipse) para programar em Java, o programa
só funciona se for executado na mesma IDE.
e) Não é possível programar em Java sem o uso de uma IDE (como o Eclipse).
Recomendações de estilo
Não utilize caracteres especiais (acentos, cedilha etc.).
Utilize nomes mnemônicos.
Utilize camel case.
Para classes e interfaces, utilize a primeira letra maiúscula.
Para demais elementos, utilize a primeira letra minúscula.
Classes ou interfaces Demais elementos
OlaMundo contadorDeIteracoes
ProgramaPrincipal respostaDoUsuario
String mediaFinal
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Recomendações de estilo
Para nomes de constantes, utilize todas as letras maiúsculas, separando as palavras
com o símbolo do sublinhado.
Constantes
NOTA_MINIMA
TAMANHO_PADRAO
PI
CONSTANTE_GRAVITACIONAL
Fonte: GUNJI; et al. Tópicos Especiais de Programação
Orientada a Objetos, 2020.
Tipos primitivos
Tipo Tamanho em bits Natureza
Depende da JVM
boolean Booleanos
de cada plataforma
Caractere
char 16
alfanumérico
byte 8
short 16
Número inteiro
int 32
long 64
float 32 Número em ponto
double 64 flutuante
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Conversões de tipos
Podemos atribuir o valor de uma variável de menor capacidade a uma variável
de maior capacidade.
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Conversões de tipos
Por outro lado, para se atribuir o valor de uma variável de maior capacidade a uma variável
de menor capacidade, é necessário convertê-la. Nesse caso, estamos fazendo uma
conversão de tipo (type cast).
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Classes wrapper (invólucro)
Tipo primitivo Classe Wrapper
boolean Boolean
char Character
byte Byte
short Short
int Integer
long Long
float Float
double Double
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Entrada de dados numéricos
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Interatividade
Quando precisamos utilizar valores de tipos numéricos, é válido afirmar que:
a) Podemos armazenar o valor de uma variável de menor capacidade em outra
de maior capacidade.
b) Podemos armazenar o valor de uma variável de maior capacidade em outra
de menor capacidade.
c) A conversão de tipos faz arredondamento de valores.
d) A conversão por classes wrapper só faz conversões de ou para String.
e) Podemos receber dados numéricos do usuário usando a classe JOptionPane.
Resposta
Quando precisamos utilizar valores de tipos numéricos, é válido afirmar que:
a) Podemos armazenar o valor de uma variável de menor capacidade em outra
de maior capacidade.
b) Podemos armazenar o valor de uma variável de maior capacidade em outra
de menor capacidade.
c) A conversão de tipos faz arredondamento de valores.
d) A conversão por classes wrapper só faz conversões de ou para String.
e) Podemos receber dados numéricos do usuário usando a classe JOptionPane.
Introdução a classes e objetos
Bolo
1
Bolo
Receita 2
de bolo Bolo
3
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Introdução a classes e objetos
Ao se modelar um sistema, deve-se projetar classes que encapsulem
um determinado conceito:
Uma classe deve modelar apenas um conceito;
Uma classe não deve modelar qualquer aspecto de outro conceito;
Não deve haver, em nenhuma outra parte do sistema, qualquer aspecto do conceito
modelado pela classe.
Introdução a classes e objetos
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Introdução a classes e objetos
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Instruções de controle – if
Fonte: GUNJI; et al. Tópicos Especiais de
Programação Orientada a Objetos, 2020.
Instruções de controle – if
== Igual a
!= Diferente de
< Menor que
> Maior que
<= Menor ou igual a
>= Maior ou igual a
Não (inverte o resultado
!
de uma expressão booleana)
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Instruções de controle – switch-case
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Métodos contrutures
Fonte: GUNJI; et al. Tópicos
Especiais de Programação
Orientada a Objetos, 2020.
Métodos contrutures
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Instruções de controle – for
Fonte: GUNJI; et al. Tópicos Especiais de
Programação Orientada a Objetos, 2020.
Instruções de controle – while e do-while
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Interatividade
Qual das afirmações abaixo sobre as operações de controle está incorreta?
a) As operações if, if-else e switch-case são conhecidas como desvios condicionais.
b) As operações for, while e do-while são conhecidas como laços de repetição.
c) Pode-se substituir um switch-case por uma série de if-else encadeado. A escolha de qual
usar depende de qual solução torna-se mais legível.
d) As estruturas for, while e do-while são equivalentes e a escolha de qual usar depende
de qual delas torna o código mais legível.
e) Pode-se criar algoritmos sem o uso de estruturas de controle.
Resposta
Qual das afirmações abaixo sobre as operações de controle está incorreta?
a) As operações if, if-else e switch-case são conhecidas como desvios condicionais.
b) As operações for, while e do-while são conhecidas como laços de repetição.
c) Pode-se substituir um switch-case por uma série de if-else encadeado. A escolha de qual
usar depende de qual solução torna-se mais legível.
d) As estruturas for, while e do-while são equivalentes e a escolha de qual usar depende
de qual delas torna o código mais legível.
e) Pode-se criar algoritmos sem o uso de estruturas de controle.
Vetores ou Arrays
Fonte: GUNJI; et al. Tópicos Especiais de
Programação Orientada a Objetos, 2020.
Coleções
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Tratamento de exceções
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Tratamento de exceções
Algumas das exceções mais frequentes:
ArithmeticException;
ArrayIndexOutOfBoundsException;
NullPointerException;
NumberFormatException.
Tratamento de exceções
Fonte: GUNJI; et al. Tópicos Especiais de Programação Orientada a Objetos, 2020.
Interatividade
Assinale a alternativa correta sobre as exceções:
a) Uma exceção é um erro de codificação sinalizado pela IDE com uma linha tracejada
vermelha sob o erro.
b) Uma exceção é uma situação que deve ser evitada pelo programador.
c) Uma exceção é uma situação comum para qualquer sistema e o programador
deve preparar o sistema para que ele se recupere dela.
d) É possível criar um sistema em que nunca ocorra uma exceção e essa é uma boa prática
de programação.
e) O compilador identifica as possíveis exceções e as sinaliza
no código com uma linha tracejada amarela sob a exceção.
Resposta
Assinale a alternativa correta sobre as exceções:
a) Uma exceção é um erro de codificação sinalizado pela IDE com uma linha tracejada
vermelha sob o erro.
b) Uma exceção é uma situação que deve ser evitada pelo programador.
c) Uma exceção é uma situação comum para qualquer sistema e o programador
deve preparar o sistema para que ele se recupere dela.
d) É possível criar um sistema em que nunca ocorra uma exceção e essa é uma boa prática
de programação.
e) O compilador identifica as possíveis exceções e as sinaliza
no código com uma linha tracejada amarela sob a exceção.
ATÉ A PRÓXIMA!