dúvida sobre código!

quem puder me explicar o que faz esse código agradeço !
principalmente a “?” e “:” ok

[code]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);
}

}
[/code]

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:

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.

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

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

C# tb… :smiley:

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

O nome certinho disso é “operador condicional”.

15.25 Conditional Operator ? :

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: