Mini-teste

 

1. Dado:

 

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?

a. 1 deles compilará e apenas 1 será true.

b. 2 deles compilarão e apenas 1 será true.

c. 2 deles compilarão e 2 serão true.

d. 3 deles compilarão e exatamente 2 serão true.

e. 3 deles compilarão e apenas 1 será true.

f. 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?

a. 9 pong47 86pong

b. 9 pong47 4244pong

c. 9 pong425 4244pong

d. 72 pong47 86pong

e. 72 pong425 4244pong

f. A compilação falha

g. 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?

a. 1 2 3 default

b. 2 3 default 1 2 3 default

c. 1 2 3 default default

d. 1 2 3 default 2 3 default 3 default

e. 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