public class untitled {
public static void main (String args[]) {
boolean a = false;
String s= (a = !a) ? (a = !a) ? "Primeira" : "Segunda" : (a = !a) ? "Terceiro" : "Quarto";
System.out.println(s);
}
}
nesse ternário a variável “s” recebe “Segunda”, eu não entendi, alguem poderia me explicar por favor? (se der montar em condições if/else essa expressao por favor)
seu código na versão não ternária ficaria assim:
boolean a = false;
String s = null;
if (a = !a) {
if (a = !a) {
s = "primeiro";
} else {
s = "segundo";
}
} else {
if (a = !a) {
s = "terceiro";
} else {
s = "quarto";
}
}
System.out.println(s);
então no primeiro if a variável “a” assume o valor de true, então ele entra no primeiro if [ (a = !a) ? “Primeira” : “Segunda” ], então atribui o valor de “a” para false, logo a variável “s” assume o valor de “Segunda”.
espero ter ajudado