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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 !!