O que acontece ao tentar compilar e executar o seguinte código?
public class TestEqual
{
public static void main(String args[])
{
Integer i = new Integer(7);
Long l = new Long(7);
System.out.println(l.equals(i));
}
}
A. imprimirá - true
B. imprimirá - false
C. erro de compilação
O código imprimirá false. Para qualquer classe Wrapper padrão, x.equals(y) sempre retorna false se x e y são objetos de classes diferentes. Isso acontece até mesmo para o exemplo da questão, em que ambos os objetos carregam o mesmo valor (o inteiro 7).
Alternativa correta: B.
Eu e mais alguns colegas de trabalho iniciamos um grupo de estudo para a certificação SCJP. Postaremos aqui todas questões estudadas, suas respectivas respostas e nossos comentários sobre elas. Espero que seja tão útil para quem lê, quanto é para nós...
Mostrando postagens com marcador Classes Nativas. Mostrar todas as postagens
Mostrando postagens com marcador Classes Nativas. Mostrar todas as postagens
quarta-feira, 4 de agosto de 2010
Questão 16 - Comparação de objetos
Marcadores:
Classes Nativas
Questão 12 - Classe Scanner
Qual dos itens a seguir cria um scanner que leia da entrada padrão?
A. Scanner sc = new Scanner(System.in);
B. Scanner sc = Scanner.getInstance(System.in);
C. Scanner sc = new Scanner(); sc.next(System.in);
D. sc.next(System.in);
A classe Scanner provê oito construtores, um dos quais está presente na alternativa A: Scanner(InputStream source). Nesta opção constrói-se um novo Scanner para produzir valores lidos do stream de entrada específico System.in que é do tipo java.io.InputStream. Então o objeto Scanner é criado como “Scanner sc = new Scanner(System.in);”. Dessa forma, as alternativas B, C e D apresentam maneiras incorretas de iniciar a leitura de dados a partir da classe java.util.Scanner. Alternativa correta: A.
A. Scanner sc = new Scanner(System.in);
B. Scanner sc = Scanner.getInstance(System.in);
C. Scanner sc = new Scanner(); sc.next(System.in);
D. sc.next(System.in);
A classe Scanner provê oito construtores, um dos quais está presente na alternativa A: Scanner(InputStream source). Nesta opção constrói-se um novo Scanner para produzir valores lidos do stream de entrada específico System.in que é do tipo java.io.InputStream. Então o objeto Scanner é criado como “Scanner sc = new Scanner(System.in);”. Dessa forma, as alternativas B, C e D apresentam maneiras incorretas de iniciar a leitura de dados a partir da classe java.util.Scanner. Alternativa correta: A.
Marcadores:
Classes Nativas
Questão 7 - Inicialização de vetores
Considere as seguintes linhas de código:
float[] x = new float[10];
Float[] y = new Float[10];
Depois da execução, quais das expressões a seguir são verdadeiras?
A. x[9] == 0
B. x[10] == 0.0f
C. y[9] == 0.0f
D. x.length == 10
E. y.length() == 10
F. y[9] == null
O compilador inicializa todos os elementos do array x para 0.0f, que é o elemento default para tipo float. Todos os elementos do array y são inicializados para null, desde que null é o valor default para tipos de referência de objetos. Na alternativa A, 0 é promovido a 0.0f durante a comparação, enquanto que x[9] é o último elemento do array. Alternativa B é incorreta ao tentar acessar x[10], o que resulta em disparar uma exceção. A alternativa F é correta e C é incorreta porque y[9] é null e não pode ser comparada a 0.0f. Todos os arrays têm uma variável de instância nomeada length, que retorna o número de elementos no array. Dessa forma D está correta, enquanto E está incorreta visto que não há nenhum método chamado length().
Alternativas corretas: A, D, F.
float[] x = new float[10];
Float[] y = new Float[10];
Depois da execução, quais das expressões a seguir são verdadeiras?
A. x[9] == 0
B. x[10] == 0.0f
C. y[9] == 0.0f
D. x.length == 10
E. y.length() == 10
F. y[9] == null
O compilador inicializa todos os elementos do array x para 0.0f, que é o elemento default para tipo float. Todos os elementos do array y são inicializados para null, desde que null é o valor default para tipos de referência de objetos. Na alternativa A, 0 é promovido a 0.0f durante a comparação, enquanto que x[9] é o último elemento do array. Alternativa B é incorreta ao tentar acessar x[10], o que resulta em disparar uma exceção. A alternativa F é correta e C é incorreta porque y[9] é null e não pode ser comparada a 0.0f. Todos os arrays têm uma variável de instância nomeada length, que retorna o número de elementos no array. Dessa forma D está correta, enquanto E está incorreta visto que não há nenhum método chamado length().
Alternativas corretas: A, D, F.
Marcadores:
Classes Nativas,
Pegadinhas,
Tipos
segunda-feira, 2 de agosto de 2010
Questão 5 - Classes Nativas
String d = "beekeeper";
d.substring(1,7);
d = "w" + d;
d.insert(3, "bee");
System.out.println(d);
Qual o resultado?
A. weekbeeeep
B. wbeekeeper
C. wbeekeepe
D. weekeeper
E. Falha de compilação
F. RunTime Exception
Tentando digitar o código no eclipse, e vimos que o objeto String não possui o método insert, assim, não compila.
d.substring(1,7);
d = "w" + d;
d.insert(3, "bee");
System.out.println(d);
Qual o resultado?
A. weekbeeeep
B. wbeekeeper
C. wbeekeepe
D. weekeeper
E. Falha de compilação
F. RunTime Exception
Tentando digitar o código no eclipse, e vimos que o objeto String não possui o método insert, assim, não compila.
Marcadores:
Classes Nativas,
Pegadinhas
quarta-feira, 28 de julho de 2010
Questão 2 - Classes Nativas
É correto afirmar:
A. A classe Java.io.FileReader tem um método para ler um linha de dados
B. A classe Java.io.BufferedReader tem um método para ler um linha de dados
C. A classe Java.io.FileReader tem um método read()
D. A classe Java.io. BufferedReader tem um método read()
E. A classe Java.io. BufferedReader pode ser instanciada com um Java.io.File como parâmetro do construtor
F. A classe Java.io. BufferedReader pode ser instanciada com um Java.io.FileReader como parâmetro do construtor
Ao analizar as respectivas classes, verifica-se que a BufferedReader possui um método readLine(), read() e seu construtor aceita um Reader. Já a classes FileReader, possui um método read() e extend a classe Reader. Com isso pode-se dizer que as respostas certas são B, C, D e F, observando que a F está certa indiretamente, pois FileReader por extender Reader, é considerada também um Reader.
Marcadores:
Classes Nativas
Assinar:
Postagens (Atom)