Como utilizar o ? como argumento em um for

10 respostas
Marcio_Nogueira

Minha dúvida é a seguinte: como utilizar o sinal de ? como argumento em uma estrutura for em Java?
Desde já agradeço a atenção. :wink:

10 Respostas

davidbuzatto

Olá.

Dois exemplos:

// código idiota, mas funciona (poderia ir para os códigos toscos :D )
for ( int i = 0; i < 10 ? true : false; i++ ) {
    System.out.println( "teste" );
}
int j = 10;
int k = 30;

// se k menor que j inicializa i com 20, caso contrário com 40
for ( int i = k < j ? 20 : 40; i > 0; i-- ) {
    System.out.println( "teste" );
}

Que mal lhe pergunte, pq vc precisa disso?
Eu acho que o código fica difícil de ler. Ou melhor, difícil de compreender.

[]´s

Marcio_Nogueira

Por curiosidade e aprendizado, muito obrigado pela ajuda! :wink:

ricardo.junin

Pense sempre na estrutura básica IF THEN ELSE

exemplo

IF algumacoisa>0
THEN i=1
ELSE i=2

Com operadores condicionais ficaria

algumacoisa ? i=1 : i-2;

davidbuzatto

Cuidado… Essa sintaxe não é válida (atribuição no segundo operando do operador ternário).
Obrigatoriamente, os resultados da comparação devem ser valores que serão retornados.

Isso aqui funcionaria:

int i = 0; i = i > 10 ? i+1 : i-2;

thiagobernardo_si

Cara isso é chamado de operador ternário… se quiser saber mais da uma olhada http://en.wikipedia.org/wiki/Ternary_operation

flw abs…

J

quero aprender java qual a dica para começar?

ricardo.junin

o gente desculpa meu vacilo ai eu pensei certo mas me expressei errado concordo totalmente com o colega davidbuzatto

ricardo.junin

Melhorando o exemplo algo como abaixo ficaria bem melhor com certeza

int i=0
int b=3
i = (b>2 ? 1 : 2);

tauame

um bom começo, dê uma lida nessa apostila da caelum: http://downloads.caelum.com.br/apostila/caelum-java-objetos-fj11.pdf

maior_abandonado

eu demorei para perceber que ele tava falando do operador ternario…

Criado 6 de maio de 2010
Ultima resposta 7 de mai. de 2010
Respostas 10
Participantes 7