O que significa este comando

5 respostas
B

Pessoal, estou quebrando a cabeca pra decifrar um codigo feito por terceiros, e como fazia tempo que n programava em java me deu uma dificuldade.

O comando eh:
switch ((jj_ntk==-1)?jj_ntk():jj_ntk)

nao eh necessario que eu explique o que significa cada variavel ai,
eu soh quero saber o que isso faz, pois estou em duvida quanto a ? e o :

o que eh que eles fazem?

5 Respostas

maquiavelbona

Operador Ternário:

Em resumo, é uma expressão que reduz o if/else:

condição ? retorno caso true : retorno caso false;

Até!

B

valeu cara

ajudou muito!!

Mantu

Olá, brunomanguinho!
Aí tem duas coisas: a estrutura de controle [i]switch[/i] e o operador ternário ?:
Presumo que o switch você já conheça.
O operador ternário é uma forma abreviada de fazer isso aqui:

if(alguma_coisa_for_verdade)
   alguma_variavel = valor_se_aquela coisa for_verdadeira
else
   alguma_variavel = valor_se_aquela coisa for_falsa

Ao invéz de fazer toda essa estrutura para definir o valor de alguma_variavel, você pode utilizar o operador ternário para definir esta variável:

alguma_variavel = alguma_coisa_for_verdade ? valor_se_aquela coisa for_verdadeira : valor_se_aquela coisa for_falsa;

É, basicamente, isso.
Caso tenha dúvidas no switch, dê um toque.
Divirta-se!

SrFabio

Isso ás vezes é uma técnica utilizada para ofuscar o código, e pelos vistos deu resultado :stuck_out_tongue:

fabiel

Só ratificando oq o caro maquiavelbona disse

isso é um resumo do if/else

if(jj_ntk==-1){
     jj_ntk();
}else{
     jj_ntk;
}

qualquer coisa estamos aew

Criado 2 de abril de 2007
Ultima resposta 2 de abr. de 2007
Respostas 5
Participantes 5