Buscar

Revisão de Ling Prog

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 94 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 94 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 94 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

!!!!!!!!!!!
LINGUAGEM DE 
PROGRAMAÇÃO 
!!!!!!!!!!
RESUMO E 
EXERCÍCIOS 
!!
2014 
!
!
LINGUAGEM DE PROGRAMAÇÃO 
 
AULA 1: 
!
Principais características: 
PORTABILIDADE 
ORIENTADA A OBJETOS 
SEGURANÇA 
!
Por que estudar Java? 
!
	
 •	
 Orientação a Objetos: totalmente 00 - 
permitindo herança e reutilização de código de 
forma dinâmica e estática. 
	
 •	
 Dinamismo: permite ser aumentado durante a 
execução. 
	
 •	
 Facilidade: Derivada do C/C++ - Bem familiar. 
!
ENTENDENDO AS SIGLAS DO AMBIENTE 
JAVA: 
!
J2SE 
Java2 Standard Edition – Fornece as 
principais APIs e enfoca o desenvolvimento 
de aplicações na arquitetura Cliente – 
Servidor. Não permite distribuição de 
objetos nem oferece suporte a tecnologias 
para Internet. 
!
J2EE 
Java2 Enterprise Edition – Fornece um 
conjunto de APIs para o desenvolvimento 
corporativo e enfoca na integração entre 
sistemas. Disponibiliza alta distribuição de 
objetos e oferece total suporte a tecnologias 
para Internet. 
!
!
J2ME 
Java2 Micro Edition – Fornece as APIs 
para o desenvolvimento de aplicações para 
c ompu t a ç ão móve l , em pequeno s 
dispositivos ou tecnologias embarcadas. 
!
!
Tipos De Programas Java 
Stand - alone – Aplicações baseadas na J2SE que 
tem total acesso aos recursos do sistema, 
memória, disco, rede, dispositivos, etc. 
!
Java applets - Pequenas aplicações que não têm 
acesso aos recursos de hardware, necessitando de 
um navegador com suporte a J2SE para serem 
executados. 
!
Java servlets - Programas desenvolvidos para 
serem executados em servidores Web, baseados 
na J2EE, comumente usados para gerar conteúdos 
dinâmicos para websites. 
!
J a v a m i d l e t s - Pe q uena s a p l i c a ç õ e s , 
extremamente seguras e construídas para serem 
executadas dentro do J2ME. 
!
!
JavaBeans - São componentes de software 
escritos em Java que podem ser manipulados 
visualmente com a ajuda de uma ferramenta de 
desenvolvimento. 
!
Em Java, uma classe pública deve ser salva em 
um arquivo com o mesmo nome, com a 
extensão .java. Como nossa classe se chama 
PrimeiroPrograma, devemos salvar este arquivo 
como PrimeiroPrograma.java. Muita atenção com a 
caixa da letra, pois o Java faz diferença entre 
letras maiúsculas e minúsculas. 
!
!
AULA 2 
TIPOS DE DADOS E ESTRUTURAS BÁSICAS DE 
PROGRAMAÇÃO 
!
AS CONVENÇÕES DO JAVA 
A linguagem de programação Java é “Case 
Sensitive”. Existem várias convenções utilizadas. 
São elas: 
!
	
 •	
 Nomes de variáveis e métodos começam com 
letras maiúsculas 
!
	
 •	
 Nomes de c lasses in ic iam com letras 
maiúsculas 
!
	
 •	
 Nomes compostos: utilizar letras maiúsculas 
para iniciais das palavras 
!
	
 •	
 Letras maiúsculas para constantes 
!
Comentários em Java 
Existem três formas de se inserir comentários: 
!
 1. // comentário em uma linha 
 2. /* comentário em uma ou mais linhas */ 
 3. /** Documento Comentário*/ 
!
TIPOS DE DADOS EM JAVA 
O Java é fortemente tipada, ou melhor, necessita 
que todas as variáveis tenham um tipo declarado. 
Existem 8 tipos primitivos. Seis deles são 
numéricos, um é o caractere e o último é o 
booleano. 
!
!
!
!
!
!
!
!
 
!
!
!
!
!
!
!
!
!
DECLARANDO E ATRIBUINDO VALORES A 
VARIÁVEIS 
A declaração de variáveis em Java exige que o tipo 
da variável seja declarado. Você inicia a 
declaração, indicando o tipo da variável e o nome 
desejado, como nos exemplos a seguir: 
!
int x, y; //declarando duas variáveis inteiras 
x = 6; //atribuindo valores a variáveis 
y = 1000; 
 
OPERADORES ARITMÉTICOS E RELACIONAIS 
!
OPERADOR ARITMÉTICOS 
!
!
!
!
!
!
!
 
!
!
!
› 
!
!
!
OPERADORES RELACIONAIS 
! 
!
O operador ! é chamado de not ou negado. 
!
!
!
ESTRUTURAS BÁSICAS DE PROGRAMAÇÃO 
Os comandos da linguagem permitem controlar o 
fluxo do programa e expressões condicionais. 
!
BLOCOS 
Conjunto de linhas de códigos situadas entre um 
abre e um fecha chaves( {} ). É permitido criar 
blocos dentro de blocos. 
 
{ //início de bloco 
... 
 /*bloco de comandos*/ 
... 
} //fim de bloco 
!
!
ESCOPO DAS VARIÁVEIS 
Existem variáveis locais e variáveis globais. As 
locais estão visíveis apenas dentro do bloco 
enquanto as globais estão disponíveis em qualquer 
bloco do programa. 
!
!
Observação: escopo é diferente de visibilidade, o 
qual se aplica as variáveis de classe e tem a ver 
com a utilização destas fora da classe. 
!
!
COMANDO CONDICIONAL 
!
if (expressão booleana) 
 comando1 ou {bloco de comandos1} 
 else 
 comando2 ou {bloco de comandos2} 
!
Quando existe um conjunto de opções 
switch(variável) 
{ 
 case(valor1):comando1;break; 
 case(valor1):comando1;break; 
 case(valor1):comando1;break; 
 … 
 default:comando_genérico; break; 
} 
!
DESVIO DE FLUXO 
break; O comando termina a execução de um loop 
sem executar o resto dos comandos e força a 
saída do laço. 
!
continue; O comando termina a execução de um 
laço sem executar o resto dos comandos, voltando 
ao início do laço para uma nova iteração. 
!
ESTRUTURAS DE REPETIÇÃO OU LAÇO 
1. while(expressão) 
 comando ou {bloco de comandos} 
!
2. do 
 comando ou {bloco de comandos} 
 while(expressão); 
!
3. for(inicialização; expressão; incremento) 
 comando ou {bloco de comandos} 
!
!
MANIPULANDO COM STRINGS 
Um dos objetos mais utilizados é o String (com S 
maiúsculo porque, como vimos nas convenções, 
String é uma classe). 
String é uma sequência de caracteres. 
!
Ex.: 
String um = “Curso”; 
String dois = “Java”; 
!
MANIPULANDO COM VETORES 
Vetores são estruturas utilizadas para armazenar 
um conjunto de dados do mesmo tipo. Esses 
podem ser de qualquer tipo, desde variáveis 
primitivas até objetos complexos. A sua alocação 
na memória é sempre contínua 
!
CONVERSÃO ENTRE TIPOS DE DADOS 
Existem, basicamente, dois tipos de conversões de 
dados. A conversão implícita e a explícita de 
dados. 
!
IMPLÍCITA 
Ocorre na conversão de inteiro para real, de 
números para strings ou com o uso de operadores 
unários. 
Ex.: 
double x; 
int i = 20; 
 
x = i; // x recebe um valor inteiro 
System.out.print(“i= ” + x); /* O valor de x é 
convertido para string e concatenado com a outra 
string para ser apresentada na tela */ 
!
EXPLÍCITA 
Qual tipo será utilizado, através de um operador 
unário. 
Ex.: 
float eventos = 25.7; 
float dias = 7.2; 
 
x = (int) (eventos / dias); // O resultado é o 
inteiro 3, pois 25/3 é 3.57 
!
!
!
AULA 3 
INTRODUÇÃO AS INTERFACES GRÁFICAS 
!
INTRODUÇÃO A CONCEPÇÃO DE INTERFACES 
GRÁFICAS 
A interface gráfica com o usuário (GUI) 
! 
CRIAÇÃO DE INTERFACES GRÁFICAS 
Há dois grandes pacotes: java.awt (pacote do 
núcleo)e javax.swing (pacote de extensão). 
!
Componentes Swing 
‣A maioria de seus componentes é escrita, 
manipulada e exibida completamente em Java 
‣Conhecidos como componentes Java puros 
‣Os nomes recebem um “J” no seu início 
•JLabel, JButton, JFrame, JPanel, etc 
PAINÉIS 
são áreas que comportam outros componentes, 
inclusive outros painéis. 
!
Primeiro se cria a classe 
Criando O Primeiro Formulário 
Componentes SWING 
import javax.swing.*; 
public class Frm01 
{ 
 public void criaTela() 
 {JFrame f= new JFrame(); 
 f.setSize(290,100); 
 f.setTitle("Cadastro"); 
 f.setLocation(10,10); 
 f.setDefaultCloseOperation(JFra
me.EXIT_ON_CLOSE); 
 f.setVisible(true); 
 } 
} 
!
Depois a chamamos no programa principal 
!
Componentes básicos 
public class TestaFrm01 { 
 public static void main(String []args)
{ 
 Frm01 tela = new Frm01(); 
 tela.criaTela(); 
 } 
} 
!
!
A saída deste programa é: 
!
!
!
� 
!
!
Aula 4 
PRINCÍPIOS DA ORIENTAÇÃO A OBJETOS 
Introdução Classes e Objetos 
Todo sistema orientado a objetos pode ser definido 
como um conjunto de objetos que trocam 
mensagens entre si. 
!
As classes definem a estrutura e o comportamento 
de um tipo de objeto. 
!
Um objeto é uma instância de uma classe. 
!
Um programa Java é uma coleção de objetos que 
são descritos por um conjunto de arquivos texto, 
onde são definidas as classes. Pelo menos uma 
destas classes é “public” e contém o método 
main(), que possui esta forma específica: 
!
public  sta+c  void  main(String  []  args)  {  
        //  aqui  o  programador  insere  os  comandos  
}  
!
Encapsulamento 
Mecanismo utilizado em orientação a objetos para 
obter segurança, 
!
!
!
!
!
!
!
!
!
Definindo uma classe em Java 
 • São definidas através do uso da palavra-chave 
class. 
 • Construindo uma classe: 
[modif] class NomeDaClasse { 
 // corpo da classe... 
} 
!
O modificador modif é opcional; se presente, pode 
ser uma combinação de public e abstract ou 
final. 
!
!
Corpo da Classe 
 1. As variáveis de classe (definidas como static), 
ordenadas segundo sua visibilidade: iniciando 
pelas public, seguidos pelas protected, pelas com 
visibilidade padrão (sem modificador) e 
finalmente pelas private. 
 2. Os atributos (ou variáveis de instância) dos 
objetos dessa classe, seguindo a mesma 
ordenação segundo a visibilidade definida para as 
variáveis de classe. 
 3. Os construtores de objetos dessa classe. 
 4. Os métodos da classe, geralmente agrupados 
por funcionalidade. 
!
!
 • A criação de um objeto se dá através da 
aplicação do operador new. 
ClasseNome objeto = new ClasseNome(); 
!
Atributos e Métodos 
 • Atributos 
 – Eles representam as características de um 
objeto. Devem ser privados, para manter o 
encapsulamento. A definição de atributos de 
uma classe Java reflete de forma quase direta 
a informação que estaria contida na 
representação da classe em um diagrama 
UML. 
!
 • A sintaxe utilizada para definir um atributo de 
um objeto é: 
 [modificador] tipo nome [ = default]; 
!
 • Onde: 
 – modificador é opcional, especificando public, 
protected ou private; 
 – tipo deve ser um dos tipos primitivos da 
linguagem Java ou o nome de uma classe; 
 – nome deve ser um identificador válido da 
linguagem Java; 
 – valor default é opcional; se presente, 
especifica um valor inicial para a variável. 
!
 • Métodos 
 – Os métodos representam as funcionalidades 
que os objetos podem desempenhar. São 
essencialmente procedimentos que podem 
manipular atributos de objetos. Além dos 
atributos de objetos, métodos podem definir 
e manipular variáveis locais; também podem 
receber parâmetros por valor através da lista 
de argumentos. 
!
 • A forma genérica para a definição de um 
método em uma classe é 
 [modificador] tipo nome(argumentos) { 
 corpo do método 
 } 
!
 • Onde: 
 – o modificador (opcional) é uma combinação 
de: public, protected ou private; abstract ou 
final; e static. 
 – o tipo é um indicador do valor de retorno, 
sendo void se o método não tiver um valor de 
retorno; 
 – o nome do método deve ser um identificador 
válido na linguagem Java; 
 – os argumentos são representados por uma 
lista de parâmetros separados por vírgulas, 
onde para cada parâmetro é indicado 
primeiro o tipo e depois (separado por 
espaço) o nome. 
!
!
Aula 5 
HERANÇA 
!
Herança 
 • Significa a capacidade de incorporar as 
características e as funcionalidades de uma 
classe. 
!
 • Uma classe define um conjunto de dados – 
Atributos – e um conjunto de métodos 
 • Todos os objetos de uma classe mantêm o 
mesmo conjunto de atributos e métodos. 
 • Através do mecanismo de herança, tendo 
definido uma classe base é possível criar classes 
derivadas que: 
 – herdam os atributos e métodos da classe 
base 
 – definem novos atributos e métodos 
 – 
podem redefinir os métodos herdados 
!
Terminologias 
 • Estender – Criar uma nova classe que herda 
todo o conteúdo da classe existente. 
 • Superclasse – Uma classe progenitora ou base. 
 • Subclasse – Uma classe filha que herda ou 
estende uma superclasse 
!
Classe Abstrata 
 • Uma classe abstrata em Java define atributos e 
métodos. 
 • Numa classe abstrata, um método pode ser 
definido com o modificador “abstract”. Nesse 
caso: 
 – A classe abstrata não implementa os método 
abstratos. 
 – As classes derivadas devem implementar os 
métodos abstratos. 
!
 • Imagine uma classe que no seu sistema, a uma 
funcionalidade existente em todas as subclasses 
quer ser apresentada na superclasse. 
 • Este método é definido na superclasse como 
Abstract. Nas subclasses, estes métodos serão 
i mp l emen t ad o s , c a d a um c om a s u a 
peculiaridade. 
 • Para indicar que um método de uma classe 
deve necessariamente ser redefinido em cada 
uma de suas subclasses devemos usar o 
modificador abstract. 
 • Uma classe que contém um ou mais métodos 
abstratos deve ser declarada explicitamente 
como abstrata. Essa classe, no entanto, pode ter 
construtores e métodos concretos (não-
abstratos). 
 • Se uma classe é declarada como abstract, não 
podem ser criados objetos desta classe. 
 • Se uma subc lasse é der ivada de uma 
superclasse que contém um método abstrato e 
se esse método abstrato não for redefinido na 
subclasse, esse método permanece abstract na 
subclasse. Com isso, a subclasse deverá ser 
declarada explicitamente como abstract. 
 • Declarar um método como abstrato é uma 
forma de obrigar o programador a redefinir esse 
método em todas as subclasses para as quais se 
deseja criar objetos. 
!
Polimorfismo 
 • É a capacidade que os métodos de mesmo 
nome têm de efetuarem tarefas diferentes. 
 • O mesmo método com várias formas. 
!
Aula 6 
ENCAPSULAMENTO E ASSOCIAÇÕES DE CLASSES 
!
Encapsulamento 
Mecanismo utilizado na Programação Orientada a 
Objetos, que visa obter segurança, modularidade 
e autonomia para os objetos; 
!
MODIFICADORES DE VISIBILIDADE 
 • Modificadores de Acesso: public, protected, 
private e sem modificador (default) 
!
!
!
!
!
!
!
!
 – public – Atributos e métodos são acessíveis 
por métodos de todas as classes. Este é o 
nível menos rígido. 
 – private - Atributos e métodos são acessíveis 
somente nos métodos da própria classe. 
Este é o nível mais rígido de 
encapsulamento. 
 – protected - Atributos e métodos são 
acessíveis no pacote, nos métodos da 
própria classe e suas subclasses. 
 – Sem Modificador – A visibilidade nas classes 
do mesmo pacote e a própria classe. 
!
Outros Modificadores 
 • abstract– Um método abstrato não 
implementa nenhuma funcionalidade, somente 
assina o método e faz com que a primeira 
subclasse concreta seja obrigada a 
implementar. Uma classe que possui um 
método abstrato deve ser obrigatoriamente 
abstrata, como vimos na aula passada. 
 • final – Pode ser aplicado em classes, métodos 
e atributos. Indica que esta é a última 
atribuição ou definição da estrutura. Para uma 
classe, não há herança em classes final. Um 
método não pode ser sobrescrito. E um atributo 
é considerado uma constante. 
 • static – Um método ou atributo estático define 
que este pode ser executado sem que exista 
uma instância da classe – o objeto. 
!
Métodos Get’s e Set’s 
Mecanismo para acessar os campos private de 
uma classe. O método set atribui valores ao 
atributo, enquanto que o método get obtém seus 
valores. 
A composição do nome destes métodos é sempre 
com o nome set + <nome atributo> ou get + 
<nome atributo>. 
!
Associação de Classes 
É um vínculo que permite que objetos de uma ou 
mais classes se relacionem. 
!
Composição 
Tipo de associação onde uma nova classe usa 
classes existentes como atributos; 
Relacionamento “tem um”. 
Ex.: uma conta tem um dono (cliente), um cliente 
tem um nome (string); 
!
Podemos ter as seguintes multiplicidades de 
associações: 
1 para 1 
1 para * 
* para * 
Onde * equivale a muitos. 
Exemplos 
! 
 • Um automóvel tem um motor instalado 
!
Aula 7 
INTERFACES E POLIMORFISMO 
!
As interfaces gráficas em Java 
O Java fornece duas bibliotecas para desenvolver 
um GUI. Elas são: 
- java.awt : Abstract Window Toolkit (classes 
básicas); 
- javax.swing : Swing Componets – Fornece um 
conjunto de components alternativos, mais 
funcionais que os conjuntos fornecidos pela 
java.awt. 
!
!
!
!
Componentes atômicos 
São elementos ou componentes que não permitem 
conter outros elementos. Podemos citar, dentre 
outros, botões, labels, textFields, sliders, check 
boxes, scrollbars, etc. 
!
!
JLabel 
São rótulos estát icos que, geralmente, 
apresentam func iona l idades de out ros 
componentes GUI, como por exemplo, campos 
de texto, ícones etc. Também, serve para 
apresentar um pequeno texto. 
!
!
JButton 
Os botões de comando são criados com a classe 
JButton e seu pressionamento geralmente 
dispara a ação. Ao pressionar o botão, é gerado 
um evento ActionEvent que, juntamente com 
outros eventos, executam algum comando 
desejado. 
!
!
JCheckBox 
 • A classe JCheckBox dá suporte à criação de 
botões com caixa de marcação, sendo que 
qualquer número de itens pode se selecionado. 
 • Quando um item é selecionado, um ItemEvent 
é gerado. 
!
JRadioButton 
 • Os botões de opção apresenta estados 
(selecionado ou não selecionado). São usados 
em grupo no qual apenas um botão de opção 
pode ser marcado, forçando os demais botões 
ao estado não-selecionado. 
!
!
JTextField / JPasswordField 
 • Compreende a área de uma única linha que 
suporta a inserção ou exibição de texto. 
!
JTextArea 
 • É uma área dimensionável que permite que 
múltiplas linhas de texto sejam editadas com a 
mesma fonte. 
!
JComboBox 
 • Assemelha-se a um botão, porém, quando 
clicado, abre uma lista de possíveis valores ou 
opções. 
!
Aula 8 
LISTENERS E ADAPTERS 
!
Eventos 
Evento pode ser considerado como o resultado da 
interação do usuário com algum componente GUI. 
!
Também podem ser gerados em resposta a 
modificações do ambiente. Em outras palavras, 
definem-se eventos GUI como mensagens 
(chamadas a métodos) que indicam que o usuário 
do programa interagiu com um dos componentes 
GUI. 
!
Tratamento de Eventos 
Quase todos os componentes propagam eventos. 
Esses eventos devem ser tratados em algum 
ponto do código da aplicação. Os eventos nunca 
são tratados no próprio componente (dado que 
não se tem acesso ao código do componente). 
!
Para ligar o código do tratamento de eventos ao 
componentes existem, no Java, um conjunto de 
interfaces chamadas listeners. Um listener é uma 
interface que especifica os métodos que uma 
aplicação deve ter para ser notificada da 
ocorrência de um determinado evento. 
!
A implementação do método addXXListener no 
componente apenas adiciona o objeto, passado 
por parâmetro a uma lista interna. Sempre que 
ocorrer um evento (exp.: botão pressionado), o 
componente percorre a lista e invoca, para cada 
elemento, o método definido na interface 
XXListener. 
!
Resumindo 
 • ActionEvent – evento gerado pelo botão 
quando pressionado. Sempre que o botão for 
pressionado, este irá percorrer a sua lista 
interna de listeners, chamando para cada um, o 
método actionPerformed; 
 • ActionListener– interface que especifica os 
ob je tos que t ra tam even tos do t i po 
ActionEvent; Existem várias soluções possíveis 
para tratar o evento: 
 – Recorrendo à própria classe (GUI); 
 – Recorrendo a classes locais; 
 – Recorrendo a classes internas; 
 – Recorrendo a classes anônimas; 
!
Utilizando a própria classe 
 – Declara-se a implementação do l istener 
apropriado (implements XXListener); 
 – Implementa-se o(s) método(s) do listener (a 
lista de métodos varia de evento para evento); 
 – Registra-se no componente (addXXlistener). 
!
Utilizando uma classe local 
 • Em relação à abordagem anterior, utilizando uma 
classe local deixa-se de indicar que a interface 
gráfica implementa a interface ActionListener e 
deixa de ser necessário guardar o atributo referente 
à caixa de texto. 
 • Mas foi necessário criar uma classe local (não se 
coloca nenhum modificador) e guardar nessa classe 
a informação necessária para tratar o evento. 
Guarda-se uma referência para a caixa de texto 
onde escreve-se (passada no construtor) e cria-se 
um gerador de números aleatórios (deixou de 
pertencer à classe da aplicação gráfica). 
 • A classe local tem de implementar a interface 
A c t i o n L i s t e n e r . A s s i m , o m é t o d o 
actionPerformed passou para esta classe. A classe 
da aplicação gráfica apenas tem de criar uma 
instância da classe local e registrá-la nos botões que 
criou. A vantagem desta abordagem é que permite 
separar o código da aplicação gráfica do código que 
trata os eventos. 
!
Utilizando uma classe anônima 
 • As classes anônimas são muito utilizadas para 
implementar localmente interfaces. A sintaxe típica 
para a construção de uma classe deste tipo é a 
seguinte: 
 <NomeDaInterface> <nomeDaInstânciaAnônima>= 
new <NomeDaInterface> { 
 // implementação dos métodos da interface 
 }; 
!
Diálogos Pré - Definidos 
 • O Swing oferece um conjunto de diálogos 
simples: 
 – mensagens de erro, de alerta 
 – obtenção de uma confirmação 
 – entrada de um único campo de texto 
ConfirmDialog 
 • Ex i be uma mensagem e ob t ém uma 
confirmação (YES/NO, OK/CANCEL) 
 • Conjuntos de botões de opção(optionType): 
InputDialog 
 • Exibe uma mensagem e obtém um valor de 
entrada do usuário 
 – Campo texto editável 
 – Combo box 
!
!
Aula 9 
TRATAMENTO DE EXCEÇÃO 
Exceção 
Uma exceção é uma ocorrência que altera o fluxo 
normal da execução de um programa. Esta 
ocorrência deve ser tratada para evitar que o 
programa encerre seu funcionamento. 
!
Sempre que o computador executa um código que 
gera uma exceção, ou o Sistema Operacional irá 
terminarseu programa ou o seu programa deverá 
fazer o tratamento para esta exceção. 
!
Informando o compilador que o método poderá lançar 
uma ou mais exceções 
 • No final do cabeçalho de um método que poderá 
lançar exceções, coloca-se a informação: 
 – throws <lista das classes de exceção que o 
método poderá lançar> 
!
Capturando e tratando exceções 
!
os blocos try { }, catch(){ }, e finally { } 
!
Quando programamos um método em Java, e 
dentro desse método existem comandos ou 
chamadas de métodos onde podem ocorrer uma 
ou mais exceções, os comandos devem ser 
colocados dentro de um bloco try, que tem a 
forma: 
!
try { 
<comandos> 
} 
!
No caso de ocorrer uma exceção no bloco try, ela 
será lançada, os demais comandos do bloco serão 
suspensos, e o controle passará para o primeiro 
bloco catch que tenha um parâmetro de tipo 
compatível com a exceção lançada. Pode haver 
zero, um ou mais blocos catch após um bloco try. 
Os blocos catch e finally são opcionais, mas não é 
permitido haver apenas o bloco try sem pelo 
menos um bloco catch ou um bloco finally 
associado. 
!
A linguagem Java admite dois tipos de exceção: As 
não verificadas (unchecked, em inglês) são 
instâncias de subclasses de RuntimeException. O 
compilador não verifica se existe possibilidade de 
serem lançadas, e não exige que os métodos onde 
possam ocorrer façam qualquer tratamento. Elas 
representam erros ou defeitos na lógica do 
programa que podem causar prob lemas 
irrecuperáveis em tempo de execução (run time). 
Por outro lado, instâncias de Exception, ou de 
qualquer outra de suas subclasses, são verificadas 
( c h e c k e d ) c o m o , p . e x , I O E x c e p t i o n , 
C l a s s N o t F o u n d E x c e p t i o n e 
CloneNotSupportedException. Elas representam 
erros que podem ocorrer em tempo de execução, 
mas que não dependem da lógica do programa, 
em geral defeitos nos dispositivos de entrada ou 
saída (arquivos, rede, etc). 
!
O compilador exige que um método onde possam 
ocorrer exceções verificadas faça uma de duas 
coisas: ou utilize blocos try-catch-finally para 
capturar e tratar essas exceções, ou declare que 
pode lançar essas exceções para o método 
chamador, colocando uma cláusula "throws" no 
seu cabeçalho, como por exemplo: 
 
!
p u b l i c v o i d M ( ) t h r o w s I O E x c e p t i o n , 
CloneNotSupportedException { 
.............. 
} 
!
 
 
 
 
!
!
!
AULA 01 
1a Questão (Ref.: 201102335382) 
De acordo com o texto abaixo, qual a alternativa 
correta? (Fonte: adaptado IBM) 
"é um programa que carrega e executa os 
aplicativos Java, convertendo os bytecodes em 
código executável de máquina." 
[ ] JDK 
[ ] JRE 
[ ] garbage collector 
[ ] JSR 
[X] JVM 
!
2a Questão (Ref.: 201102335750) 
A classe String possui diversas funcionalidades 
importantes para o programador. Abaixo seguem 
alguns dos métodos disponíveis. 
Assinale a opção INCORRETA: 
[ ] equals() - compara duas strings 
[ ] length() - obtém o tamanho de uma string 
[ ] toUpperCase() - altera a string para maiúsculo 
[ ] charAt(x) - captura o caractere de uma string 
de acordo com o índice estipulado 
[X] trim() - concatena duas strings 
!
3a Questão (Ref.: 201102334828) 
Para que possamos desenvolver aplicações básicas 
em Java basta termos instalado em nosso 
computador a(s) seguinte(s) tecnologias: (assinale 
somente uma alternativa) 
[ ] O JDK e o Java Standard Edition. 
[ ] Somente o Java Standard Edition. 
[ ] Somente o Java Runtime Enviroment-JRE. 
[ ] Somente a Java Virutal Machine-JVM. 
[X] A Java Runtime Environment (JRE), ambiente 
de execução Java, formado pela JVM e 
bibliotecas,e do Java SE (Standard Edition) - JDK. 
!
!
AULA 02 
1a Questão (Ref.: 201102335311) 
Observe o fragmento do código JAVA a seguir: 
public class Avaliacao { 
 public static int e(int x) { 
 return x * 1; 
 } 
 public static int d(int x) { 
 return x * 2; 
 } 
 public static int b(int x) { 
 if (x < 1) 
 return 0; 
 else 
 return 5 - d(x + 1); 
 } 
 public static int a(int y) { 
 return 3 + b(y) + d(y) + e(y); 
 } 
 public static void main(String[] args) { 
 System.out.println(a(5)); 
 } 
} 
Como resultado de sua execução teremos o 
seguinte resultado: 
[X] 11 
[ ] 12 
[ ] 10 
[ ] 13 
[ ] 14 
!
2a Questão (Ref.: 201102334858) 
!
Dada a saída: DooBeeDooBeeDo 
Preencha as lacunas do código: (Fonte: Livro USE 
a Cabeça JAVA) 
!
public class DooBee{ 
 public static void main(String[] args){ 
 int x = 1; 
 while ( x < 3) { 
 System.out.__________("Doo"); 
 System.out.__________("Bee"); 
 x = x + 1; 
 } 
 if (x == __________){ 
 System.out.print("Do"); 
 } 
 } 
} 
A s s i n a l e a a l t e r n a t i v a q u e i n d i q u e o 
preenchimento das lacunas respectivamente: 
[X] 3; print; print; 3 
[ ] 3; println; print; 4 
[ ] 3; println; println; 3 
[ ] 5; println; println; 5 
[ ] 4; println; println; 4 
!
3a Questão (Ref.: 201102334982) 
Reorganize os trechos de código para criar um 
programa Java funcional que produzisse a saída 
listada abaixo: (Fonte: Livro USE a Cabeça JAVA) 
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
!
Assinale a alternativa que indique a sequência 
correta: 
[ ] 8-3-5-4-1-6-11-2-10-7-9 
[X] 10-3-11-4-8-5-2-1-7-9-6 
[ ] 8-3-9-4-1-5-11-2-10-6-7 
[ ] 8-3-9-4-1-5-11-2-10-7-6 
[ ] 1-3-9-4-11-5-2-10-7-8-6 
!
 
AULA 03 
1a Questão (Ref.: 201102334854) 
Em Java utiliza-se muito a expressão superclasse, 
ou seja, toda nova classe criada subclasse desta 
superclasse, que é a classe Object. Diante disto, 
assinale a alternativa verdadeira a respeito desta 
superclasse: 
[ ] Não fornece métodos que todos os objetos em 
Java precisam (no mínimo). 
[ ] Os métodos podem ser declarados com 
argumentos ou tipo de retorno Vector. 
[ ] A classe Object pertence ao pacote java.swing. 
[X] Age como um tipo polimórfico para métodos 
que tenham que ser usados em qualquer classe. 
[ ] A classe Object não possui nenhum método 
que o objeto possa utilizar. 
!
!
2a Questão (Ref.: 201102335754) 
Levando em consideração os conceitos sobre 
vetores, assinale a opção correta: 
[ ] um vetor somente pode armazenar tipos 
primitivos de dados 
[ ] o índice de um vetor sempre começa em 1 
[ ] o limite de um vetor em Java é de 255 posições 
[ ] declara-se um vetor: int c[5] = new int(); 
[X] é possível executar a seguinte operação em 
um vetor de inteiros: x = vet[5] + vet[8]; 
!
3a Questão (Ref.: 201102335340) 
!
Relacione as definições e marque a alternativa 
correspondente: 
a-toLowerCase() 
b-toUpperCase() 
c-trim() 
d-length() 
e-substring() 
(a) converte maiúscula por minúscula. 
(b) converte minúscula por maiúscula. 
(d) descobre o tamanho de uma string. 
(c) elimina espaços iniciais e finais. 
(e) extrai um conjunto de string. 
!
!
AULA 04 
1a Questão (Ref.: 201102337003) 
Para declarar uma constante chamada SIZE do 
tipo inteiro e com valor 10 no Java, podemos 
utilizar a construção: 
[ ] void final int SIZE = 10 
[ ] static extend integer SIZE = 10 
[X] static final int SIZE = 10 
[ ] this final int SIZE :=10 
[ ] this extend integer SIZE := 10 
!
2a Questão (Ref.: 201102540091) 
!
A respeito da linguagem Java, analise as 
afirmativas a seguir: 
!
I. O modificador final, utilizado na assinatura de 
uma classe, indica que ela é uma classe que 
não pode ser estendida. 
II.Classes Abstratas com métodos abstratosforçam suas subclasses não abstratas a 
sobrescreverem e implementarem os métodos 
declarados como abstratos. 
III.Java permite herança múltipla, ou seja, uma 
classe pode herdar variáveis e métodos de mais 
de uma superclasse ao mesmo tempo. 
!
Assinale: 
[ ] se somente a afirmativa I estiver correta 
[ ] se somente as afirmativas II e III estiverem 
corretas 
[ ] se somente as afirmativas I e II estiverem 
corretas 
[X] se todas as afirmativas estiverem corretas 
[ ] se somente as afirmativas I e III estiverem 
corretas 
!
3a Questão (Ref.: 201102352562) 
Quais os tipos de métodos em java? 
[ ] Abstrato e estático. 
[ ] Ativo e abstrato. 
[X] Ativo, abstrato e estático. 
[ ] Ativo e estático. 
[ ] Estático. 
!
AULA 05 
1a Questão (Ref.: 201102532037) 
(ENADE/2008) Uma pizzaria fez uma ampliação de 
suas instalações e o gerente aproveitou para 
melhorar o sistema informatizado, que era 
limitado e não atendia a todas as funções 
necessárias. O gerente, então, contratou uma 
emp re sa pa ra amp l i a r o s o f twa r e . No 
desenvolvimento do novo sistema, a empresa 
aproveitou partes do sistema antigo e estendeu os 
componentes de maneira a usar código validado, 
acrescentando as novas funções solicitadas. Que 
conceito de orientação a objetos está descrito na 
situação hipotética acima? 
[ ] Sobrecarga 
[ ] Abstração 
[X] Herança 
[ ] Sobreposição 
[ ] Polimorfismo 
!
2a Questão (Ref.: 201102335832) 
Considere o seguinte código-fonte em linguagem 
Java: 
!
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import javax.swing.JButton; 
import javax.swing.JFrame; 
!
public class Q4Class extends JFrame{ 
private JButton b; 
public static void main(String[] args) { 
 JFrame f = new Q4Class (); 
 f.setDefaultCloseOperation 
 (JFrame.EXIT_ON_CLOSE); 
 f.setSize(300, 200); 
 f.setVisible(true); 
} 
!
!
public Q4Class (){ 
this.getContentPane().add(b = (new 
 JButton("Clique aqui"))); 
b.addActionListener(new ActionListener() { 
public void actionPerformed(ActionEvent e){ 
((JButton)e.getSource()).setText("OK"); 
} 
}); 
} 
} 
[ ] o argumento da chamada do método 
addActionListener para o objeto referenciado por b 
é uma classe interna anônima 
[ ] o símbolo b não poderia ser referenciado 
dentro do método main porque este não faz parte 
da classe Q4Class 
[X] a chamada do método getSource() retorna 
uma referência da classe Object para o objeto 
ouvinte do evento de clique de botão, e essa 
referência é convertida para o tipo JButton para 
ser possível mudar o texto exibido no botão 
[ ] o programa não termina quando a janela é 
fechada porque não foi adicionado um 
WindowListener ao objeto referenciado por f no 
método main 
[ ] o código não executará, com erro no construtor 
!
3a Questão (Ref.: 201102335751) 
Marque a opção que corresponda a uma 
mensagem, baseada em GUI, para o usuário 
informar a idade na própria caixa de diálogo. 
[ ] JOptionPane.showDialog("Informe a sua 
idade"); 
[ ] JOptionPane.showInputDialog(int idade, 
"Informe a sua idade"); 
[X] JOptionPane.showInputDialog("Informe a sua 
idade"); 
[ ] JOptionPane.showMessageDialog(null, "Informe 
a sua idade"); 
[ ] JOptionPane.showMessageDialog(idade, 
"Informe a sua idade"); 
fechar Voltar 
Período de não visualização da prova: desde até . 
!
AULA 06 
1a Questão (Ref.: 201102535434) 
!
Seja a classe: 
!
!
public class Carro { 
 private String cor; 
 private boolean estadoMotor; 
 public void ligaMotor() {estadoMotor=true;} 
 public void desligaMotor( ) 
 {estadoMotor=false;} 
 public boolean motor( ){ return 
 estadoMotor;} 
} 
!
Se o código abaixo for executado, pode-se dizer 
que: 
!
!
public class Teste { 
 public static void main(String[] args) { 
 Carro c=new Carro(); 
 c.cor="Preto"; 
 } 
} 
[ ] O objeto c não pode ser instanciado, pois não 
há construtor na classe. 
[ ] Será gerado erro de compilação pois há erro de 
sintaxe em: c.cor="Preto"; 
[ ] O código é executado normalmente, pois c é 
uma instancia da mesma classe que o atributo. 
[X] Será gerado um erro de compilação, pois o 
atributo é private. 
[ ] Será gerado erro de execução pois o tipo do 
atributo está em desacordo com o valor atribuído. 
!
2a Questão (Ref.: 201102334851) 
Dada a instrução: Pessoa p = new Pessoa(), 
assinale a alternativa que represente melhor o que 
acontece quando esta instrução é interpretada. 
[ ] está sendo criada uma variável primitiva 
chamada Pessoa que está sendo associada a um 
novo objeto. 
[ ] está sendo criada uma variável primitiva 
chamada p que está sendo associada a um novo 
objeto. 
[ ] está sendo criada uma variável de referência 
chamada Pessoa, que está sendo associada a um 
objeto do tipo Pessoa. 
[X] está sendo criada uma variável de referência 
chamada p do tipo Pessoa, que está sendo 
associada a um objeto do tipo Pessoa que está 
sendo criado e instanciado para a memória heap 
da JVM. 
[ ] está sendo criada uma variável de referência 
chamada Pessoa, que está sendo associada a uma 
nova variável primitiva. 
!
3a Questão (Ref.: 201102335347) 
!
Dado o seguinte modelo: 
!
!
!
!
!
!
!
Marque a alternativa que define a classe Pessoa. 
[ ]———————————————————— 
public Pessoa { 
private int codigoPessoa; 
private String nome; 
private String endereco; 
private int telefone; 
} 
[X]———————————————————— 
public class Pessoa { 
private int codigoPessoa; 
private String nome; 
private String endereco; 
private int telefone; 
} 
[ ]———————————————————— 
public Pessoa { 
public static main (String args[]) { 
private int codigoPessoa; 
private String nome; 
private String endereco; 
private int telefone; 
} 
} 
[ ]———————————————————— 
public class Pessoa { 
public static main (String args[]) { 
private int codigoPessoa; 
private String nome; 
private String endereco; 
private int telefone; 
} 
} 
[ ]———————————————————— 
public Pessoa { 
public static main (String args[]) { 
private codigoPessoa int; 
private nome String; 
private endereco String; 
private telefone int; 
} 
} 
!
!
AULA 07 
1a Questão (Ref.: 201102335348) 
A palavra reservada EXTENDS implementa qual o 
conceito? 
[ ] Portabilidade 
[X] Herança 
[ ] Polimorfismo 
[ ] Visibilidade 
[ ] Associação 
!
2a Questão (Ref.: 201102359212) 
Como se generaliza em Java? 
[ ] public class ClasseFilha import ClassePai {} 
[ ] public class ClasseFilha :: ClassePai {} 
[X] public class ClasseFilha extends ClassePai {} 
[ ] public class ClasseFilha : ClassePai {} 
[ ] public class ClasseFilha implements ClassePai 
{} 
!
3a Questão (Ref.: 201102335381) 
Generalização é o mecanismo pelo qual uma 
classe (sub-classe) pode estender outra classe 
( s u p e r - c l a s s e ) , a p r o v e i t a n d o s e u s 
compor tamentos (métodos) e var iáve i s 
possíveis(atributos), também é conhecido como: 
(Fonte: adaptado IBM) 
[ ] Abstração 
[X] Herança 
[ ] Associação 
[ ] Classe Abstrata 
[ ] Agregação 
!
 
!
AULA 08 
1a Questão (Ref.: 201102335334) 
Com relação ao trecho de código apresentado 
abaixo podemos dizer que: 
public abstract class A { 
} 
public class B extends A { 
} 
public class C extends B { 
} 
public class Avaliacao { 
 public static void main(String[] args) { 
 A a = new B(); 
 C c = (C) a; 
 } 
} 
[ ] O programa compila, mas lança exception class 
B. 
[X] O programa compila, mas lança exception na 
linha C c = (C) a. 
[ ] O programa não compila. 
[ ] O programa compila, mas lança exception na 
linha A a = new B(). 
[ ] O programa compila e roda normalmente, sem 
lançar exceptions. 
!
2a Questão (Ref.: 201102359205)Qual a sintaxe representa um overload? 
[X] public class ClasseFilha extends ClassePai 
{ void ClasseFilha () { } void ClasseFilha (int p1) { 
} } 
[ ] public class ClasseFilha extends ClassePai 
{ void ClasseFilha () { } void ClasseFilha2 (int p1) 
{ } } 
[ ] public class ClassePai { void ClassePai() { } } 
public class ClasseFilha extends ClassePai { void 
ClasseFilha () { } } 
[ ] public class ClassePai { void ClassePai() { } 
void ClassePai2() { } } public class ClasseFilha 
extends ClassePai { void ClasseFilha () { } } 
[ ] public class ClasseFilha extends ClassePai 
{ void ClasseFilha () { } void ClasseFilha2 () { } } 
!
Overload, palavra inglesa que em português 
significa sobrecarga. A sobrecarga de métodos 
consiste em voce declarar vários métodos em uma 
única classe ou em classes descendentes, com o 
mesmo nome, porém eles tem que ter assinaturas 
diferentes. A assinatura do método é o escopo do 
método identificado pelo seu retorno, pelo seu 
nome, bem como o recebimento ou não de seus 
parâmetros. 
!
!
!
!
!
3a Questão (Ref.: 201102535446) 
!
A JOptionPane é a classe mais simples do Swing, 
esta classe mostra janelinhas de mensagens, 
confirmação e erros, entre outras. Marque a 
alternativa que apresenta o método mais 
apropriado de se mostrar uma mensagem para o 
usuário. 
[X] JOptionPane.showMessageDialog(null, "Minha 
mensagem!"); 
[ ] JOptionPane.showConfirmDialog(null, "Minha 
mensagem!"); 
[ ] JOptionPane.showFileChooser(null, "Minha 
mensagem!"); 
[ ] JOptionPane.showInputDialog(null, "Minha 
mensagem!"); 
[ ] JOptionPane.showQuestionMessage (null, 
"Minha mensagem!"); 
fechar Voltar 
Período de não visualização da prova: desde até . 
!
 
AULA 09 
1a Questão (Ref.: 201102335309) 
Baseando-se no trecho de código abaixo, podemos 
afirmar que: 
public class Avaliacao { 
 public static void main(String[] args) { 
 String a = "3"; 
 int saida = 0; 
 try { 
 int i = Integer.parseInt(a); 
 saida = i; 
 } catch (Exception e) { 
 saida = -1; 
 } finally { 
 saida = 10; 
 } 
 
 System.out.println(saida); 
 } 
} 
!
[ ] A saída no console será: "3" 
[ ] A saída no console será: "13" 
[X] A saída no console será: "10" 
[ ] Não compilará; 
[ ] A saída no console será: "-1" 
!
!
2a Questão (Ref.: 201102335747) 
Uma classe que não é concebida para criar 
instâncias, servindo como uma superclasse para 
outras classes é a: 
[ ] concreta 
[X] abstrata 
[ ] múltipla 
[ ] dinâmica 
[ ] obstrutiva 
!
!
3a Questão (Ref.: 201102532047) 
O tratamento de exceção é o mecanismo 
responsável pelo tratamento da ocorrência de 
condições que alteram o fluxo normal da execução 
dos programas. Nas exceções utilizamos algumas 
palavras reservadas para este tratamento. Qual 
dos conceitos a seguir se refere a cláusula throws? 
[ ] especifica as exceções que o método pode 
lançar e informa as demais partes do programa 
[ ] detecção e o tratamento de erros que podem 
ocorrer durante a execução de um loop 
[ ] permite a detecção e tratamento de bugs que 
podem ocorrer durante a execução do programa, 
agregando o try/catch 
[ ] o controle passará para o primeiro catch que 
tenha um parâmetro compatível com a exceção 
lançada 
[X] dentro do bloco de exceção ela será lançada, 
os demais comandos do bloco serão suspensos 
!
!
AULA 10 
1a Questão (Ref.: 201102335335) 
Analise o seguinte trecho de código. Qual o 
resultado de tentar compilá-lo e executá-lo? 
class Avaliacao { 
 public static void main(String[] args) { 
 System.out.println("Inicio do main!!"); 
 try { 
 System.out.println("Inicio do try!"); 
 int[] array = new int[3]; 
 for (int i = 0; i < 4; ++i) { 
 array[i] = i; 
 System.out.println(i); 
 } 
 System.out.println("Fim do try!"); 
 } catch (Exception e) { 
 System.out.println("Exceçao: " + e); 
 } 
 System.out.println("Fim do main!"); 
 } 
} 
[ ] O código compila execução sem a existência de 
Exceções. 
[ ] O código não compila por causa de um erro no 
array. 
[ ] O código não compila. 
[X] O código compila ocorre uma exceção 
ArrayIndexOutOfBoundsException, contudo está é 
tratada e o programa segue ate imprimir: "Fim do 
main!". 
[ ] O código compila, mas tem sua execução 
interrompida devido a ocorrência de uma 
ArrayIndexOutOfBoundsException. 
!
2a Questão (Ref.: 201102335351) 
Marque a alternativa que representa a palavra 
reservada que indica que a classe que está sendo 
definida é uma INTERFACE. 
[X] implements 
[ ] public 
[ ] static 
[ ] extends 
[ ] new 
!
3a Questão (Ref.: 201102335753) 
Pode-se dizer sobre exceções que: Marque a 
alternativa correta. 
[ ] são as principais classes de exceções Java: 
NullPointerException, offExcecpion e onException 
[ ] throws é o comando responsável pela 
implementação de uma exceção 
[ ] a estrutura de uma exceção é o bloco catch, 
que resume-se em tentar executar o código, bloco 
try, que fará todo o tratamento em caso de algum 
erro 
[ ] é obrigatório utilizar o comando finally em 
todos tratamentos de exceção 
[X] o tratamento de exceção deve ser feito em 
todos os casos em que haja probabilidade de 
ocorrer um erro. 
!
!
!
!
!
!
!
!
LINGUAGEM DE PROGRAMAÇÃO !
1a Questão (Ref.: 201307280081)

Objeto é uma instância de uma classe. Para instanciar 
uma classe em Java, deve-se utilizar um método especial 
chamado construtor.!
Explique quais características este método especial deve 
ter e implemente um método construtor para uma classe 
Carro com os atributos marca e modelo.!
Resposta:!
O método construtor deve ter o mesmo nome da classe e 
não pode possuir retorno. !
!
public Carro(String marca, String modelo){!
! this.marca=marca;!
! this.modelo=modelo; !
}!
————————————————————-!
2a Questão (Ref.: 201307280073)!
Java é uma linguagem multiplataforma, isto é, pode ser 
executada em vários sistemas operacionais ou 
d ispos i t i vos . Ta l ca rac te r í s t i ca é em razão , 
principalmente, pela presença da Máquina Virtual Java. 
Explique como esta Máquina Virtual possibilita a 
execução dos programas Java em várias plataformas.!
Resposta:!
A máquina virtual java é um componente da plataforma 
java que funciona entre o sistema operacional e o 
PROVAS
programa java. Existe uma implementação de máquina 
virtual java para cada sistema operacional e/ou 
dispositivo móvel. Na verdade, é a máquina virtual java 
que interpreta o programa java.!
————————————————————-!
3a Questão (Ref.: 201307255086) !
Supondo que A e B são variáveis inteiras com valores 
iguais a 5 e 10, respectivamente, e D e E variáveis float, 
que possuem valor igual a 1.5 e 0, respectivamente.!
Escolha a alternativa que indica o conteudo final da 
variável E:!
E = A++;

E = ((20 / A) / 3) + (2*B)/2 ; E = ((32 % 4) * 2 *2) * D;

E *= B;!
!
[ ] 15 !
[ ] 10!
[ ] 100 !
[ ] 1.5 !
[X] 0!
—————————————————————!
4a Questão (Ref.: 201307254724) !
Reorganize os trechos de código para criar um programa 
Java funcional que produzisse a saída listada abaixo:	
!
!
!
!
!
!
 
!
!
!
!
!
!
!
 
!
!
!
!
!
!
!
!
!
Assinale a alternativa que indique a sequência 
correta: 
[ ] 8-3-5-4-1-6-11-2-10-7-9 
[X] 10-3-11-4-8-5-2-1-7-9-6 
[ ] 8-3-9-4-1-5-11-2-10-6-7 
[ ] 8-3-9-4-1-5-11-2-10-7-6 
[ ] 1-3-9-4-11-5-2-10-7-8-6 
!
—————————————————————!
5a Questão (Ref.: 201307255047)!
Considerando o código a seguir: !
public static void main(String[] args) {!
! int i = 15; !
! while(true){!
! ! if(i%3==0){ !
! ! ! System.out.print(i + " ");!
! ! } !
! ! i--;!
! ! if(i==0){ !
! ! ! break;!
! ! } !
! }!
}

A saída da execução desse trecho de código terá como 
primeiro número da sequência e último respectivamente:!
[ ]14 e 2 !
[ ] 15 e 2 !
[ ] 12 e 2!
[ ] 12 e 3!
[X] 15 e 3 
———————————————————-!
6a Questão (Ref.: 201307255496)

Levando em consideração os conceitos sobre vetores, 
assinale a opção correta:!
[ ] o índice de um vetor sempre começa em 1!
[X] é possível executar a seguinte operação em um vetor 
de inteiros: x = vet[5] + vet[8]; !
[ ] o limite de um vetor em Java é de 255 posições!
[ ] um vetor somente pode armazenar tipos primitivos de 
dados!
[ ] declara-se um vetor: int c[5] = new int();!
!
—————————————————————!
7a Questão (Ref.: 201307254570)

Para que possamos desenvolver aplicações básicas em 
Java basta termos instalado em nosso computador a(s) 
seguinte(s) tecnologias: (assinale somente uma 
alternativa)!
[ ] O JDK e o Java Standard Edition. !
[ ] Somente o Java Standard Edition.!
[X] A Java Runtime Environment (JRE), ambiente de 
execução Java, formado pela JVM e bibliotecas,e do 
Java SE (Standard Edition) - JDK.!
[ ] Somente a Java Virutal Machine-JVM.!
[ ] Somente o Java Runtime Enviroment-JRE.!
—————————————————————!
8a Questão (Ref.: 201307255124) !
De acordo com o texto abaixo, qual a alternativa correta? 
(Fonte: adaptado IBM)!
"é um programa que carrega e executa os aplicativos 
Java, convertendo os bytecodes em código executável de 
máquina."!
[X] JVM

[ ] JDK

[ ] JSR 

[ ] JRE

[ ] garbage collector!
!
—————————————————————!
9a Questão (Ref.: 201307254571)

A tecnologia Java implementa um serviço conhecido 
como Garbage Collector - Coletor de Lixo. Sua função é:!
[ ] Possibilitar a criação de herança entre as classes.

[X] Eliminar os objetos que não estão sendo usados se 
estiver com pouco espaço na memória. !
[ ] Determinar quando uma classe deve ser abstrata.

[ ] Permitir a instanciação do objeto na memória.

[ ] Detectar os Hot Spots das aplicações.!
!
�—————————————————————� !
10a Questão (Ref.: 201307255082)

Relacione as definições e marque a alternativa 
correspondente:!
a-toLowerC ase() !
b-toUpperC ase() !
c-trim() !
d-length() !
e-substring()!
(a) converte maiúscula por minúscula. !
(b) converte minúscula por maiúscula. !
(d) descobre o tamanho de uma string. !
(c) elimina espaços iniciais e finais.!
(e) extrai um conjunto de string.!
!
!
!
LINGUAGEM DE PROGRAMAÇÃO !
_______________________________________!
1a Questão (Ref.: 201202208650)! !
Um conceito importante em programação orientada a 
objetos é o termo objeto. Neste sentido, o termo objeto 
significa:!
[ ] define estados internos de uma classe.!
[ ] define a declaração de uma variável de referência 
associada a um variável primitiva.!
 [ ] são os resultados alcançados com a aplicação do 
padrão e a relação entre as vantagens e desvantagens 
dessa aplicação.!
[ ] um identificador utilizado para descrever o cenário do 
padrão como um todo.!
[X] instância de uma classe.!
!
_______________________________________!
 2a Questão (Ref.: 201202208667)!
Em Java encontra-se várias formas de implementarmos 
uma estrutura de dados. Uma delas é a criação de 
matrizes unidimensionais (vetores) e multidimensionais. É 
correto afirmar sobre esta estrutura de dados:!
[ ] é usada somente para agrupar dados de tipos 
primitivos, como int e double.!
[ ] é usada somente para armazenar tipos primitivos.!
[X] é usada para armazenar dados de tipos primitivos e 
também para armazenar objetos.!
[ ] não é permitido o uso deste tipo de estrutura em 
Java, somente na Linguagem C.!
[ ] é usada somente para agrupar objetos.!
!
_______________________________________!
 3a Questão (Ref.: 201202208646)!
A tecnologia Java implementa um serviço conhecido 
como Garbage Collector - Coletor de Lixo. Sua função é:!
[ ] Permitir a instanciação do objeto na memória.!
[X] Eliminar os objetos que não estão sendo usados se 
estiver com pouco espaço na memória.!
[ ] Detectar os Hot Spots das aplicações.!
[ ] Possibilitar a criação de herança entre as classes.!
[ ] Determinar quando uma classe deve ser abstrata.!
!
_______________________________________4a 
Questão (Ref.: 201202209167)!
O conceito definido na linguagem JAVA para descrever o 
comportamento através de um conjunto de métodos 
abstratos, é denominado de:!
[ ] Agregação!
[ ] Herança!
[ ] Associação!
[ ] Polimorfismo!
[X] Interface!
!
_______________________________________!
5a Questão (Ref.: 201202234082)!
!
! A empresa XYZ precisa armazenar dados sobre 
Alunos(matricula, nome e nota) e Professores (matricula, 
nome e salario).!
! Implemente utilizando o conceito de herança uma 
solução orientada a objetos em Java que atenda as 
necessidades da Empresa XYZ.!
!
Resposta:!
public class Pessoa {!
 private int matricula;!
 private String nome;!
 public Pessoa(int matricula, String nome){!
 this.matricula=matricula;!
 this.nome=nome;!
 }!
 !
public class Aluno extends Pessoa{!
 private float nota;!
 public Aluno(int matricula, String nome, float nota){!
 super(matricula,nome);!
 this.nota=nota;!
}!
 !
public class Professor extends Pessoa {!
 private float salario;!
 public Professor(int matricula,String nome, float salario){!
 super(matricula,nome);!
 this.salario=salario;!
 }!
}!
_____________________________________!
 6a Questão (Ref.: 201202234139)! !
Explique o conceito de Polimorfismo e Sobrecarga.!
O código fonte abaixo possui exemplos destes conceitos? 
Se sim, aponte-os.!
import java.util.Vector;!
public class Pessoas {!
private String nome;!
private int codigo;!
public Pessoa (String nome, int codigo) {!
 this.nome=nome;!
 this.codigo=codigo;!
}!
 public Pessoa(int codigo) {!
 this.codigo=codigo;!
}!
 public String toString(){!
 return "dados"+this.codigo+this.nome; }!
}!
public class PessoasEspeciais extends Pessoa {!
 private String caracteristica;!
 public PessoasEspeciais (String nome, int codigo, String 
caracteristica) {!
 super(nome,codigo);!
 this.caracteristica=caracteristica;!
 }!
 public String toString(){!
 return "dados"+this.codigo+this.nome
+this.caracteristica;!
}!
}!
!
Resposta:!
Polimorfismo ocorre quando métodos possuem as 
mesmas assinaturas e implementações diferentes em 
classes distintas. Neste caso o método toString() é 
polimórfico.!
Métodos com o mesmo nome, mas assinaturas diferentes 
se constituem em sobrecarga. Neste caso o método 
construtor de Pessoa está sobrecarregado.!
!
_______________________________________!
 7a Questão (Ref.: 201202209163)! !
Marque a alternativa que define uma matriz de números 
inteiros com 4 linhas e 5 colunas:!
[ ] int matriz [4][5];!
[ ] int [][] matriz = new int [5][5];!
[X] int [][] matriz = new int [4][5];!
[ ] int [][] matriz = new int [4,5];!
[ ] int [][] matriz = new int [5,4];!
!
_______________________________________!
 8a Questão (Ref.: 201202209164)! !
Dado o seguinte modelo:!
!
 !
!
!
!
!
 !
Marque a alternativa que define a classe Pessoa.!
_______________________________________!
[ ] public Pessoa { !
public static main (String args[]) { !
private int codigoPessoa; !
private String nome; !
private String endereco; !
private int telefone; !
} !
}!
_______________________________________!
[ ] public class Pessoa { !
private int codigoPessoa; !
private String nome; !
private String endereco; !
private int telefone; !
}!
_______________________________________!
[ ] public Pessoa { !
private int codigoPessoa; !
private String nome; !
private String endereco; !
private int telefone; !
}!
_______________________________________!
[ ] public class Pessoa { !
public static main (String args[]) { !
private int codigoPessoa; !
private String nome; !
private String endereco; !
private int telefone; !
} !
}!
_______________________________________!
[ ] public Pessoa { !
publicstatic main (String args[]) { !
private codigoPessoa int; !
private nome String; !
private endereco String; !
private telefone int; !
} !
}!
!
_______________________________________!
 9a Questão (Ref.: 201202209127)!
Dado o trecho de código abaixo selecione a opção que 
contem uma afirmativa correta.!
public interface A {!
 void nomes();!
}!
public interface B extends A {!
 void nome();!
}!
public class Avaliacao implements B, A {!
 public void nome() {!
 }!
}!
[X] A classe Avaliacao não compila, pois não implementa 
as duas interfaces (implements A, B).!
[ ] A interface B não compila, pois uma interface não 
pode estender outra interface.!
[ ] As interfaces e a classe compilam normalmente.!
[ ] Dá erro de compilação na interface B.!
[ ] A classe Avaliacao não compila, pois uma classe não 
pode implementar duas interfaces.!
!
_______________________________________!
10a Questão (Ref.: 201202210821)!
1. Considere as instruções Java abaixo:!
int cont1 = 3;!
int cont2 = 2;!
int cont3 = 1;!
cont1 += cont3++;!
cont1 -= --cont2;!
cont3 = cont2++;!
Após a execução deste trecho de código, os valores de 
cont1, cont2 e cont3 serão, respectivamente:!
[ ] 4, 2 e 3!
[ ] 4, 3 e 2!
[ ] 2, 3 e 4!
[X] 3, 2 e 1!
[ ] 1, 2 e 3!
!
_______________________________________!
11a Questão (Ref.: 201202209644)!
Marque a opção que preenche as lacunas corretamente: !
!
1. Um _Gerenciador de layout_ organiza os 
componentes GUI em um Container. !
!
2. O método _setLayout_ é utilizado para especificar o 
gerenciador de layout para um container. !
!
3. A classe _JOptionPane_ contém métodos que exibem 
diálogos de mensagem e diálogos de entrada. !
!
4. GUI é um acrônimo para _ interface gráfica com o 
usuário_ .!
[X] Gerenciador de layout, setLayout, JOptionPane, 
interface gráfica com o usuário!
[ ] Controlador de objetos, run, JFrame, interface gráfica 
com o usuário!
[ ] Gerenciador de layout, thread, JFrame, interface 
gráfica com o usuário!
[ ] Gerenciador de classes, run, JOPtionPane, índice 
unificado de usuário!
[ ] Controlador de classes, setFrame, JTextField, índice 
unificado de usuário!
!
!
!
!
!
!
!
!
!
!
LINGUAGEM DE PROGRAMAÇÃO !
Tipo de Avaliação: AV2!
!
1a Questão (Cód.: 56576)!
Erros de execução podem ocorrer em códigos fontes 
implementados. As boas práticas de desenvolvimento da 
programação orientada a objetos exigem que o 
desenvolvedor se preocupe com os possíveis erros de 
execução da sua aplicação. !
Na linguagem de programação Java para tratar erros, 
deve-se utilizar paradigma try / catch.!
Neste contexto, implemente uma aplicação Java que trate 
erros de divisão por zero. !
!
Resposta: !
!
public class ErroDivisaoZero{!
 public static void main(String[] args){!
 try{!
 int x = 0;!
 int y =2;!
 int resultado = y/x;!
 }!
 catch (ArithmeticException e){!
 System.out.println("erro de divisão por zero" + 
e.getMessage());!
 !
 }!
}!
!
!
_______________________________________!
2a Questão (Cód.: 31136) !
Em Java pode-se ut i l izar di ferentes t ipos de 
modificadores de acesso para seus atributos e métodos, 
dependendo da necessidade da aplicação que está 
sendo desenvolvida. É correto afirmar sobre os 
modificadores de acesso usados na declaração de 
atributos:!
[ ] O modificador de acesso protected permite que todos 
os objetos que o usam possam alterá-lo; já o modificador 
de acesso public torna o atributo visível pela própria 
classe ou suas subclasses, e o modificador de acesso 
private permite que só a classe manipule seus atributos.!
[ ] O modificador de acesso private permite que todos os 
objetos que o usam possam alterá-lo; já o modificador de 
acesso public torna o atributo visível pela própria classe 
ou suas subclasses, e o modificador de acesso protected 
permite que só a classe manipule seus atributos.!
[X] O modificador de acesso public permite que todos os 
objetos que o usam possam alterá-lo; já o modificador de 
acesso protected torna o atributo vísivel pela própria 
classe ou suas subclasses, e o modificador de acesso 
private permite que só a classe manipule seus atributos.!
[ ] O modificador de acesso protected permite que todos 
os objetos que o usam possam alterá-lo; já o modificador 
de acesso public torna o atributo visível pela própria 
classe ou suas subclasses, e o modificador de acesso 
final permite que só a classe manipule seus atributos.!
[ ] O modificador de acesso final permite que todos os 
objetos que o usam possam alterá-lo; já o modificador de 
acesso public torna o atributo visível pela própria classe 
ou suas subclasses, e o modificador de acesso private 
permite que só a classe manipule seus atributos.!
!
_______________________________________!
3a Questão (Cód.: 56618)! ! 
Java é uma linguagem multiplataforma, isto é, pode ser 
executada em vários sistemas operacionais ou 
d ispos i t i vos . Ta l ca rac te r í s t i ca é em razão , 
principalmente, pela presença da Máquina Virtual Java. 
Explique como esta Máquina Virtual possibilita a 
execução dos programas Java em várias plataformas.!
!
Resposta: !
A máquina virtual java é um componente da plataforma 
java que funciona entre o sistema operacional e o 
programa java. Existe uma implementação de máquina 
virtual java para cada sistema operacional e/ou 
dispositivo móvel. Na verdade, é a máquina virtual java 
que interpreta o programa java.!
!
_______________________________________!
4a Questão (Cód.: 31133)!
Sabemos que para manipularmos um objeto é necessário 
usarmos a chamada variável de referência. Analise as 
figuras abaixo e assinale qual está apresentado a 
utilização correta de uma variável de referência: !
[X] 
�
!
_______________________________________!
[ ] 
[ ] 
[ ] 
[ ] 
�
�
�
�
5a Questão (Cód.: 31636)!
Considerando métodos polimórficos, marque a alternativa 
que preenche os seguintes espaços vazios corretamente: !
__ overloading_ define vários métodos de mesmo nome 
com assinaturas diferentes. !
___ overriding_ altera o comportamento do método na 
subface, mantendo a mesma assinatura, mas com 
funcionalidade diferente. !
[ ] overriding - overloading!
[ ] new - extend!
[ ] método set - implementation!
[ ] implements - extend !
[X] overloading - overriding !
______________________________________!
6a Questão (Cód.: 77783)!
Considere:!
I. Uma classe define o comportamento dos objetos 
através de seus métodos, e quais estados ele é 
capaz de manter através de seus atributos.!
II. Na herança cada classe derivada (subclasse) 
apresenta as características (estrutura e métodos) da 
classe base (superclasse) e acrescenta a elas o que 
for definido de particularidade para ela.!
III. Polimorfismo é o princípio pelo qual duas ou mais 
classes derivadas de uma mesma superclasse podem 
invocar métodos que têm a mesma identificação e 
mesmo comportamento (comportamento diferente).!
IV. Um objeto é capaz de armazenar estados através de 
seus atributos e reagir a mensagens enviadas a ele, 
assim como se relacionar e enviar mensagens a 
outros objetos.!
!
Na orientação a objetos é correto o que se afirma em:!
[X] I, II e IV, apenas. !
[ ] I, II e III, apenas. !
[ ] II, III e IV, apenas. !
[ ] I, II, III e IV.!
[ ] I, III e IV, apenas. !
!
_______________________________________!
7a Questão (Cód.: 31638) !
Marque a alternativa que representa a palavra reservada 
que indica que a classe que está sendo definida é uma 
INTERFACE.!
[x] implements !
[ ] new!
[ ] public!
[ ] extends!
[ ] static!
!
_______________________________________!
8a Questão (Cód.: 91556)!
Sobre programação orientada a objetos, assinale a 
afirmativa INCORRETA: !
[X] Uma classe queherda de outra é chamada 
superclasse.!
[ ] Herança é um mecanismo que permite a uma classe 
herdar todo o comportamento e os atributos de outra 
classe.!
[ ] Uma classe é um modelo usado para criar vários 
objetos com características semelhantes.!
[ ] Pacote é um conjunto de classes e interfaces.!
[ ] Os objetos também são denominados instâncias.!
!
_______________________________________!
9a Questão (Cód.: 63477)!
(PRODEB 2008) Dado a estrutura da linguagem Java 
para acesso a arquivos, assinale a alternativa correta.!
[X] A classe abstrata InputStream define métodos para 
entrada de dados baseada em bytes.!
[ ] A classe abstrata Reader define métodos para 
entrada de dados baseada em bytes.!
[ ] A classe abstrata Writer define métodos para entrada 
de dados baseada em bytes. !
[ ] A classe abstrata File define métodos para entrada de 
dados baseada em bytes.!
[ ] A classe abstrata OutputStream define métodos para 
entrada de dados baseada em bytes. !
!
_______________________________________!
10a Questão (Cód.: 33286)!
A tecnologia Java é, basicamente, dividida em: !
[X] JSE, JEE e JME!
[ ] JSE, JDE e JPE!
[ ] JSE, JEE e JPE!
[ ] JSE, JEEP e JME!
[ ] JSE, JDE e JME!
!
JSE 
Java2 Standard Edition – Fornece as 
principais APIs e enfoca o desenvolvimento 
de aplicações na arquitetura Cliente – 
Servidor. 
JEE 
Java2 Enterprise Edition – Fornece um 
conjunto de APIs para o desenvolvimento 
corporativo e enfoca na integração entre 
sistemas. JME 
Java2 Micro Edition – Fornece as APIs 
para o desenvolvimento de aplicações para 
c ompu t a ç ão móve l , em pequeno s 
dispositivos ou tecnologias embarcadas. 
!
!
LINGUAGEM DE PROGRAMAÇÃO 
Tipo de Avaliação: AV2 !!
 1a Questão (Cód.: 56600) 
O programa abaixo pode gerar uma exceção? Se a 
resposta for positiva, como implementar um tratamento 
de exceção para que seja exibida uma mensagem em 
caso de erro? 
public class Exemplo1App extends Object { 

 public static void main(String args[]) 

 {

 int a[] = new int[2];

 for (int i=1; i<=4; i++)

 System.out.println(a[i]); 
 }

} 
Resposta:Sim. Segue a Implementação: 
public class Exemplo1App extends Object { 

 public static void main(String args[]) 

 {

 try{ 
 int a[] = new int[2]; 

 for (int i=1; i<=4; i++)

 System.out.println(a[i]); 
 } 
 catch (ArrayIndexOutOfBoundsException e) { 
 System.out.println("erro de indice fora de faixa"); 
}

} 
!
 2a Questão (Cód.: 55493) 
Qual sintaxe representa um override? 
( ) public class ClassePai { public void 
metodoExemplo() { } } public class ClasseFilha extends 
ClassePai { public void metodoExemplo1() { } public 
void metodoExemplo2() { } } 
( ) public class ClassePai { public void 
metodoExemplo() { } } public class ClasseFilha extends 
ClassePai { public void metodoExemplo() { } public 
void metodoExemplo(int p1) { } } 
( ) public class ClassePai { public void 
metodoExemplo() { } } public class ClasseFilha 
extends ClassePai { public void metodoExemplo() 
{ } } 
( ) public class ClassePai { public void 
metodoExemplo() { } } public class ClasseFilha extends 
ClassePai { public void metodoExemplo() { } public 
void metodoExemplo() { } } 
( ) public class ClassePai { public void 
metodoExemplo1() { } } public class ClasseFilha 
extends ClassePai { public void metodoExemplo2() 
{ } } 
!
 3a Questão (Cód.: 32546) 
A classe "pai" na orientação a objetos é tecnicamente 
definida como. 
( ) hospedeira 
( ) estrangeira 
( X ) super-classe 
( ) sub-classe 
( ) fronteiriça 
!
 4a Questão (Cód.: 56622) 
"um programa java pode ser executado no linux, windows 
e macOS". "Java pode ser executado em smartphones, 
pc, web etc.".!
As afirmações anteriores representam qual  característica 
da plataforma java?!
Explique.!
!
Resposta:Estas afirmações representam a característica 
multiplataforma da plataforma java. A plataforma java 
pode ser executada em vários sistemas operacionais 
por causa da máquina virtual java. 
!
 5a Questão (Cód.: 57327) 
Na Análise e Projeto Orientado a Objetos, um recurso 
tem como meta principal reduzir o número de variáveis 
globais usadas dentro de um programa, consistindo na 
separação dos aspectos externos de um objeto, 
permitindo que a sua implementação possa ser 
modificada sem que afete as aplicações que o utilizam. 
Este recurso é denominado: 
( ) polimorfismo 
( X ) encapsulamento 
( ) modularidade 
( ) herança 
( ) independência 
!
 6a Questão (Cód.: 77783) 
Considere:!
I. Uma classe define o comportamento dos objetos 
através de seus métodos, e quais estados ele é 
capaz de manter através de seus atributos.!
II. Na herança cada classe derivada (subclasse) 
apresenta as características (estrutura e métodos) da 
classe base (superclasse) e acrescenta a elas o que 
for definido de particularidade para ela.!
III. Polimorfismo é o princípio pelo qual duas ou mais 
classes derivadas de uma mesma superclasse podem 
invocar métodos que têm a mesma identificação e 
mesmo comportamento.!
IV. Um objeto é capaz de armazenar estados através de 
seus atributos e reagir a mensagens enviadas a ele, 
assim como se relacionar e enviar mensagens a 
outros objetos.!
Na orientação a objetos é correto o que se afirma em:!
!
!
( ) I, II e III, apenas.!
 !
( ) I, III e IV, apenas.!
 !
( X ) I, II e IV, apenas.!
!
( ) I, II, III e IV.!
!
( ) II, III e IV, apenas.!
!
!
!
!
 7a Questão (Cód.: 31663) 
Considere a seguinte definição: 
 
public class Produto { 
private int codigo; 
private double preco; 
public Produto(int codigo, double preco) { 
 this.codigo=codigo; 
 this.preco=preco; } 
public Produto() { 
 this.codigo=codigo; 
 this.preco=0d; } 
public void atualizaPreco (float wperc) { 
 this.preco = (wpreco * (1+wperc)) * 1.10; } } 
 
Marque a alternativa que define o método polimórfico 
utilizado na classe: 
!
!
( ) new 
( ) Overriding 
( ) extends 
( X ) Overloading 
( ) implements 
!
 8a Questão (Cód.: 31593) 
Observe o trecho de código abaixo: 

1. public class Avaliacao {

2. String empresa; 

3. public static void main(String[] args) {

4. Avaliacao a = new Avaliacao();

5. empresa = a.getEmpresa();

6. System.out.println(empresa); 

7. }

8. public String getEmpresa() {

9. return "Empresa!";

10. }

11. }

!
I. Compila e roda sem problemas e imprime 
“Empresa". 
II. Erro de compilação na linha 5. 
III.Erro de compilação na linha 6. 
IV. Erro de compilação na linha 10. 
V. Compila, mas quando rodar será lançada uma 
exceção. 
Estão corretas as afirmativas: 
( ) II, III e IV 
( X ) II e III 
( ) III e V 
( ) I, II e IV 
( ) I e V 
!
 9a Questão (Cód.: 32039) 
Orientação a Objetos é uso básico do Java, sendo assim 
assinale a alternativa correta. 
( ) classes são instâncias de objetos 
( ) o polimorfismo é o mecanismo para herdar 
métodos e atributos da superclasse 
( ) nos objetos, os atributos definem o seu 
comportamento e os métodos o seu estado 
( ) um problema do paradigma de Orientação a 
Objetos é a ausência de recursos para reutilização de 
código 
( X ) uma classe que implementa uma interface se 
compromete a implementar os métodos 
estipulados na mesma 
!
!
!
 10a Questão (Cód.: 55495) 
Qual sintaxe expressa a criação correta de uma classe 
em java? 
( X ) public class Exemplo {} 
 
( ) public class Exemplo() {} 
!
( ) Public Class Exemplo {} 
!
( ) class Exemplo() {} 
!
( ) class public Exemplo {} 
!
!
!
��� 
� !
LINGUAGEM DE PROGRAMAÇÃO !
AV2!
Avaliação On-Line!
AV2-2011.4S!
LINGUAGEM DE PROGRAMAÇÃO-CCT0176 CCT0176 -4!
� !
1 - Em Java, um modificador de acesso determina como 
será a visibilidade de uma classe, método ou atributo a 
partir de outras classes.!
Marque a opção que não representa um modoficador de 
acesso. !
[ ] private !
[ ] protected !
[ ] public !
[X] final!
!
2 - Quando programamos um método em Java, e dentro 
desse método existem comandos ou chamadas de 
métodos onde podem ocorrer uma ou mais exceções, os 
comandos devem ser colocados dentro de que bloco:!
[ ] main() { } !
[ ] finally{ } !
[X] try{ } !
[ ] catch{ }!
!
3 - A linguagem de programção Java, apresenta outros 
modificadores, além dos modificadores de acesso. Sejam 
as seguintes características destes modificadores:!
I. Não implementa nenhuma funcionalidade, somente 
assina o método e faz com que a primeira subclasse 
concreta seja obrigada a implementar.!
II. Indica que esta é a última atribuição ou definição da 
estrutura. Não será permitida uma nova re-escrita. 
Para uma classe, não há herança.!
Um método não pode ser sobrescrito. E um atributo é 
considerado uma constante.!
III.Este modificadordefine que este pode ser executado 
sem que exista uma instância da classe – o objeto.!
!
Marque a opção que representa, melhor corelaciona as 
características I, II e III com os modificadores.!
!
[ ] abstract,static e final !
[ ] final,abstract e static !
[ ] static, final e abstract !
[X] abstract,final e static!
!
4 - A metodologia Orientação a Objetos é caracterizada 
pelo uso de diversos mecanismos que proporcionam 
reuso de código, segurança e facilidade de manutenção 
do código. Entre estes mecanismos pode-se citar o 
Polimorfismo. Explique o que vem a ser este mecanismo. !
!
Resposta !
Polimorfismo é a capacidade que os métodos de 
mesmo nome têm de efetuarem tarefas 
diferentes. O mesmo método com várias formas. 
Acontece de duas maneiras em Java: quando os 
métodos são definidos em função da classe que os 
utiliza (sobreposição) ou dos diferentes conjuntos 
de argumentos definidos para cada método 
��� 	
!
5 - Evento é um acontecimento relevante no meio externo 
ao sistema relevante.!
Pode ser considerado como o resultado da interação do 
usuário com algum componente GUI. A utilização de 
classes anônimas para tratar os eventos é de longe a 
mais eficiente quando o código que trata o evento é 
pequeno ou quando possuímos muitos componentes.!
Qual a A sintaxe típica para a construção de uma classe 
anônima ?!
!
<NomeDaInterface> <nomeDaInstânciaAnônima>= new 
<NomeDaInterface> { // implementação dos métodos da 
interface };!
!
!
6 - Em um programa escrito em Java, quando existir um 
trecho de programa que deve ser executado, ocorrendo 
ou não uma exceção, este trecho de programa deve ficar 
em dentro de que bloco:!
[ ] main() { } !
[X] finally{ } !
[ ] catch{ } !
[ ] try { }!
!
7- Uma exceção é uma ocorrência que altera o fluxo 
normal da execução de um programa. Esta ocorrência 
deve ser tratada para evitar que o programa encerre seu 
funcionamento. Verifique as afirmativas a seguir e 
marque a opção CORRETA:!
I. Existem diversos tipos de exceção em JAVA, exemplo, 
Erro na entrada de dados, erro na conexão com o 
banco de dados, erro na leitura de arquivos, erro de 
uma operação matemática.!
II. Sempre que o computador executa um código que 
gera uma exceção, ou o Sistema Operacional irá 
terminar seu programa ou o seu programa deverá 
fazer o tratamento para esta exceção.!
III.Um método pode detectar uma falha, mas não estar 
apto a resolver sua causa, devendo repassar essa 
função a quem saiba.!
IV.O uso de exceções não permite separar a detecção da 
ocorrência de uma situação excepcional do seu 
tratamento, ao se programar um método em Java.!
!
[ ] II e IV estão erradas !
[ ] Apenas a III está errada!
[X] Apenas a IV está errada !
[ ] I e II estão erradas!
!
8 - No programa abaixo, criamos uma tela de exemplo 
que não possui nada dentro.!
import javax.swing.*; !
public class Frm01 

{!
! public void criaTela() !
! {!
! ! JFrame f= new JFrame(); !
! ! f.setSize(290,100); f.setTitle("Cadastro");!
! ! f.setLocation(10,10); !
! ! f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);!
! ! f.setVisible(true);!
! } !
}!
!
Marque a única opção que explica corretamente o que o 
comando está fazendo: !
[X] f.setVisible(true); // Coloca o formulário visível para o 
usuário!
[ ] f.setTitle("Cadastro"); // Recebe o nome do título da 
tela para ser tratado no programa!
[ ] JFrame f= new JFrame(); // Cria uma classe painel 
com o nome f!
[ ] f.setSize(290,100); // Indica a posição x,y onde a tela 
irá aparecer !
!
!
9 - Observe o fragmento do código JAVA a seguir: !
public class prova {!
! public prova() {

! }

! public static int d(int x) {!
! return x*2; !
! }!
! public static int e(int x) { !
! return x*5;!
! }!
! public static int fn(int x) {!
! ! if (x<1)

! ! return 0;!
! else 

! ! return x;!
! }!
! public static int g(int y) {

! return 10+fn(y)+e(y)+d(y);!
! }!
public static void main(String[] args) { !
! System.out.println(g(5));!
! } !
}!
A execução do método main apresentará a saída: !
[ ] 54!
[X] 50!
[ ] 45 !
[ ] 61!
!
10 - Associação de Classes é um vínculo que permite que 
objetos de umaou mais classes se relacionem. Através 
destes vínculos, é possível que um objeto troque 
mensagens ou chame os métodos de outros objetos. 
Marque aopção que apresentaos três tipos de associação 
de classes. !
[ ] Associação, Herançae Polimorfismo !
[X] Associação, Composição e Agregação !
[ ] Associação, Herança e Agregação !
[ ] Associação, Composição e Herança!
!
!
!
!
 !
 !
Avaliação LINGUAGEM DE PROGRAMAÇÃO !
Tipo de Avaliação: AV !
Professor: !ANDRE PRZEWODOWSKI FILHO !
!
1a Questão (Ref.: 201102360339)!
Objeto é uma instância de uma classe. Para instanciar 
uma classe em Java, deve-se utilizar um método especial 
chamado construtor.!
!
Explique quais características este método especial deve 
ter e implemente um método construtor para uma classe 
Carro com os atributos marca e modelo.!
!
Resposta:!
O método construtor deve ter o mesmo nome da classe e 
não pode possuir retorno.!
!
public Carro(String marca, String modelo){!
this.marca=marca;!
this.modelo=modelo;!
}!
!
2a Questão (Ref.: 201102535461)!
Seja a classe Carro e sua subclasse da CarroPasseio:!
!
public class Carro {!
 protected double preco=1000.00;!
 protected final double taxa=150.00;!
 public double calculaPreco()!
 {!
 return preco+taxa;!
 }!
}!
!
public class CarroPasseio extends Carro{!
 private double precoModelo;!
 public void setPreco(double p){precoModelo=p;}!
 public double calculaPreco()!
 {!
 return preco+taxa+precoModelo;!
 }!
}!
!
Qual a saída produzida pela execução do código abaixo:!
!
public class Teste {!
!
 public static void main(String[] args) {!
 Carro c=new Carro();!
 CarroPasseio b=new CarroPasseio();!
 b.setPreco(1500.00);!
 System.out.println(b.calculaPreco());!
 System.out.println(c.calculaPreco());!
 } !
}!
Resposta:!
2650.0!
1150.0!
!
 3a Questão (Ref.: 201102334858)!
!
Dada a saída: DooBeeDooBeeDo!
!
Preencha as lacunas do código: (Fonte: Livro USE a 
Cabeça JAVA)!
!
public class DooBee{!
 public static void main(String[] args){!
 int x = 1;!
 while ( x < __________) {!
 System.out.__________("Doo");!

Outros materiais