Java fournit un opérateur ternaire spécial (également appelé opérateur ternaire) qui est souvent utilisé pour remplacer un certain type d'instruction if-then-else. Le symbole de l'opérateur conditionnel est "? :". Lors de l'utilisation de cet opérateur, trois opérandes sont requis, c'est pourquoi on l'appelle un opérateur ternaire. La structure syntaxique générale de l'utilisation des opérateurs conditionnels est la suivante :
result=
où expression est une expression booléenne. Lorsque l'expression est vraie, l'instruction 1 est exécutée, sinon l'instruction 3 est exécutée. Cet opérateur ternaire nécessite qu'un résultat soit renvoyé, donc pour implémenter un programme binaire simple, vous pouvez utiliser cet opérateur conditionnel.
intx,y,z;
x=6,y=2;
z=x>y ? Valeur, si vrai, la valeur de z est x-y ; sinon, la valeur de z est x+y. Évidemment, l'expression x>y est évaluée comme vraie, donc la valeur de z est 4.
Astuce : L'opérateur conditionnel peut être compris comme une forme simplifiée d'instruction if-else. Lorsque vous utilisez des expressions plus simples, l'utilisation de cet opérateur peut simplifier le code du programme et rendre le programme plus lisible.
Lorsque vous utilisez des opérateurs conditionnels, vous devez également faire attention aux problèmes de priorité
x>y? L'instruction ci-dessus est en fait équivalente à :
(x> y?x-=y:x)+=y;
Et l'opérateur "+=" est un opérateur d'affectation. Cet opérateur nécessite que l'opérande de gauche soit une variable, d'où l'erreur. Pour éviter de telles erreurs, des parenthèses « 0 » peuvent être utilisées pour les distinguer. Par exemple, l’expression suivante est correcte.
(x>y)?(x-=y):(x+=y);
Exemple 1
Déclarez trois variables x, y, z dans le programme et l'utilisateur saisit la valeur de x à partir du clavier , Utilisez ensuite l'opérateur conditionnel pour attribuer des valeurs à la variable y et à la variable z. Le code d'implémentation est le suivant :
publicclassTest9{
publicstaticvoidmain(String[]args){
intx,y,z;//Déclarez trois variables
System.out.print("Veuillez entrer un nombre :") ;
Scannerinput=newScanner(System.in);
x=input.nextInt();//L'utilisateur saisit la valeur de x
y=x>5 System.out.printf("x=%dn? ",x);
System.out.printf("y=%dn",y);
System.out.printf("z=%dn",z );
}
}
Dans ce programme, saisissez d'abord la valeur de x comme 58, puis déterminez si la valeur de x est supérieure à 5. Évidemment, la condition est vraie, alors la valeur de y est x, c'est-à-dire y = 58. Déterminez ensuite si la valeur de y est supérieure à x. Étant donné que la valeur de y et la valeur de x sont toutes deux égales à 58, cette condition n'est pas vraie, alors z=5. Entrez à nouveau la valeur de x comme 4, puis jugez si la valeur de x est supérieure à 5, et si ce n'est pas vrai, alors y=-4, puis jugez si la valeur de y est supérieure à x, et si elle est vraie ; n'est pas vrai, alors z=5.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!