Buscar

Prévia do material em texto

BANCO DE QUESTÕES 
SEMANA 1: 
1 - Assinale Verdadeiro ou falso: 
( F ) Java é uma extensão do HTML. 
( V ) JVM (Java Virtual Machine): a máquina virtual Java é responsável pelo processo de 
tradução de um programa Java para uma plataforma específica. 
( F ) Utilizo XML, logo não preciso aprender Java. 
( V ) Java possui suporte para Orientação a Objetos 
( V ) Uma das características do java é a portabilidade, pois é possível rodar um software feito 
em Java em qualquer máquina que disponha de máquina virtual implementada para ela. 
( ) O JavaScript é uma versão mais simples do Java. 
( F ) Java não é uma linguagem de programação Case Sensitive (diferencia maiúsculas de 
minúsculas). 
( ) Um programa Java precisa ser reescrito e recompilado para cada plataforma (SO). 
( V ) Para fazer um comentário em java pode-se usar os barras. Por exemplo: //comentário. 
( F ) No Java é impossível ordenar que um número real seja moldado(casted) para inteiro. 
( ) Princípio WORA: "Write Once, Run Anywhere", que confere ao Java a capacidade de ser 
uma linguagem multiplataforma 
2 - Assinale o item correspondente: (2 pontos) 
( 1 ) JVM 2 – Ambiente de Execução Java 
( 4 ) JIT 3 - Ele é formado pela Ambiente de Execução Java somado a ferramentas, 
como o compilador. 
( 3 ) JDK 4 - um tradutor que converte, em tempo de execução, instruções de um 
formato para outro (de bytecode para código de máquina). O compilador que aparece “bem 
na hora” que você precisa – Just In Time. 
( 2 ) JRE 1 – Máquina Virtual Java 
3 - Preciso desenvolver uma aplicação Java que execute tanto na plataforma Windows 
quanto na plataforma Linux. Qual das alternativas abaixo pode ser considerada a abordagem 
mais correta a ser utilizada? 
a) Desenvolver a aplicação apenas uma vez e utilizar o mesmo bytecode gerado para 
executar a aplicação em ambas as plataformas. 
b) Desenvolver a aplicação apenas uma vez e compilar o código-fonte diretamente para a 
linguagem nativa de cada uma das plataformas, sem utilizar o bytecode. 
c) Desenvolver a aplicação apenas uma vez, mas dispensar o uso da JVM, que numa 
situação como essas se torna desnecessária. 
d) Desenvolver a aplicação apenas uma vez e compilar o código-fonte para o bytecode 
interpretado pela JVM da plataforma Windows, e compilá-lo novamente para o 
bytecode interpretado pela JVM da plataforma Linux. 
e) Não é possível ter a mesma aplicação executando em plataformas diferentes. É 
necessário desenvolver uma aplicação para Windows e outra para Linux. 
4 - Qual a relação entre o HotSpot e o JIT (Just-in-Time Compiler)? 
a) O HotSpot procura por códigos dependentes de plataforma que executam no 
programa Java, enquanto o JIT faz a tradução destes códigos para a plataforma sobre a 
qual o programa está sendo executado. 
b) O HotSpot identifica códigos que são bastante executados, enquanto o JIT compila 
este código para instruções nativas da plataforma 
c) O JIT procura por códigos dependentes de plataforma que executam no programa 
Java, enquanto o HotSpot faz a tradução destes códigos para a plataforma sobre a qual 
o programa está sendo executado. 
d) O HotSpot e o JIT são, na verdade, o mesmo componente da JVM, responsável pela 
melhora da performance da aplicação sendo executada. 
e) O JIT identifica códigos que são bastante executados, enquanto o HotSpot compila 
estes códigos para instruções nativas da plataforma. 
5 - Qual a alternativa verdadeira com relação ao bytecode? 
a) O bytecode gerado está diretamente relacionado à plataforma onde o código Java será 
executado. Isto é, para cada plataforma existe um bytecode diferente. 
b) É uma linguagem intermediária que é compilada pela JVM para ser executada. 
c) Quando um código Java é compilado para rodar especificamente em determinada 
plataforma, a linguagem gerada é o bytecode. 
d) É o resultado da compilação do código Java, isto é, uma linguagem intermediária 
interpretada pela JVM com o objetivo de permitir a interoperabilidade de programas 
Java entre diversas plataformas. 
 
SEMANA 2: 
1 - O que acontece quando o código abaixo é compilado e executado? 
01 public class Exemplo { 
02 public static void main(String[] args) { 
03 int i1 = 9; 
04 int i2 =0; 
05 if(i1 > 3) { 
06 i2 = 8; 
07 } 
08 System.out.println(i2); 
09 } 
10 } 
 
a) Imprime 0 
b) Imprime 8 
c) O código gera um erro em tempo de execução 
d) O código não compila 
e) Nenhuma das alternativas 
2 - Qual será o resultado após a execução do trecho de código abaixo? 
1 int i = 10; 
2 while (i <= 10) { 
3 i = i + 1; 
4 } 
5 System.out.print(i); 
 
a) 10 
b) 12 
c) 11 
d) A linha 5 nunca será executada 
e) Nenhuma das alternativas 
3 - Quais dos números abaixo serão impressos no console quando o código abaixo for 
compilado e executado? 
01 public class Exemplo { 
02 public static void main(String[] args) { 
03 int x = 3; 
04 if(x > 4) 
05 x = 1; 
06 x = 0; 
07 switch(x) { 
08 case 1: System.out.println(1); 
09 case 0: System.out.println(0); 
10 case 2: System.out.println(2); 
11 break; 
12 case 3: System.out.println(3); 
13 default: System.out.println(4); 
14 break; 
15 } 
16 } 
17 } 
 
a) 1 e 3 
b) 0 e 1 
c) 0 e 2 
d) 4 
e) 1 e 8 
4 – Marque a alternativa correta quanto a um comando de decisão da linguagem java 
a) If 
b) se 
c) for 
d) while 
e) para 
 
SEMANA 3: 
1 Assinale verdadeiro ou falso: 
( F ) Quando uma variável é declarada dentro do escopo da classe, é chamada de variável de 
objeto, ou MÉTODO. 
( V ) Para saber se dois objetos tem o mesmo conteúdo podemos comparar atributo por 
atributo deste objetos. 
( F ) Para criar (construir, instanciar) um Objeto em Java, usa-se a palavra chave this ou import. 
( V ) Um método sempre tem que definir o que retorna, nem que defina que não há retorno, 
neste caso usando o void. 
( V ) Quando declaramos uma variável para associar a um objeto, na verdade, essa variável não 
guarda o objeto, e sim uma maneira de acessá-lo, chamada de referência. 
( V ) As variáveis do tipo atributo recebem um valor padrão. No caso numérico, valem 0, no 
caso de boolean, valem false. 
( F ) caso você tente acessar um atributo ou método de alguém que está se referenciando para 
null, não haverá nenhum problema. 
2 - O que acontece quando o código abaixo é compilado e executado? 
01 public class Exemplo { 
02 void incrementar(int x) { 
03 x = x + 1; 
04 } 
05 
06 public static void main(String[] args) { 
07 Exemplo e = new Exemplo(); 
08 int i = 10; 
09 e.incrementar(i); 
10 System.out.println(i); 
11 } 
12 } 
 
a) Imprime 0 
b) Não imprime qualquer valor 
c) O código não compila devido a problemas na linha 9 
d) Imprime 10 
e) Imprime 11 
3 - Qual afirmação abaixo é FALSA com relação às classes e objetos? 
a) Classes são um molde, um modelo, um protótipo a partir do qual objetos são criados. 
A partir de uma classe é possível criar quantos objetos forem desejados. 
b) Classes e objetos são conceitos bastante parecidos, significando a mesma coisa em 
alguns casos. 
c) Um objeto sempre é criado com base em uma classe. Esta criação de objetos é 
também chamada de instanciação. 
d) Diversos objetos podem ser criados com base na mesma classe. 
e) Objetos de uma classe podem se comunicar (isto é, chamar métodos) com os objetos 
de outras classes. 
4 - O que acontece quando o código abaixo é compilado e executado? 
01 public class Exemplo { 
02 int y = 10; 
03 
04 void mudar(Exemplo e) { 
05 e.y = y + 5; 
06 } 
07 public static void main(String[] args) { 
08 Exemplo e1 = new Exemplo(); 
09 Exemplo e2 = new Exemplo(); 
10 e1.mudar(e2); 
11 System.out.println(e1.y); 
12 System.out.println(e2.y); 
13 } 
14 } 
 
a) Imprime 15 e 15 
b) Imprime 10 e 10 
c) Ocódigo não compila devido a problemas na linha 11 
d) Imprime 10 e 15 
e) Imprime 15 e 10 
 
SEMANA 4: 
1 - Assinale verdadeiro ou falso: 
( F ) Na orientação a objetos, normalmente não se proteger os atributos de uma classe com 
private e, portanto, o encapsulamento é totalmente desnecessário. 
( V ) Na orientação a objetos, é mais importante saber o que o método faz e não como 
exatamente ele o faz. 
( V ) A palavra chave private pode ser usada para modificar o acesso a um método ou uma 
classe ou um atributo. 
( V ) O encapsulamento de uma classe está relacionado a esconder todos os seus membros 
(atributos) e, além disso, esconder como funcionam as rotinas, o que deixa o sistema mais 
suscetível a mudanças. 
( F ) O qualificador determinará a visibilidade da classe; caso seja suprimido (nada for escrito), 
a classe será privada e, com isso, será visualizada por qualquer classe de qualquer pacote. 
( V ) Caso seja colocado o qualificador public, a classe será pública e, portanto, será acessível 
por qualquer classe de qualquer pacote. 
( F ) Para utilizar um objeto precisamos declará-lo e inicializa-lo, não sendo necessário 
instanciá-lo. 
( V ) O Construtor é chamado no momento da criação do objeto, ou seja, no momento em que 
é utilizado o comando new. Ex.: Pessoa p = new Pessoa(“João”); 
2 - Se o código abaixo for compilado e executado, qual será a saída no console? 
01 public class Exemplo { 
02 public static int contador; 
03 
04 public Exemplo() { 
05 contador = contador + 1; 
06 } 
07 
08 public static void main(String[] args) { 
09 Exemplo e1 = new Exemplo(); 
10 Exemplo e2 = new Exemplo(); 
11 
12 System.out.println(e1.contador); 
13 System.out.println(e2.contador); 
14 System.out.println(Exemplo.contador); 
15 } 
16 } 
 
a) 1, 1 e 1 
b) O código não compila devido a problemas na linha 14 
c) 1, 2 e 2 
d) 2, 2 e 2 
e) O código não compila porque o atributo contador não foi inicializado 
3 - Uma classe não pode ser considerada altamente encapsulada a menos que: 
a) Todas as suas variáveis locais sejam declaradas como final. 
b) A classe seja uma subclasse direta de Object. 
c) Nenhuma das alternativas. 
d) Todos os seus métodos sejam declarados como privados. 
e) Métodos setters sejam utilizados para prevenir que dados inválidos sejam fornecidos à 
classe, juntamente com atributos de visibilidade privada. 
4 - O que é possível afirmar sobre construtores? 
a) O construtor padrão é gerado sempre pelo compilador, mesmo que outros 
construtores sejam definidos explicitamente. 
b) Se nenhum construtor for declarado na classe, objetos desta classe não poderão ser 
instanciados. 
c) O construtor pode, opcionalmente, definir void como tipo de retorno. 
d) Toda classe deve ter pelo menos um construtor. O construtor é chamado 
automaticamente no momento que o objeto está sendo instanciado. 
e) Nenhuma das alternativas. 
5 - Quem pode acessar e alterar diretamente o valor do atributo numQuarto no código 
abaixo? 
1 package com.minhaempresa; 
2 
3 public class Hotel { 
4 private int numQuarto = 122; 
5 } 
 
a) Apenas a classe Hotel. 
b) Qualquer classe. 
c) Qualquer classe que estenda a classe Hotel. 
d) Qualquer classe que pertença ao pacote com.minhaempresa. 
e) Apenas classes estáticas. 
SEMANA 5: 
1 - Qual alternativas é verdadeira com base no código abaixo? 
01 class Animal { 
02 public Animal(int numPatas) { 
03 System.out.println("ANIMAL: " + numPatas); 
04 } 
05 } 
06 
07 class Aranha extends Animal { 
08 public Aranha() { 
09 super(8); 
10 System.out.println("ARANHA: 8"); 
11 } 
12 } 
13 
14 class Exemplo { 
15 public static void main(String[] args) { 
16 Aranha a = new Aranha(); 
17 } 
18 } 
 
a) No console, será impresso: "ANIMAL: 8" e "ARANHA: 8". 
b) O código não compila devido a problemas na linha 9. 
c) No console, será impresso o seguinte: "ARANHA: 8". 
d) No console será impresso CACHORRINHO. 
e) Nada será impresso no console. 
2 - Com base no código abaixo, qual alternativa é verdadeira? 
01 class Classe1 { 
02 public void m() { 
03 System.out.println(1); 
04 } 
05 } 
06 
07 class Classe2 extends Classe1 { 
08 public void m() { 
09 super.m(); 
10 System.out.println(2); 
11 } 
12 } 
 
a) O método m() da Classe2 sobrescreve o método m() da Classe1. 
b) O código da linha 9 causa um erro de compilação. 
c) O código da linha 9 não chama o método m() da Classe1. 
d) Não é possível invocar o método sendo sobrescrito a partir do método que o está 
sobrescrevendo 
e) O método m() da Classe2 sobrecarrega o método m() da Classe1. 
3 - Qual afirmação abaixo é verdadeira? 
a) O relacionamento entre uma classe e sua superclasse é do tipo "tem-um" 
b) O relacionamento entre uma classe e sua superclasse é do tipo "é-um". 
c) O relacionamento entre uma classe e um atributo desta classe cujo tipo também é 
uma classe é do tipo "é-um". 
d) Não é possível fazer herança no Java. 
e) Nenhuma das alternativas. 
4 - Assinale verdadeiro ou falso: 
( V ) Herança: é um conjunto de características ( atributos e métodos ) que uma classe possui, 
mas que foram passadas por outra classe, chamada classe ancestral ou superclasse. 
( F ) Um bom exemplo de relação de herança seria casa herda de pessoa, uma que toda casa é 
uma pessoa. 
( V ) Especialização: quando uma classe herda de outra, ela recebe características da ancestral; 
mas ela pode implementar novas características específicas, tornando a classe descendente ( 
classe que herda da ancestral ) especializada em algo. 
( F ) Ancestral: uma classe A é ancestral de B se A herda de B. 
( V ) Descendente: uma classe B é descendente de A se B herda de A. 
( V ) Polimorfismo: é a capacidade de utilizar métodos definidos em um ancestral, re-
implementados em seus descendentes e executados de acordo com a classe do objeto que 
aciona o método. 
( V ) A classe Object é a ancestral de todas as classes. Quando uma classe não especifica de 
quem ela herda, implicitamente ela herda de Object. 
 
 
SEMANA 6: 
1 - Assinale verdadeiro ou falso: 
( V ) Classe Abstrata: é uma classe que não permite a instanciação de objetos a partir dela. 
( F ) Uma classe abstrata tem por propósito a herança múltipla. 
( V ) O propósito de uma classe abstrata é, principalmente, fornecer uma superclasse 
(ancestral) apropriada, a partir da qual outras classes podem ser herdadas e, assim, 
compartilhar um projeto comum. 
( V ) Usando interfaces ao modelar um sistema você foca nos objetos existentes e no 
relacionamento entre eles ao invés de focar em como cada objeto faz sua tarefa. 
( F ) Para declarar uma classe abstrata no java, utiliza-se a palavra reservada implements. 
( V ) Toda classe que possui pelo menos um método abstrato é uma classe abstrata, mas uma 
classe pode ser abstrata sem possuir nenhum método abstrato. 
( V ) Métodos abstratos são utilizados quando se deseja obrigar o programador, que deseja 
utilizar uma superclasse ( ancestral ) abstrata, a programar certas funcionalidades. 
( F ) Para declarar um método abstrato utiliza-se a palavra reservada final. 
( V ) O uso de interfaces é recomendável no desenvolvimento de sistemas para fornecer um 
contexto menos acoplado e mais simplificado de programação. 
( V ) Até o java7 uma interface podia definir uma série de métodos, mas não conter 
implementação deles. 
( F ) Não é possível que uma classe abstrata implemente uma interface. 
( V ) Se uma classe abstrata implementar uma interface, então a obrigação de implementar os 
métodos da interface é herdada para os filhos da classe abstrata. Obs.: a classe abstrata 
também pode implementar os métodos da interface diretamente. 
( V ) Na programação orientada a objetos a maneira como os objetos se comunicam num 
sistema orientado a objetos é muito mais importante do que como eles executam,isto é, o 
que um objeto faz é mais importante do que como ele faz. 
( V ) Classes podem estender outra classe, mas apenas podem implementar interfaces. Uma 
classe pode implementar uma ou mais interfaces. 
2 - Suponha que você usando o java8 e que você tem uma interface I e as classes A, B e C, 
todas implementando a interface I. Agora imagine que você precisa adicionar um novo 
método em I que seja acessível por instâncias de A, B e C. No entanto, você não quer fazer 
qualquer modificação nessas classes após adicionar este método. Como você deve proceder? 
a) Você deve criar este novo método com o modificador static e fornecer uma 
implementação a ele dentro da própria interface I. 
b) Você deve criar este novo método com o modificador default e fornecer uma 
implementação a ele dentro da própria interface I. 
c) Não é possível fazer isso em Java. 
d) Você deve criar este novo método sem qualquer modificador e fornecer uma 
implementação a ele dentro da própria interface. 
e) Você precisa criar este novo método sem qualquer modificador, e criar uma nova 
classe (por exemplo, D) para implementar esta interface. 
3 - Quais palavras-chave devem ser utilizadas, respectivamente, para indicar que uma classe 
implementa uma interface e para indicar que uma interface estende outra interface? 
a) implement e extend 
b) implements e implements 
c) implements e extends 
d) extends e extends 
e) extends e implements 
4 - Considerando a existência de uma classe Personagem marcada como abstrata, qual 
afirmativa abaixo pode ser considerada verdadeira? 
a) Não é possível que classes herdem de Personagem, uma vez que ela é declarada 
abstrata. 
b) Não é possível criar um objeto desta classe e também não é possível executar o 
seguinte código, considerando que a classe PersonagemA existe, não é abstrata e 
herda de Personagem: Personagem p = new PersonagemA(). 
c) As classes abstratas declaradas como subclasses de Personagem devem 
obrigatoriamente implementar todos os métodos declarados na classe Personagem. 
d) É possível criar um objeto desta classe através de uma chamada como Personagem p = 
new Personagem(). 
e) Não é possível criar um objeto desta classe, mas é possível executar o seguinte código, 
considerando que a classe PersonagemA existe, não é abstrata e herda de 
Personagem: Personagem p = new PersonagemA(). 
5 - Qual alternativa abaixo está correta com relação às classes abstratas e métodos 
abstratos? 
a) Classes abstratas não podem ser estendidas. 
b) Uma classe abstrata deve, obrigatoriamente, possuir métodos abstratos. 
c) Uma classe abstrata pode ser instanciada apenas se ela herdar de uma classe não 
abstrata. 
d) Se uma classe possui um método abstrato, ela obrigatoriamente deve ser declarada 
como abstrata. 
e) Métodos abstratos podem existir em classes não abstratas.

Mais conteúdos dessa disciplina