dúvida sobre código!

8 respostas
M
quem puder me explicar o que faz esse código agradeço ! principalmente a "?" e ":" ok
public class teste {

	public static void main(String[] args) {
		int y=0;
		int x= 7;
		
		x+=-5;
		y=x<1 ? x*x:2-x;
		System.out.println("y = " +y);
	}
	
}

8 Respostas

von.juliano

Esse código é a mesma coisa que o seguinte:

public class teste {
 
 	public static void main(String[] args) {
 	        int y=0;
 		int x= 7;
 		
 		x= x - 5;

                if (x < 1)
                    y = x * x;
                else
                    y = 2 - x;
 		
                System.out.println("y = " +y);
 	}
 	
 }

Ok! :thumbup:

LPJava

ele é a mesma coisa que if else porem de forma aprimorada… no seu caso se x<1 ele multiplica x*x senao ele 2-x. o que está apos o : é igual a else o que está apos ? eh o caso verdadeiro.

M

hehehe. muito obrigado vlw mesmo , vivendo e aprendendo !!

peczenyj

isto se chama operador ternário, presente em muitas linguagens de programação como C, C++ e Javascript

clodoaldoaleixo

C# tb… :smiley:

lina

Oi,
em java o nome é: If in line.

T

O nome certinho disso é “operador condicional”.

15.25 Conditional Operator ? :

willythorpe

Deitel 6º Edição - Capitulo 4 - pagina 91

Relata curiosamente que é o único operador ternário existente no JAVA e juntos, os operandos e os simbolos (?:slight_smile: formam essa expressão condicional.

Complementando o que o thingol disse, mais precisamente o nome é “Operador condicional ternário

Interessante não é ? Um abraço a todos :wink:

Criado 9 de fevereiro de 2007
Ultima resposta 12 de fev. de 2007
Respostas 8
Participantes 8