Oi.
Estava lendo um manual e encontrei um tal de operador condicional (?:), mas não encontrei nenhum exemplo mostrando o uso desse operador.
Alguma alma caridosa poderia me dar um exemplo de como se usa isso?
Valeu :joia:
PS.: Não sei o que aconteceu, mas já é a segunda vez que coloco essa mensagem aqui no PJ… a minha primeira mensagem sumiu!!! :confuso:
Sei lá, será que essa minha pergunta é tão idiota pra algum moderador remover a mensagem? :oops:
Desculpe se isso aparecer duplicado… não é a minha intenção…
caras isso eh um if ternario uso todos os dias em todos os codigos ele eh mais rapido que um if comum e muito compreensivel deixa o codigo claro limpinho.
sintaxe:
(<condicao> ? <valor1> : <valor2>)
se condicao for true, retorna valor 1 se nao valor2
M
matheusPJ
“jujo”:
o código não fica assim não?
if(i==0)? y=1:y=2;
tira esse if jujo, é só:
( i == 0 ) ? y = 1 : y = 2;
[/code]
C
CandaharPJ
Valeu pelas respostas mas nenhum exemplo funcionou aqui no meu computador… não sei, mas posso estar fazendo algo de errado… :confuso:
Tentei montar esse código, baseado na resposta do Matheus:
Isso dá erro na linha do operador condicional ?: ; o que está errado nisso? :confuso:
Valeu de novo pessoal :joia:
F
FelipePJ
o x tem q ser iniciado:
importjavax.swing.*;classExemplo{publicstaticvoidmain(Stringargs[]){intx,y;x=Integer.parseInt(JOptionPane.showInputDialog(null,"Digite um numero"));y=(x==0)?1:2;System.out.println(y);}}
Quando x for 0 retorna em y = 1, caso contrário retorna em y = 2.
Segundo, vc não tinha inicializado x. Lembra que dentro de métodos vc deve inicializar explicitamente os atributos, não é como os atributos de escopo de classe, que são inicializados com valores default.
E outra, sempre o valor de uma condição ternária, deve ser retorna em algum atributo ou como retorna de uma função. Por exemplo,