Teste

3 respostas
G

pessoal estou fazendo uma prova e nao entendi muito bem esse exercicio.Se alguel puder peço que me ajude a achar a resposta! valeu!

7.	O que será impresso ao compilar e executar o código abaixo. Selecione as duas respostas corretas. 

public class test {
   public static void main(String args[]) { 
      int i, j=1;
      i = (j>1)?2:1;
      switch(i) {
        case 0: System.out.println(0); break;
        case 1: System.out.println(1);
        case 2: System.out.println(2); break;
        case 3: System.out.println(3); break;
      }
   }
}

3 Respostas

thiago.correa

Na linha que contém o trecho de código

i = (j>1)?2:1;

a variável ‘i’ vai assumir o valor 1 (pois j é igual a 1). Esse operador se chama ternário e possui a seguinte sintaxe:

expressãoBoleeana?valorSeVerdadeiro:valorSeFalso;

depois o programa segue para o switch e ele irá imprimir 1 e 2, pois o valor de i é 1 e o ‘case 1’ não possui a cláusula break, por isso ele irá imprimir os dois valores.

Espero ter sido claro

eric_jf

Vc não entendeu o exercicio ou o código??

O codigo está fazendo o seguinte:

primeiro vc criou duas variaveis inteiras: i e j
j recebeu 1
i vai receber a instrução depois do =
que funciona como se fose um if e else.
se for verdadeiro entra o primeiro parametro “2”
senão o parametro “1”
como 1>1 é falso então vai o segundo numero no caso “1”

ai entra no switch(i)
e pula para o case 1 q imprime “1”
como não tem break e ele vai para o case 2 e imprime “2”
como tem break ele sai do switch
e termina o programa

G

perfeito! valeu cara!

Criado 15 de setembro de 2006
Ultima resposta 15 de set. de 2006
Respostas 3
Participantes 3