Buscar

Linguagem de Programação

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 46 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 46 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 46 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
	
	
		1.
		Em Java temos a possibilidade de proteger os membros de uma classe. Chamamos este processo de:
	
	
	
	
	
	threads.
	
	
	herança.
	
	
	polimorfismo.
	
	
	sobrecarga.
	
	 
	encapsulamento.
	 Gabarito Comentado
	
	
		2.
		(ENADE/2011) A programação orientada a objeto não é apenas uma forma de programar, é também um jeito de pensar em um problema utilizando conceitos do mundo real e, não somente conceitos computacionais. Considerando os conceitos da programação orientada a objetos, analise as afirmações abaixo:
I. O objeto tem determinadas propriedades que o caracterizam e que são armazenadas no próprio objeto. As propriedades de um objeto são chamadas de instâncias.
II. As mensagens são informações enviadas ao objeto para que ele se comporte de uma determinada maneira. Um programa orientado a objetos em execução consiste em envios, interpretações e respostas às mensagens. São os métodos, os procedimentos residentes nos objetos, que determinam como eles irão atuar ao receber as mensagens.
III. A herança é um mecanismo para o compartilhamento de métodos e atributos entre classes e subclasses, permitindo a criação de novas classes através da programação das diferenças entre a nova classe e a classe-pai.
IV. O encapsulamento é um mecanismo que permite o acesso aos dados de um objeto somente através dos métodos desse. Nenhuma outra parte do programa pode operar sobre os dados do objeto.  A comunicação entre os objetos é feita apenas através de troca de mensagens.
É correto apenas o que afirma em:
	
	
	
	
	 
	I, II e IV
	
	
	III e IV
	
	
	I e II
	
	 
	II, III e IV
	
	
	I e III
	
	
	
		3.
		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 execução pois o tipo do atributo está em desacordo com o valor atribuído.
	
	 
	Será gerado um erro de compilação, pois o atributo é private.
	
	
	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.
	 Gabarito Comentado
	
	
		4.
		Analise o código abaixo:
public class Notebook {
private String marca;
private String modelo;
public Notebook(String marca, String modelo) {
this.marca=marca;
this.modelo=modelo;
}
}
Podemos afirmar sobre esta classe:
	
	
	
	
	
	possui o método main - principal
	
	
	possui 5 atributos públicos
	
	 
	a classe Notebook possui dois atributos encapsulados e privados e apenas o método construtor
	
	
	os atributos estão públicos
	
	
	o método construtor não está implementado
	
	
	
		5.
		Na Programação Orientada a Objetos podem-se definir as visibilidades dos métodos e atributos. Quanto a essa característica é correto afirmar que:
	
	
	
	
	
	os métodos públicos e os atributos protegidos só podem ser acessados a partir dos métodos da própria classe ou de classes derivadas
	
	
	os métodos protegidos podem ser acessados a partir dos métodos de qualquer classe, desde que instanciada na mesma aplicação
	
	 
	o acesso aos atributos e aos métodos privados só pode ser feito a partir dos métodos membros da classe
	
	
	os métodos privados e os atributos protegidos podem ser acessados a partir dos métodos de qualquer classe
	
	
	o acesso aos atributos privados e aos métodos públicos só pode ser feito a partir dos métodos membros da classe
	 Gabarito Comentado
	
	
		6.
		Em Java pode-se utilizar diferentes tipos 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 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.
	
	
	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.
	
	 
	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 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.
	 Gabarito Comentado
	
	
		7.
		Analisando o código abaixo, assinale a alternativa que indique a explicação correta do funcionamento dos métodos setEstado(boolean estado) e getEstado():
public class Lampada {
 private boolean estado; //ligado ou não
public Lampada(){
this.estado = false;
}
public void setEstado(boolean estado){
this.estado = estado;
}
public boolean getEstado(){
return this.estado;
 }
 }
	
	
	
	
	 
	O método setEstado está definindo um valor para o estado da lâmpada ; o método getEstado está retornando o estado atual da lâmpada .
	
	
	Os dois métodos estão errados, pois não estão atualizando o atributo estado da classe.
	
	
	O método getEstado para definir um valor para o atributo estado deveria ser do tipo void, como o método setEstado.
	
	
	O método setEstado para definir um valor para o atributo estado deveria ser do tipo boolean, como o método getEstado.
	
	 
	O método getEstado está definindo um valor para o estado da lâmpada ; o método setEstado está retornando o estado atual da lâmpada.
	 Gabarito Comentado
	
	
		8.
		Como se declara um método estático em Java?
	
	
	
	
	
	static void public exemploMetodo() {}
	
	 
	static exemploMetodo() {}
	
	 
	public static void exemploMetodo() {}
	
	
	public void static exemploMetodo() {}
	
	
	public void exemploMetodo() {}
	
	
		1.
		class B extends A { 
int m1() { 
return a + b + c + d + e; 
} 
} 
public class A { 
static int a; 
public int b; 
int c; 
protected int d; 
private int e; 
} 
A classe B acima encontra-se no mesmo pacote que a classe A. O método m1 apresenta erro de compilação porque a seguinte variável não pode ser acessada diretamente:
	
	
	
	
	
	b
	
	 
	e
	
	
	c
	
	
	d
	
	
	a
	 Gabarito Comentado
	
	
		2.
		O componente do pacote javax.swing que permite ao usuário inserir dados, e também pode ser utilizado para exibir texto editável ou não editável é o:JLabelText
	
	
	JTextBox
	
	
	JListBox
	
	
	JComboBox
	
	 
	JTextField
	 Gabarito Comentado
	
	
		3.
		Dentro do paradigma de programação orientada a objetos (POO), há um mecanismo pelo qual uma classe pode estender outra classe, aproveitando seus métodos e atributos. Assinale a alternativa que apresenta o nome desse mecanismo.
	
	
	
	
	
	subclasse.
	
	
	mensagem.
	
	 
	herança.
	
	 
	polimorfismo.
	
	
	encapsulamento.
	 Gabarito Comentado
	
	
		4.
		Os componentes gráficos mais comuns estão frequentemente prontos e presentes no pacote Swing. Para montar as telas que são específicas de um projeto, é necessário compor alguns componentes mais básicos, como JFrames, JPanels, JButtons, etc. Criar um componente do Swing é bastante simples, o comando para criar um botão é:
	
	
	
	
	
	JFrame.botao = new.JButton("sair");
	
	 
	JButton botao = new JButton("sair");
	
	
	JButton botao = new JFrame("sair");
	
	
	JButton.botao = new JButton("sair");
	
	
	JFrame botao = new JButton("sair");
	 Gabarito Comentado
	
	
		5.
		Considere uma classe ContaBancária e suas duas subclasses ContaCorrente e ContaPoupança, cada uma das três com o método AplicarJuros. A redefinição do método AplicarJuros nas duas subclasses, cada uma com detalhes de implementação diferentes com a mesma interface, caracteriza o princípio denominado na orientação a objetos como:
	
	
	
	
	
	Abstração
	
	 
	Polimorfismo
	
	
	Sobrecarga
	
	
	Encapsulamento
	
	
	Herança
	 Gabarito Comentado
	
	
		6.
		Generalização é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis(atributos), também é conhecido como: (Fonte: adaptado IBM)
	
	
	
	
	
	Abstração
	
	 
	Herança
	
	
	Classe Abstrata
	
	
	Agregação
	
	
	Associação
	 Gabarito Comentado
	
	
		7.
		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
	
	 
	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 símbolo b não poderia ser referenciado dentro do método main porque este não faz parte da classe Q4Class
	
	
	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
	
	
		1.
		Os componentes Swing podem gerar vários tipos de eventos diferentes. Quando um evento ocorre, o gerenciador de janelas cria um evento e passa para um tratador de eventos definido pelo programador. O fragmento de código responsável por implementar métodos dentro da interface ActionListener é:
		
	
	
	
	 
	public void actionPerformed(ActionEvent e)
	
	
	public void itemPerformed(ActionEvent e)
	
	
	public void actionListenet(ActionEvent e)
	
	
	public void itemStateChanged(ActionEvent e)
	
	
	public void actionStateChanged(ActionEvent e)
	 Gabarito Comentado
	
	
		2.
		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.
		
	
	
	
	
	JOptionPane.showQuestionMessage(null, "Minha mensagem!");
	
	 
	JOptionPane.showMessageDialog(null, "Minha mensagem!");
	
	
	JOptionPane.showFileChooser(null, "Minha mensagem!");
	
	
	JOptionPane.showInputDialog(null, "Minha mensagem!");
	
	
	JOptionPane.showConfirmDialog(null, "Minha mensagem!");
	 Gabarito Comentado
	
	
		3.
		Supondo uma aplicação que utiliza um botão (JButton) com tratamento de eventos implementado dentro da própria classe, sempre que este for pressionado, irá percorrer a sua lista interna de listeners, chamando para cada um, o método actionPerformed; 
Qual o nome do evento gerado pelo botão quando pressionado.
		
	
	
	
	 
	ActionEvent
	
	
	ActionPerformed
	
	
	getActionCommand
	
	
	ActionListener
	
	
	addActionListener
	 Gabarito Comentado
	
	
		4.
		Assinale a alternativa que completa corretamente as lacunas da afirmação a seguir: "Um diálogo de entrada capaz de receber entrada do usuário é exibido com o método __________ da classe _________ ."
		
	
	
	
	
	showMessage/JOption
	
	
	showMessageDialog/JOptionPane
	
	
	showInputBox/JOptionBox
	
	
	showMessageBox/JOptionBox
	
	 
	showInputDialog/JOptionPane.
	 Gabarito Comentado
	
	
		5.
		Ações como fechar janela ou controlar entrada de texto necessitam de tratamento de eventos. Por este motivo as interfaces gráficas criadas em Java necessitam de tratamento para suas funcionalidades. Analise as seguintes afirmativas:
I-                  Em uma interface gráfica as acões que podem ser realizadas pelo usuário precisam ser mapeadas como eventos.
II-               Os eventos, no Java, são objetos e provêm de classes, possuindo métodos e atributos.
III-            Cada tipo de componente gráfico suporta um determinado conjunto de eventos.
IV-           Os eventos são categorizados por recurso (teclado e mouse) e por componente (janela, lista, combo, campo de texto etc).
Marque a alternativa CORRETA:
		
	
	
	
	
	Apenas as afirmativas II, III e IV.
	
	
	Apenas as afirmativas I, II e III.
	
	
	Apenas a alternativa I.
	
	
	Apenas as afirmativas I e IV.
	
	 
	Todas as afirmativas são corretas.
	 Gabarito Comentado
	
	
		6.
		Na linguagem Java, quase todos os componentes propagam eventos. Estes eventos devem ser tratados em algum ponto do código da aplicação. Os eventos nunca são tratados no próprio componente. Para ligar o código do tratamento de eventos ao componente existem, no Java, um conjunto de interfaces chamadas:
		
	
	
	
	 
	Listener
	
	
	Action
	
	
	FlowLayout
	
	
	Interface
	
	
	Container
	 Gabarito Comentado
	
	
		7.
		Recentemente contratado por uma empresa desenvolvimento que trabalha somente com a linguagem Java, um programador C++ está se adaptando a nova linguagem. Apesar de possuir vasta experiência com programação orientada a objetos, este ainda sente dificuldades em alguns comandos. Como exemplo, em um programa, é necessária uma tela de confirmação. Qual das opções reproduz corretamente à tela abaixo: 
 
		
	
	
	
	
	JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...", JOptionPane.QUESTION_MESSAGE);
	
	
	JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...",YES_NO_OPTION);
	
	
	JOptionPane.showMessageDialog("Desejasalvar?","Salvar...", JOptionPane.YES_NO_OPTION);
	
	 
	JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION);
	
	 
	JOptionPane.showConfirmDialog(null, "Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION);
	 Gabarito Comentado
	
	
		8.
		Um estagiário de programação foi incumbido de verificar uma linha de código de um programa que apresentava uma tela de forma indesejada. 
JOptionPane.showInputDialog(null," "," ",JOptionPane.QUESTION_MESSAGE);
Para corrigir é necessário conhecer o que se espera, respectivamente, nos campos entre aspas. Assinale a alternativa que define respectivamente.
		
	
	
	
	 
	texto interno da caixa de leitura e o texto da barra de título.
	
	 
	texto da barra de título e o texto interno da caixa de leitura.
	
	
	símbolo do tipo de mensagem e o tamanho a cor da caixa de texto.
	
	
	texto interno da caixa de leitura e o texto do campo texto.
	
	
	texto da barra de título e o texto interno do campo texto.
	
	
		1.
		Uma exceção é uma indicação de um problema que ocorre durante a execução de um programa. O nome "exceção" dá a entender que o problema ocorre raramente, se a regra é que uma instrução execute geralmente de modo correto, então a exceção a regra é que um problema ocorra. Em muitos casos, o tratamento de exceção permite que:
	
	
	
	
	
	um programa seja travado e destravado a medida que as instruções forem sendo executadas.
	
	 
	um programa seja executado apenas se não ocorrer nenhuma situação de exceção, independentemente de qual seja esta situação excepcional.
	
	 
	um programa continue executando como se nenhum problema tivesse sido encontrado.
	
	
	um programa seja finalizado independetemente de haver ou não uma situação de exceção.
	
	
	um programa nunca seja executado se houver uma situação de exceção, independentemente de qual seja a situação de exceção.
	 Gabarito Comentado
	
	
		2.
		Quando em um método, uma determinada situação de exceção é gerada e não é tratada no corpo do método, essa exceção é arremessada para ser tratada pelo invocador. Para indicar o processamento do mecanismo descrito, usa-se a cláusula, abaixo indicada, na assinatura do método:
	
	
	
	
	
	throw
	
	
	raising
	
	 
	throws
	
	
	raise
	
	 
	throwable
	 Gabarito Comentado
	
	
		3.
		Uma exceção é um objeto gerado para indicar a ocorrência de algum tipo de condição excepcional durante a execução de um método qualquer. Apenas objetos de classes pertencentes à hierarquia de classes de exceção do Java poderão ser gerados, propagados e capturados. A subclasse que indica uma tentativa de converter para o formato numérico uma String cujo conteúdo não seja compatível com o formato escolhido é:
	
	
	
	
	
	IOException
	
	
	ArithmeticExceptiocn
	
	 
	NumberFormatException
	
	
	IndexOutOfBoundsException
	
	
	NullPointerException
	 Gabarito Comentado
	
	
		4.
		O Java fornece um mecanismo sofisticado para manipulação de erros que produz código eficiente e organizado, a isto chama-se Tratamento de Exceção.Com esse mecanismo os programadores detectam erros facilmente, sem precisar escrever código especial para testar os valores retornados. Sejam as seguintes sentenças referentes ao processo de Exceção em Java:
I. Você deve colocar o bloco de código a ser protegido dentro de uma instrução try.
II. Se houver algum erro em tempo de execução, o código será desviado para a instrução catch.
III. Caso haja mais de uma exceção que deva ser verificada, podemos utilizar vários catch's diferentes, obedecendo a regra de que as exceções mais específicas devem vir primeiro.
IV. O bloco do finally é sempre executado, com ou sem exceção.
Marque a alternativa correta:
	
	
	
	
	
	Apenas as sentenças II e III estão corretas
	
	
	Apenas a sentença I está correta.
	
	 
	Todas as sentenças estão corretas.
	
	
	Apenas as sentenças I, III e IV estão corretas
	
	
	Apenas as sentenças I,II e III estão corretas.
	
	
	
		5.
		Assinale a alternativa que completa corretamente a lacuna da afirmação a seguir: "No modelo de terminação de tratamento de exceção, depois de uma exceção ser tratada o programa não retorna ao ponto de lançamento porque o __________ expirou."
	
	
	
	
	 
	bloco try
	
	
	método getMessage
	
	
	método main
	
	
	bolco finally
	
	
	bloco cacth
	 Gabarito Comentado
	
	
		6.
		Marque a afirmativa correta sobre o tratamento de exceções em Java.
	
	
	
	
	 
	Tratamento de exceção é um recurso da linguagem de programação Java utilizado para capturar os erros de execução.
	
	
	Tratamento de exceção não é um recurso útil e facilmente substituído pelos comandos if e else.
	
	
	O tratamento de exceção só captura erros de compilação.
	
	
	O tratamento de exceção é composto apenas pelo comando try.
	
	
	Tratamento de exceção não é utilizado quando os erros ocorrem.
	
	
	
		7.
		O tratamento de exceções na linguagem Java é caracterizado pelo encapsulamento das informações de um erro em um objeto que representa uma classe específica de erro. O uso de exceções permite separar a detecção da ocorrência de uma situação excepcional do seu tratamento, ao se programar um método em Java. 
Sobre o tratamento de exceções em Java, assinale a afirmativa INCORRETA.
	
	
	
	
	
	A cláusula finally é sempre executada mesmo quando existente em um bloco try/catch.
	
	
	A cláusula try sempre é executada.
	
	
	Uma exceção é sempre um objeto do tipo Throwable
	
	
	A cláusula catch nem sempre é executada.
	
	 
	As exceções em Java são fixas e não é possível definir novas exceções.
	 Gabarito Comentado
	
	
		8.
		O Java fornece um mecanismo sofisticado para manipulação de erros que produz código eficiente e organizado, a isto chama-se Tratamento de Exceção.Com esse mecanismo os programadores detectam erros facilmente, sem precisar escrever código especial para testar os valores retornados. Sejam as seguintes sentenças referentes ao processo de Exceção em Java:
I. Você deve colocar o bloco de código a ser protegido dentro de uma instrução try. 
II. Se houver algum erro em tempo de execução, o código será desviado para a instrução catch. 
III. Caso haja mais de uma exceção que deva ser verificada, podemos utilizar vários catch'sdiferentes, obedecendo a regra de que as exceções mais específicas devem vir primeiro. 
IV. O bloco do finally é sempre executado, com ou sem exceção.
Marque a alternativa correta:
	
	
	
	
	
	Apenas as sentenças II e III estão corretas
	
	
	Apenas as sentenças I, III e IV estão corretas.
	
	 
	Todas as sentenças estão corretas.
	
	
	Apenas as sentenças I,II e III estão corretas.
	
	
	Apenas a sentença I está correta.
	 Gabarito Comentado
	
	
		1.
		Pode-se dizer sobre exceções que: Marque a alternativa correta.
	
	
	
	
	
	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
	
	
	throws é o comando responsável pela implementação de uma exceção
	
	
	são as principais classes de exceções Java: NullPointerException, offExcecpion e onException
	
	 
	o tratamento de exceção deve ser feito em todos os casos em que haja probabilidade de ocorrer um erro.
	 Gabarito Comentado
	
	
		2.
		Dado o trecho de código escrito em Java abaixo, podemos afirmar que:public class Avaliacao{ 
 public void metodo() throws Exception {
  throw new Exception();
 }
public static void main(String args[]) {
  int x, y, z;
  x = y = z = 1;
  try {
   new Avaliacao().metodo();
   x++;
  } catch (Exception e) {
   y++;
  } finally {
   z++;
   new Avaliacao().metodo();
  }
  System.out.println(x + "," + y + "," + z);
}
}
	
	
	
	
	
	Imprime no console: 2,2,3.
	
	 
	O programa não compila.
	
	
	Imprime no console: 1,1,2.
	
	
	Imprime no console: 2,2,1.
	
	
	Imprime no console: 1,1,3.
	 Gabarito Comentado
	
	
		3.
		Eventos representam uma ação que ocorreu num componente GUI. Dentre os mais comuns no Swing, qual das opções abaixo NÃO é um evento de ação?
	
	
	
	
	
	Ativar e desativar JCheckbox
	
	 
	Digitar um texto
	
	
	Ativar um RadioButton
	
	
	Clicar em menus
	
	
	Cliques em botões
	 Gabarito Comentado
	 Gabarito Comentado
	
	
		4.
		Por qual motivo é utilizado o bloco try...catch.
	
	
	
	
	 
	Tratar e recuperar erros.
	
	
	Polimorfismo.
	
	
	Realizar tentativas de execução.
	
	
	Auditar código.
	
	
	Fazer depuração de códigos.
	 Gabarito Comentado
	
	
		5.
		De acordo com a afirmação abaixo (Fonte: adaptado IBM):
 
"permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam, assim, um mesmo método pode apresentar várias formas, de acordo com seu contexto."
	
	
	
	
	
	agregação
	
	
	classe abstrata
	
	 
	polimorfismo
	
	
	interface
	
	 
	herança
	 Gabarito Comentado
	
	
		6.
		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 não compila por causa de um erro no array.
	
	
	O código compila execução sem a existência de Exceções.
	
	
	O código não compila.
	
	 
	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.
	 Gabarito Comentado
	
	
		1.
		Em Java temos a possibilidade de proteger os membros de uma classe. Chamamos este processo de:
	
	
	
	
	 
	encapsulamento.
	
	
	polimorfismo.
	
	
	herança.
	
	
	threads.
	
	
	sobrecarga.
	 Gabarito Comentado
	
	
		2.
		Tei Ping, aluna de programação, escreveu uma  classe em Java, aqui parcialmente apresentada,  que feriu um importante conceito de Orientação  a Objetos.   Marque a opção que indica o conceito usado incorretamente pela estudante.
 
public class Aluno {
    public String matricula, nome;
    public float CR;
 
    public void imprimirDados()  {
        System.out.println("Matricula = " + matricula +  " Nome =  " + nome + " CR = " + CR);
    }
}
	
	
	
	
	
	Polimorfismo
	
	
	Instância
	
	
	Abstração
	
	 
	Encapsulamento
	
	
	Herança
	
	
	
		3.
		Na Programação Orientada a Objetos podem-se definir as visibilidades dos métodos e atributos. Quanto a essa característica é correto afirmar que:
	
	
	
	
	
	o acesso aos atributos privados e aos métodos públicos só pode ser feito a partir dos métodos membros da classe
	
	 
	os métodos protegidos podem ser acessados a partir dos métodos de qualquer classe, desde que instanciada na mesma aplicação
	
	
	os métodos privados e os atributos protegidos podem ser acessados a partir dos métodos de qualquer classe
	
	 
	o acesso aos atributos e aos métodos privados só pode ser feito a partir dos métodos membros da classe
	
	
	os métodos públicos e os atributos protegidos só podem ser acessados a partir dos métodos da própria classe ou de classes derivadas
	 Gabarito Comentado
	
	
		4.
		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 código é executado normalmente, pois c é uma instancia da mesma classe que o atributo.
	
	
	O objeto c não pode ser instanciado, pois não há construtor na classe.
	
	 
	Será gerado um erro de compilação, pois o atributo é private.
	
	
	Será gerado erro de compilação pois há erro de sintaxe em: c.cor="Preto";
	
	
	Será gerado erro de execução pois o tipo do atributo está em desacordo com o valor atribuído.
	 Gabarito Comentado
	
	
		5.
		Como se declara um método estático em Java?
	
	
	
	
	 
	public void static exemploMetodo() {}
	
	
	static void public exemploMetodo() {}
	
	 
	public static void exemploMetodo() {}
	
	
	static exemploMetodo() {}
	
	
	public void exemploMetodo() {}
	 Gabarito Comentado
	
	
		6.
		As ações ou comportamento dos objetos são chamadas na orientação a objeto de métodos. Assim, um método é uma função, um serviço ou ação fornecido pelo objeto. O método responsável por buscar os valores armazenados nos atributos dos objetos instanciados é chamado de:
	
	
	
	
	
	Método void
	
	
	Método construtor
	
	 
	Método set
	
	 
	Método get
	
	
	Método main
	
	
	
		7.
		Em Java pode-se utilizar diferentes tipos 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 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.
	
	
	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 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 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.
	
	
	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 privatepermite que só a classe manipule seus atributos.
	 Gabarito Comentado
	
	
		8.
		Analisando o código abaixo, assinale a alternativa que indique a explicação correta do funcionamento dos métodos setEstado(boolean estado) e getEstado():
public class Lampada {
 private boolean estado; //ligado ou não
public Lampada(){
this.estado = false;
}
public void setEstado(boolean estado){
this.estado = estado;
}
public boolean getEstado(){
return this.estado;
 }
 }
	
	
	
	
	
	O método getEstado para definir um valor para o atributo estado deveria ser do tipo void, como o método setEstado.
	
	
	Os dois métodos estão errados, pois não estão atualizando o atributo estado da classe.
	
	 
	O método getEstado está definindo um valor para o estado da lâmpada ; o método setEstado está retornando o estado atual da lâmpada.
	
	 
	O método setEstado está definindo um valor para o estado da lâmpada ; o método getEstado está retornando o estado atual da lâmpada .
	
	
	O método setEstado para definir um valor para o atributo estado deveria ser do tipo boolean, como o método getEstado.
	 Gabarito Comentado
	
	
		1.
		class B extends A { 
int m1() { 
return a + b + c + d + e; 
} 
} 
public class A { 
static int a; 
public int b; 
int c; 
protected int d; 
private int e; 
} 
A classe B acima encontra-se no mesmo pacote que a classe A. O método m1 apresenta erro de compilação porque a seguinte variável não pode ser acessada diretamente:
	
	
	
	
	
	a
	
	 
	e
	
	 
	d
	
	
	b
	
	
	c
	 Gabarito Comentado
	
	
		2.
		As interfaces gráficas com o usuário (GUI - Graphical User Interface) são construídas a partir de componentes GUI, que são objetos com o qual o usuário interage através dos dispositivos de entrada, ou seja, o mouse, o teclado, etc. Em Java, as classes necessárias para criação de componentes gráficos, bem como para fornecer-lhes funcionalidade, estão agrupadas em dois grandes pacotes:
	
	
	
	
	
	java.lang e javax.swing
	
	 
	java.awt e java.lang
	
	
	javax.swing e java.util
	
	
	java.util e java.lang
	
	 
	java.awt e javax.swing
	
	
	
		3.
		O componente do pacote javax.swing que permite ao usuário inserir dados, e também pode ser utilizado para exibir texto editável ou não editável é o:
	
	
	
	
	
	JComboBox
	
	 
	JTextBox
	
	 
	JTextField
	
	
	JListBox
	
	
	JLabelText
	 Gabarito Comentado
	
	
		4.
		Os componentes gráficos mais comuns estão frequentemente prontos e presentes no pacote Swing. Para montar as telas que são específicas de um projeto, é necessário compor alguns componentes mais básicos, como JFrames, JPanels, JButtons, etc. Criar um componente do Swing é bastante simples, o comando para criar um botão é:
	
	
	
	
	
	JButton botao = new JFrame("sair");
	
	
	JButton.botao = new JButton("sair");
	
	
	JFrame botao = new JButton("sair");
	
	 
	JFrame.botao = new.JButton("sair");
	
	 
	JButton botao = new JButton("sair");
	 Gabarito Comentado
	
	
		5.
		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"); 
} 
}); 
} 
}
	
	
	
	
	 
	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 símbolo b não poderia ser referenciado dentro do método main porque este não faz parte da classe Q4Class
	
	
	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
	
	
	o argumento da chamada do método addActionListener para o objeto referenciado por b é uma classe interna anônima
	
	
	
		6.
		Considere uma classe ContaBancária e suas duas subclasses ContaCorrente e ContaPoupança, cada uma das três com o método AplicarJuros. A redefinição do método AplicarJuros nas duas subclasses, cada uma com detalhes de implementação diferentes com a mesma interface, caracteriza o princípio denominado na orientação a objetos como:
	
	
	
	
	
	Encapsulamento
	
	
	Abstração
	
	 
	Polimorfismo
	
	
	Sobrecarga
	
	 
	Herança
	 Gabarito Comentado
	
	
		7.
		Generalização é o mecanismo pelo qual uma classe (sub-classe) pode estender outra classe (super-classe), aproveitando seus comportamentos (métodos) e variáveis possíveis(atributos), também é conhecido como: (Fonte: adaptado IBM)
	
	
	
	
	
	Associação
	
	 
	Agregação
	
	
	Abstração
	
	
	Classe Abstrata
	
	 
	Herança
	 Gabarito Comentado
	
	
		8.
		Dentro do paradigma de programação orientada a objetos (POO), há um mecanismo pelo qual uma classe pode estender outra classe, aproveitando seus métodos e atributos. Assinale a alternativa que apresenta o nome desse mecanismo.
	
	
	
	
	
	polimorfismo.
	
	
	mensagem.
	
	
	subclasse.
	
	 
	herança.
	
	
	encapsulamento.
	 Gabarito Comentado
	
	
		1.
		Para tratar os eventos relacionados a botões( Jbutton, JradioButton, JcheckBox, JtoogleButton) ou itens de um menu (JMenuItem), devem-se criar classes para manipulação a partir de interface java.awt.event.ActionListener. Essa interface tem apenas um método (actionPerformed(ActionEvent e)), motivo pelo qual:
		
	
	
	
	 
	não existe uma classe adaptadora (adapter) para este tipo de evento.
	
	 
	existem diversos adapters (classes adaptadoras) para este tipo de evento.
	
	
	estes componentes gráficos são estáticos e não efetuam eventos.
	
	
	não se pode associar nenhuma ação a esses comonentes gráficos.
	
	
	não associa-se a estes componentes diversos tipos de eventos.
	
	
	
		2.
		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.
		
	
	
	
	
	JOptionPane.showQuestionMessage(null, "Minha mensagem!");
	
	 
	JOptionPane.showInputDialog(null, "Minha mensagem!");
	
	
	JOptionPane.showConfirmDialog(null, "Minha mensagem!");
	
	
	JOptionPane.showFileChooser(null, "Minha mensagem!");
	
	 
	JOptionPane.showMessageDialog(null, "Minha mensagem!");
	 Gabarito Comentado
	
	
		3.
		Assinale a alternativa que completa corretamente as lacunas da afirmação a seguir: "Um diálogo de entrada capaz de receber entrada do usuário é exibido com o método __________ da classe _________ ."
		
	
	
	
	
	showMessageBox/JOptionBox
	
	
	showInputBox/JOptionBox
	
	 
	showInputDialog/JOptionPane.
	
	 
	showMessage/JOption
	
	
	showMessageDialog/JOptionPane
	 Gabarito Comentado
	
	
		4.
		Ações como fechar janela ou controlar entrada de texto necessitamde tratamento de eventos. Por este motivo as interfaces gráficas criadas em Java necessitam de tratamento para suas funcionalidades. Analise as seguintes afirmativas:
I-                  Em uma interface gráfica as acões que podem ser realizadas pelo usuário precisam ser mapeadas como eventos.
II-               Os eventos, no Java, são objetos e provêm de classes, possuindo métodos e atributos.
III-            Cada tipo de componente gráfico suporta um determinado conjunto de eventos.
IV-           Os eventos são categorizados por recurso (teclado e mouse) e por componente (janela, lista, combo, campo de texto etc).
Marque a alternativa CORRETA:
		
	
	
	
	
	Apenas a alternativa I.
	
	
	Apenas as afirmativas I e IV.
	
	
	Apenas as afirmativas I, II e III.
	
	 
	Todas as afirmativas são corretas.
	
	
	Apenas as afirmativas II, III e IV.
	 Gabarito Comentado
	
	
		5.
		Na linguagem Java, quase todos os componentes propagam eventos. Estes eventos devem ser tratados em algum ponto do código da aplicação. Os eventos nunca são tratados no próprio componente. Para ligar o código do tratamento de eventos ao componente existem, no Java, um conjunto de interfaces chamadas:
		
	
	
	
	
	Interface
	
	
	FlowLayout
	
	 
	Container
	
	
	Action
	
	 
	Listener
	 Gabarito Comentado
	
	
		6.
		Recentemente contratado por uma empresa desenvolvimento que trabalha somente com a linguagem Java, um programador C++ está se adaptando a nova linguagem. Apesar de possuir vasta experiência com programação orientada a objetos, este ainda sente dificuldades em alguns comandos. Como exemplo, em um programa, é necessária uma tela de confirmação. Qual das opções reproduz corretamente à tela abaixo: 
 
		
	
	
	
	 
	JOptionPane.showMessageDialog("Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION);
	
	 
	JOptionPane.showConfirmDialog(null, "Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION);
	
	
	JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...", JOptionPane.YES_NO_OPTION);
	
	
	JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...", JOptionPane.QUESTION_MESSAGE);
	
	
	JOptionPane.showMessageDialog(null, "Deseja salvar?","Salvar...",YES_NO_OPTION);
	 Gabarito Comentado
	
	
		7.
		Um estagiário de programação foi incumbido de verificar uma linha de código de um programa que apresentava uma tela de forma indesejada. 
JOptionPane.showInputDialog(null," "," ",JOptionPane.QUESTION_MESSAGE);
Para corrigir é necessário conhecer o que se espera, respectivamente, nos campos entre aspas. Assinale a alternativa que define respectivamente.
		
	
	
	
	
	texto da barra de título e o texto interno do campo texto.
	
	
	texto da barra de título e o texto interno da caixa de leitura.
	
	 
	texto interno da caixa de leitura e o texto do campo texto.
	
	
	símbolo do tipo de mensagem e o tamanho a cor da caixa de texto.
	
	 
	texto interno da caixa de leitura e o texto da barra de título.
	 Gabarito Comentado
	
	
		8.
		Supondo uma aplicação que utiliza um botão (JButton) com tratamento de eventos implementado dentro da própria classe, sempre que este for pressionado, irá percorrer a sua lista interna de listeners, chamando para cada um, o método actionPerformed; 
Qual o nome do evento gerado pelo botão quando pressionado.
		
	
	
	
	 
	ActionListener
	
	
	getActionCommand
	
	
	ActionPerformed
	
	 
	ActionEvent
	
	
	addActionListener
	 Gabarito Comentado
	
	
		1.
		No java, é necessário um método para cada catch ou lista de exceções que podem ser lançadas. Se um método causar uma exceção mas não capturá-la, então deve-se utilizar a palavra-chave:
	
	
	
	
	 
	Try
	
	
	Finally
	
	
	Error
	
	
	Exception
	
	 
	Throws
	 Gabarito Comentado
	
	
		2.
		Assinale a alternativa que completa corretamente a lacuna da afirmação a seguir: "No modelo de terminação de tratamento de exceção, depois de uma exceção ser tratada o programa não retorna ao ponto de lançamento porque o __________ expirou."
	
	
	
	
	
	bolco finally
	
	
	bloco cacth
	
	 
	bloco try
	
	
	método getMessage
	
	
	método main
	 Gabarito Comentado
	
	
		3.
		O Java fornece um mecanismo sofisticado para manipulação de erros que produz código eficiente e organizado, a isto chama-se Tratamento de Exceção.Com esse mecanismo os programadores detectam erros facilmente, sem precisar escrever código especial para testar os valores retornados. Sejam as seguintes sentenças referentes ao processo de Exceção em Java:
I. Você deve colocar o bloco de código a ser protegido dentro de uma instrução try.
II. Se houver algum erro em tempo de execução, o código será desviado para a instrução catch.
III. Caso haja mais de uma exceção que deva ser verificada, podemos utilizar vários catch's diferentes, obedecendo a regra de que as exceções mais específicas devem vir primeiro.
IV. O bloco do finally é sempre executado, com ou sem exceção.
Marque a alternativa correta:
	
	
	
	
	
	Apenas as sentenças II e III estão corretas
	
	 
	Todas as sentenças estão corretas.
	
	
	Apenas as sentenças I, III e IV estão corretas
	
	
	Apenas a sentença I está correta.
	
	 
	Apenas as sentenças I,II e III estão corretas.
	
	
	
		4.
		Uma exceção é um objeto gerado para indicar a ocorrência de algum tipo de condição excepcional durante a execução de um método qualquer. Apenas objetos de classes pertencentes à hierarquia de classes de exceção do Java poderão ser gerados, propagados e capturados. A subclasse que indica uma tentativa de converter para o formato numérico uma String cujo conteúdo não seja compatível com o formato escolhido é:
	
	
	
	
	 
	NumberFormatException
	
	
	IndexOutOfBoundsException
	
	
	ArithmeticExceptiocn
	
	
	IOException
	
	
	NullPointerException
	 Gabarito Comentado
	
	
		5.
		Uma exceção é uma indicação de um problema que ocorre durante a execução de um programa. O nome "exceção" dá a entender que o problema ocorre raramente, se a regra é que uma instrução execute geralmente de modo correto, então a exceção a regra é que um problema ocorra. Em muitos casos, o tratamento de exceção permite que:
	
	
	
	
	
	um programa seja executado apenas se não ocorrer nenhuma situação de exceção, independentemente de qual seja esta situação excepcional.
	
	 
	um programa continue executando como se nenhum problema tivesse sido encontrado.
	
	
	um programa seja finalizado independetemente de haver ou não uma situação de exceção.
	
	
	um programa seja travado e destravado a medida que as instruções forem sendo executadas.
	
	
	um programa nunca seja executado se houver uma situação de exceção, independentemente de qual seja a situação de exceção.
	 Gabarito Comentado
	
	
		6.
		Quando em um método, uma determinada situação de exceção é gerada e não é tratada no corpo do método, essa exceção é arremessada para ser tratada pelo invocador. Para indicar o processamento do mecanismo descrito, usa-se a cláusula, abaixo indicada, na assinatura do método:
	
	
	
	
	 
	throw
	
	
	raising
	
	 
	throws
	
	
	raise
	
	
	throwable
	 Gabarito Comentado
	
	
		7.
		O tratamento de exceções na linguagem Java é caracterizado pelo encapsulamento das informações de um erro em um objeto que representa uma classe específica de erro. O uso de exceções permite separar a detecção da ocorrênciade uma situação excepcional do seu tratamento, ao se programar um método em Java. 
Sobre o tratamento de exceções em Java, assinale a afirmativa INCORRETA.
	
	
	
	
	
	A cláusula finally é sempre executada mesmo quando existente em um bloco try/catch.
	
	
	A cláusula catch nem sempre é executada.
	
	 
	As exceções em Java são fixas e não é possível definir novas exceções.
	
	
	A cláusula try sempre é executada.
	
	
	Uma exceção é sempre um objeto do tipo Throwable
	 Gabarito Comentado
	
	
		8.
		O Java fornece um mecanismo sofisticado para manipulação de erros que produz código eficiente e organizado, a isto chama-se Tratamento de Exceção.Com esse mecanismo os programadores detectam erros facilmente, sem precisar escrever código especial para testar os valores retornados. Sejam as seguintes sentenças referentes ao processo de Exceção em Java:
I. Você deve colocar o bloco de código a ser protegido dentro de uma instrução try. 
II. Se houver algum erro em tempo de execução, o código será desviado para a instrução catch. 
III. Caso haja mais de uma exceção que deva ser verificada, podemos utilizar vários catch's diferentes, obedecendo a regra de que as exceções mais específicas devem vir primeiro. 
IV. O bloco do finally é sempre executado, com ou sem exceção.
Marque a alternativa correta:
	
	
	
	
	 
	Todas as sentenças estão corretas.
	
	
	Apenas as sentenças I, III e IV estão corretas.
	
	
	Apenas a sentença I está correta.
	
	
	Apenas as sentenças II e III estão corretas
	
	
	Apenas as sentenças I,II e III estão corretas.
	 Gabarito Comentado
	
	
		1.
		Pode-se dizer sobre exceções que: Marque a alternativa correta.
	
	
	
	
	
	é obrigatório utilizar o comando finally em todos tratamentos de exceção
	
	
	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
	
	 
	o tratamento de exceção deve ser feito em todos os casos em que haja probabilidade de ocorrer um erro.
	
	
	são as principais classes de exceções Java: NullPointerException, offExcecpion e onException
	 Gabarito Comentado
	
	
		2.
		Dado o trecho de código escrito em Java abaixo, podemos afirmar que:
public class Avaliacao{ 
 public void metodo() throws Exception {
  throw new Exception();
 }
public static void main(String args[]) {
  int x, y, z;
  x = y = z = 1;
  try {
   new Avaliacao().metodo();
   x++;
  } catch (Exception e) {
   y++;
  } finally {
   z++;
   new Avaliacao().metodo();
  }
  System.out.println(x + "," + y + "," + z);
}
}
	
	
	
	
	 
	O programa não compila.
	
	
	Imprime no console: 1,1,2.
	
	
	Imprime no console: 2,2,3.
	
	
	Imprime no console: 2,2,1.
	
	
	Imprime no console: 1,1,3.
	 Gabarito Comentado
	
	
		3.
		Eventos representam uma ação que ocorreu num componente GUI. Dentre os mais comuns no Swing, qual das opções abaixo NÃO é um evento de ação?
	
	
	
	
	
	Clicar em menus
	
	 
	Digitar um texto
	
	
	Ativar um RadioButton
	
	
	Cliques em botões
	
	 
	Ativar e desativar JCheckbox
	 Gabarito Comentado
	 Gabarito Comentado
	
	
		4.
		Por qual motivo é utilizado o bloco try...catch.
	
	
	
	
	
	Realizar tentativas de execução.
	
	
	Fazer depuração de códigos.
	
	
	Polimorfismo.
	
	
	Auditar código.
	
	 
	Tratar e recuperar erros.
	 Gabarito Comentado
	
	
		5.
		De acordo com a afirmação abaixo (Fonte: adaptado IBM):
 
"permite que referências de tipos de classes mais abstratas representem o comportamento das classes concretas que referenciam, assim, um mesmo método pode apresentar várias formas, de acordo com seu contexto."
	
	
	
	
	 
	herança
	
	
	classe abstrata
	
	
	agregação
	
	
	interface
	
	 
	polimorfismo
	 Gabarito Comentado
	
	
		6.
		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 ocorre uma exceção ArrayIndexOutOfBoundsException, contudo está é tratada e o programa segue ate imprimir: "Fim do main!".
	
	
	O código não compila por causa de um erro no array.
	
	
	O código não compila.
	
	
	O código compila execução sem a existência de Exceções.
	
	 
	O código compila, mas tem sua execução interrompida devido a ocorrência de uma ArrayIndexOutOfBoundsException.
	 Gabarito Comentado

Outros materiais