Bonjour,

Je ne comprends pas pourquoi le code suivant m'affiche la valeur 7. Comment peut-on évaluer la condition (a = x) à true alors que x est une variable de type booléen et a est une variable de type int.

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) {
 
		boolean x = true;
		int a;
 
		if(x) a = x ? 7 : 14;
 
		else a = x ? 3 : 4;
		System.out.println(a);
 
	}
Le code affiche 7.
Quelqu'un pourrait m'expliquer pourquoi a = x est considérée comme vrai. (condition ternaire).

Merci d'avance de votre aide.

Batman90