Mini-Teste: Desmistificando a Certificação SCJP6 Parte VIII - Parte 4 - A

Veja neste artigo uma sequencia de questões bem interessantes.

Mini-teste

  1. Dabo:
    public class TesteIgualdade { /** * @param args */ public static void main(String[] args) { float a1 = 1.4F; float[][]a2={{33.0f},{0.8f,1.4f},{1.7f,1.8f}}; float[] a3={1,8f}; Long y = 33L; //insira código aqui System.out.println("true"); } }
    Além dos cinco fragmentos de código:

    if(a3==a2[2])
    if(a1==a2[2][1])
    if(y==a2[0][0])
    if(a1==a2[1,1])
    if(a1==a2)

    Qual opção é correta?
    1. 1 deles compilará e apenas 1 será true.
    2. 2 deles compilarão e apenas 1 será true.
    3. 2 deles compilarão e 2 serão true.
    4. 3 deles compilarão e exatamente 2 serão true.
    5. 3 deles compilarão e apenas 1 será true.
    6. 3 deles compilarão exatamente 3 serão true.
  2. Analise o código abaixo:
    public class Executavel { /** * @param args */ public static void main(String[] args) { Long a=42L; Long b=44L; System.out.print(" "+7+2+" "); System.out.print(ping()+x+5+" "); System.out.print(x+y+ping()); } static String ping(){ return "pong"; } }
    Qual a saída desse programa?
    1. 9 pong47 86pong
    2. 9 pong47 4244pong
    3. 9 pong425 4244pong
    4. 72 pong47 86pong
    5. 72 pong425 4244pong
    6. A compilação falha
    7. 72 pong425 86pong
  3. Com o seguinte código:
    public class Principal { /** * @param args */ public static void main(String[] args) { for(int x =0;x<4;x++){ switch(x){ case 0: System.out.print("1 "); case 1: System.out.print("2 "); case 2: System.out.print("3 "); default: System.out.print("default "); } } } }
    Qual é o resultado?
    1. 1 2 3 default
    2. 2 3 default 1 2 3 default
    3. 1 2 3 default default
    4. 1 2 3 default 2 3 default 3 default
    5. 1 2 3 default 2 3 default 3 default default

GABARITO COMENTADO

  1. Resposta E

    if(a1==a2[2][1]) -> 1.4F ==0.8F-> false
    if(y==a2[0][0])->33L==33F->true
    if(a3==a2[2])-> Comparando dois arrays unidimensionais -> false

    As outras opções não compilam. A 1ª porque não se pode comparar um array com um número e a 2ª devido a sintaxe está errada.

  2. Resposta G

    A 1ª saída é 72, a 2ª é pong425 e a 3ª é a que merece maior destaque, uma vez que o operador + primeiramente soma 2 números, para depois concatenar e formar uma String. Lembre-se de que a avaliação é sempre feita da esquerda para a direita.

  3. Resposta E

    Toda vez que um case é alcançado, tudo o que estiver abaixo será executado (se não tiver um break). É uma operação em cascata.

  4. Resposta G

    Esse código apresenta erro de compilação porque o que é testado no case não é uma constante em tempo de compilação. Note que o modificador final não está presente na variável y.

Na próxima parte abordaremos mais algumas questões.


Leia todos artigos da série

Ebook exclusivo
Dê um upgrade no início da sua jornada. Crie sua conta grátis e baixe o e-book

Artigos relacionados