"na memória" 0

Propaganda
Prova 01 - Questões
1. Qual é o papel da JVM no processo de desenvolvimento de software
em Java? O que é lido na entrada (da JVM) e o que é gerado na
saída (da JVM)?
R:
O papel da JVM é ler arquivos compilados (.class) que contêm
bytecodes e interpretá-los para o sistema operacional em questão. A
JVM traduz os bytecodes para código de máquina do processador local.
Java é dito multiplataforma porque um arquivo .class pode ser
executado em qualquer sistema operacional, desde que tenha uma JVM
instalada.
2. Qual é o comando utilizando, via prompt do MS-DOS, para compilar
a classe Java abaixo? É possível executar a classe (.class) por
meio da JVM? Sim? Não? Justifique sua resposta.
public class Questao002 {
String nome;
int codigo;
void imprimirCodigo(){
System.out.println("codigo = " + codigo);
}
}
R:
Comando para compilar: "javac Questao002.java"
Não é possível executar a classe acima porque a mesma não
possui o método main. Quando uma classe é executada por intermédio da
JVM, a mesma procura, dentro da classe, pelo método main e ao não
encontrá-lo, irá lançada uma exceção.
3. Analise o código Java abaixo e responda: Qual será a saída
gerada para "resp"? Será lançada alguma exceção? Qual?
Justifique sua resposta.
public class Questao003{
public static void main (String args[]){
String vtr[] = {"12","2","25","5","10","0"};
int resp, v1, v2, cont = 0;
try{
while (cont < 10){
v1 = Integer.parseInt(vtr[cont]);
v2 = Integer.parseInt(vtr[cont+1]);
resp = v1 / v2;
resp %= 3;
System.out.println("Resultado = " + resp);
cont += 2;
}
}
catch(ArrayIndexOutOfBoundsException e){
System.out.println("Erro de índice");
}
catch(ArithmeticException e){
System.out.println("Operação matemática inválida");
}
}
}
1
R:
Saída gerada para resp:
Resultado = 0
Resultado = 2
A exceção a ser lançada é ArithmeticException, pois na terceira
passagem pelo laço while a variável "v1" será igual a 10 e "v2" será
igual a zero, e a divisão de 10 por zero irá lançar a exceção
ArithmeticException.
4. Faça um programa em Java que utilize como valores de entrada o
seguinte vetor de inteiros: {30,65,82,32,70,41,21,51,72,97}.
Em seguida utilize uma estrutura de repetição para percorrer
cada elemento deste vetor e para cada um aplique a seguinte
regra:
Se o valor for par
"Número par maior que 50".
e
maior
que
50
imprima
na
tela:
Se o valor for par
"Número par menor que 50".
e
menor
que
50
imprima
na
tela:
Se o valor for impar e maior que 50 imprima na tela:
"Número impar maior que 50".
Se o valor for impar e menor que 50 imprima na tela:
"Número impar menor que 50".
R:
public class Questao004 {
public static void main (String args[]){
int vtr[] = {30,65,82,32,70,41,21,51,72,97};
int num;
for (int cont = 0; cont < vtr.length; cont++){
num = vtr[cont];
if (num % 2 == 0 && num > 50){
System.out.println("Número par maior que 50");
}
else if (num % 2 == 0 && num < 50){
System.out.println("Número par menor que 50");
}
else if (num % 2 != 0 && num > 50){
System.out.println("Número impar maior que 50");
}
else{
System.out.println("Número impar menor que 50");
}
}
}
}
5. Faça um programa em Java que solicite ao usuário digitar o
código de uma peça e o tamanho da mesma. As peças estão
divididas em grupos segundo o seu código. Código "A" indica
grupo "A", código "B" indica grupo "B" e assim por diante até o
grupo "D".
Utilize a classe Scanner para solicitar ao usuário o código da
peça e o seu tamanho. Utilize o método nextLine() para obter
tanto o código como o tamanho da peça.
Em seguida, o tamanho da peça deve ser convertido para int com
o método apropriado da classe Wrapper Integer.
2
De posse destas informações (código e tamanho da peça) utilize
uma estrutura switch-case para imprimir na tela as informações
do grupo e do tamanho da peça, seguindo as seguintes regras:
Código da peça
Imprima:
Código da peça
Imprima:
Código da peça
Imprima:
Código da peça
Imprima:
igual a 'A':
"Grupo A com
igual a 'B':
"Grupo B com
igual a 'C':
"Grupo C com
igual a 'D':
"Grupo D com
Como não há garantias de
válido para o tamanho
tratamento de exceções
informando que o número é
tamanho" + <tamanho>
tamanho" + <tamanho>
tamanho" + <tamanho>
tamanho" + <tamanho>
que o usuário irá informar um número
da peça (exemplo "12X"), faça o
adequado para lançar uma exceção
inválido.
R:
import java.util.Scanner;
public class Questao005 {
public static void main (String args[]){
Scanner sc = new Scanner(System.in);
try{
System.out.println("Digite o código da peça");
String codigo = sc.nextLine();
System.out.println("Digite o tamanho da peça");
String tamStr = sc.nextLine();
int tamInt = Integer.parseInt(tamStr);
switch(codigo.charAt(0)){
case 'A':
System.out.println("Grupo A com tamanho " +
tamInt);
break;
case 'B':
System.out.println("Grupo B com tamanho " +
tamInt);
break;
case 'C':
System.out.println("Grupo C com tamanho " +
tamInt);
break;
case 'D':
System.out.println("Grupo D com tamanho " +
tamInt);
break;
}
}
catch (NumberFormatException e){
System.out.println("Número invalido");
}
}
}
6. O utilitário "javac" é utilizado para:
a[ ]
b[ ]
c[ ]
Manipular pacotes escritos na linguagem Java.
Compilar arquivos .class, gerando arquivos .java.
Emular, em software, uma máquina real para executar
arquivos .class.
3
d[ ]
Ler definições de classes, escritas na linguagem Java, e
compilar as mesmas em arquivos .class.
7. Como os objetos Java e suas referências ficam armazenados na
memória da aplicação?
a[ ]
b[ ]
c[ ]
d[ ]
Os objetos Java ficam armazenados na memória Heap e suas
respectivas referências ficam armazenadas na memória
stack.
Os objetos Java ficam armazenados na memória Stack e
suas
respectivas
referências
ficam
armazenadas
na
memória Heap.
Tanto os objetos quanto as referências ficam armazenados
na memória Stack.
Tanto os objetos quanto as referências ficam armazenados
na memória Heap.
8. Analise a classe Java abaixo e assinale a alternativa correta.
public class Questao008 {
public static void main(String[] args) {
int x = 30;
int y = 14;
int z = x--/++y;
x %= 3;
y /= 3;
System.out.print("x = " + x++);
System.out.print("; y = " + --y);
System.out.print("; z = " + z);
}
}
a[
b[
c[
d[
9. O
]
]
]
]
x
x
x
x
=
=
=
=
3;
2;
2;
3;
y
y
y
y
=
=
=
=
4;
5;
4;
5;
atributo estático
representa:
a[
b[
c[
d[
]
]
]
]
O
O
O
O
fluxo
fluxo
fluxo
fluxo
padrão
padrão
padrão
padrão
z
z
z
z
=
=
=
=
2
2
2
2
"out"
de
de
de
de
da
classe
System
(System.out)
entrada e saída de erros.
saída de erros.
entrada de dados.
saída de dados.
10. Analise o código Java abaixo e assinale
representa o que será impresso na tela.
a
alternativa
que
public class Questao010 {
public static void main (String args[]){
int a = 10, b = 5, c = 8;
if( a > 5 || b < 4 && c > 10)
System.out.print("1, ");
if( a > 5 && b > 4 && c > 5)
System.out.print("2, ");
if((a + b) > 15 || (b + c) <= 13)
System.out.print("3");
}
}
a[ ]
1, 2, 3
4
b[ ]
c[ ]
d[ ]
2, 3
1, 2
1, 3
11. Em tratamento de exceções, o bloco "try" é utilizado para:
a[ ]
b[ ]
c[ ]
d[ ]
Demarcar um bloco de código que pode gerar algum tipo de
exceção.
Oferecer um caminho alternativo a ser percorrido no caso
de ocorrer efetivamente uma exceção.
Delimitar
um
bloco
de
instruções
que
devam
ser
executadas independente se ocorrer uma exceção ou não.
Para lançar uma exceção utilizamos a cláusula try,
seguida do objeto que representa a exceção.
12. Analise o código Java abaixo e assinale a alternativa que
indica as linhas que devem ser alteradas para ser realizado um
cast explícito.
public class Questao012 {
public static void main (String args[]){
int a = 10;
byte b = 4;
long c = 35;
1
2
3
int x = b;
byte y = a;
int z = c;
}
}
a[
b[
c[
d[
]
]
]
]
Linhas:
Linhas:
Linhas:
Linhas:
1, 2 e 3
2 e 3
1 e 3
1 e 2
13. Assinale a alternativa correta para a declaração de um vetor em
Java.
a[ ] int vtr[] = new int[5][5];
b[ ] int vtr[][] = new int[5];
c[ ] int vtr[] = new int[5];
d[ ] int[] vtr[] = new int[5];
14. Analise a classe Java abaixo e assinale
representa o que será impresso na tela.
a
alternativa
que
public class Questao014{
public static void main (String args[]){
String str = "AaBbCcDdEeFfGgHh";
int cont = 0;
do{
cont += 2;
System.out.print(str.charAt(cont));
}while(str.charAt(cont) != 'H');
}
}
a[ ]
b[ ]
c[ ]
d[ ]
entrará em loop infinito pois a condição do while nunca
será alcançada.
AbCdEfGh
abcdefgh
BCDEFGH
5
15. O pacote JRE é indicado para:
a[ ]
b[ ]
c[ ]
d[ ]
Quem está interessado em desenvolver aplicações Java
para dispositivos móveis.
Quem está interessado em desenvolver e executar applets
e aplicações Java.
Quem está interessado em apenas executar applets e
aplicações Java.
Quem está interessado em desenvolver aplicações Java
para desktop.
6
Download