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…
Isso é uma forma diferente de fazer o if e o else ex:
[code]
if(i==0){
y=1
}
else{
y=2
}
( i == 0 ) ? y = 1 : y = 2;
é isso não tem aspas…maus
[/code] 
o código não fica assim não?
if(i==0)? y=1:y=2;
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
[quote=“jujo”]o código não fica assim não?
if(i==0)? y=1:y=2;
[/quote]
tira esse if jujo, é só:
( i == 0 ) ? y = 1 : y = 2;
[/code]
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:
class Exemplo
{
public static void main (String args [])
{
int x, y;
( x == 0 ) ? y = 1 : y = 2;
System.out.println (y);
}
}
Isso dá erro na linha do operador condicional ?: ; o que está errado nisso? :confuso:
Valeu de novo pessoal :joia:
o x tem q ser iniciado:
import javax.swing.*;
class Exemplo
{
public static void main (String args [])
{
int x, y;
x = Integer.parseInt(JOptionPane.showInputDialog(null, "Digite um numero"));
y = ( x == 0 ) ? 1 : 2;
System.out.println (y);
}
}
testa isso… deve funcionar…
O que vc deve esta querendo fazer é o seguinte:
class Exemplo
{
public static void main (String args [])
{
int x = 0, y;
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,
class Exemplo
{
public static void main (String args [])
{
int x = 0, y;
( x == 0 ) ? 1 : 2;
System.out.println (y);
}
}
Isso ocorrei um erro de sintaxe, pois não retorna em lugar nenhum o retorno da condição ternária.
blz?
sendo mais economico ainda, so pra ter ideia;
int x = 0;
System.out.println((x == 0?"zero":"nao zero"));
Ah… valeu a todos que responderam 
É bem legal esse operador condicional… Agora só preciso treinar como usar isso… :joia:
[quote=“Candahar”]Ah… valeu a todos que responderam 
É bem legal esse operador condicional… Agora só preciso treinar como usar isso… :joia:[/quote]
Kara, to morrendo de rir do seu avatar… muito bem bolado…
:galera: