eu geralmente uso o ?: pra evitar escrever algumas linhas por causa de algo simples…
o ?: testa a condicao antes do ?, caso ela seja verdadeira, retorna o q estiver antes do :, caso seja falsa retorna o q estiver depois…
e o seu codigo equivale a isso:
if(b){if(c) a = d;else{if(e) a = f;elsea=g;}}else{if(h) a = i;elseif(j) a = kelsea=l}
L
lapavilaPJ
"feliperod":
Olá de novo pessoal...
Continuando minhas dúvidas de usualidade de alguns operadores...
Alguém me diz onde vou usar um operador como este:
?:
por exemplo essa expressão eu entendo.
Expressão usando o Operador ternário ?:
//a, b e c são do tipo int, e x é do tipo boolean.a=x?b:c;
a mesma operação escrita por um ser humano, ou seja de forma legível:
Se alguém puder reescrever essa expressão usando if/else eu agradeço. A expressão é esta:
a = b ? c ? d : e ? f : g : h ? i : j ? k : l;
té +
Depois que vc se acostuma ele fica claro de se entender, uma ajuda é colocar parentesis:
pelo seu primeiro exemplo:
a = (x ? b : c);
Bem simples, preticamente não mudou nada, mas veja para o que vc achou complicado:
a = (b ? (c ? d : (e ? f : g)) : (h ? i : (j ? k : l)));
Agora o que realmente significa a composição do operador?
tomando o exemplo mais simples que é a base do mesmo:
x ? b : c
Isso significa que:
Caso a expressão "x" seja verdadeira, então avalie a expressão "b"
Caso a expressão "x" seja falsa, então avalie a expressão "c"
Vamos organizar melhor o código do Felipe apenas pra entendimento (Desculpe Felipe só acrescentei mas chaves - desnecessárias para o código mas facilitadores do entendimento):
Realmente em alguns casos fica um código menor, porém, dificulta a leitura por outro programador.
No livro que estou estudando para a certificação diz que o uso deste operador não é recomendado nas empresas, por motivo de dificultar a leitura do código por um programador menos experiente…
O que acha disso?
valeu hein
té +
M
matheusPJ
operador ternário rulez!!! hahahaha, aqui na minha empresa é direto, po, ele é simples, como vai dificultar…? a não ser q tenha doido q faça assim:
Realmente em alguns casos fica um código menor, porém, dificulta a leitura por outro programador.
No livro que estou estudando para a certificação diz que o uso deste operador não é recomendado nas empresas, por motivo de dificultar a leitura do código por um programador menos experiente…
O que acha disso?
valeu hein
té +
Se uma empresa está nivelando o seus programadores pelo menos experiente, tem algo errado.