Expression (false ?i : 'X') -> Pourquoi '88' ?
Bonjour,
Je suis débutant en Java, et j'étais en train de réviser des partiels et je suis tombé sur un exercice où l'on doit dire ce que retourne ce code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
|
public class Test{
public static void main(String[] args){
char x = 'X';
int i = 0;
System.out.print(true ?x : 0);
System.out.print(false ?i : 'X');
}
} |
J'ai bien compris que "(condition) ? a : b" Cela revenait à dire :
Code:
1 2 3 4 5 6 7
|
If(condition){
return a;
}
else{
return b;
} |
Du coup je pensais que cela devait retourner "XX" mais lorsque j'ai essayé sur mon PC j'ai eu ceci : "X88" et je ne comprends toujours pas... (J'ai essayé de passer 'X' en String "X" et là ça a marché mais dans le sujet il s'agit bien d'un caractère ^^')
Comment ce fait-il que cela retourne '88' à la place de 'X' ?
Et pourquoi du coup x renvoie bien 'X' ? Et non pas '88' aussi ?
Je vous remercie d'avance pour vos réponses !!