[JAVA] À propos de l'évaluation des opérateurs logiques

Comment évaluer les opérateurs logiques

Soyez particulièrement prudent lorsque vous augmentez ou décrémentez

Increment.java



public class Increment {

	public static void main(String[] args) {
		int x = 10;
		int y = 10;

		if (x >= 10 && ++y >= 10) {
			//N'évaluez pas y si x est faux
			System.out.println("x = " + x);
			System.out.println("y = " + y);
		}
		System.out.println("------");

		if (x >= 10 || ++y >= 10) {
			//N'évaluez pas y si x est vrai
			System.out.println("x = " + x);
			System.out.println("y = " + y);
		}
		System.out.println("------");

		if (x >= 10 | ++y >= 10) {
			//Évaluer y même si x est vrai
			System.out.println("x = " + x);
			System.out.println("y = " + y);
		}
		System.out.println("------");

		if (x > 10 & ++y > 10) {
			//Évaluer y même si x est faux
			System.out.println("nothing");
		}

		System.out.println("x = " + x);
		System.out.println("y = " + y);
	}

}
x = 10
y = 11
------
x = 10
y = 11
------
x = 10
y = 12
------
x = 10
y = 13

Recommended Posts

À propos de l'évaluation des opérateurs logiques
[Java] Résumé des opérateurs (opérateur)
Ordre d'évaluation de l'itinéraire dans Spark
11 Correspond aux opérateurs de comparaison et logiques
Différence entre la préface et le suffixe des opérateurs
Java à partir du débutant, opérateur logique / opérateur conditionnel