La différence entre & et && en Java : 1. Lorsque l'opérateur && fonctionne, lorsque la valeur de la première expression est fausse, la deuxième expression ne sera pas calculée tandis que l'opérateur & ne se soucie pas des deux. les expressions sont exécutées si la valeur de chaque expression est vraie. 2. L'opérateur & peut être utilisé comme opérateur au niveau du bit, mais l'opérateur && ne le peut pas.
L'environnement d'exploitation de ce tutoriel : système windows7, version java8, ordinateur DELL G3.
En Java, && et & sont tous deux des opérateurs logiques représentant « et », ce qui signifie et. Ils sont tous vrais lorsque les expressions des deux côtés sont vraies et que le résultat de l'opération entière est vrai, sinon il est faux. Ensuite, dans l’article, nous présenterons en détail les différences entre les deux. La différence entre
& et &&
& et && sont tous deux des opérateurs logiques, mais && est également appelé opérateur de court-circuit. Parce que lorsque la valeur de la première expression est fausse, la deuxième expression ne sera pas évaluée ;
et & exécutera les deux expressions, que la première expression soit vraie ou non ; De plus, & peut également être utilisé comme opérateur au niveau du bit. Lorsque les expressions des deux côtés de & ne sont pas de type booléen, & représente une opération au niveau du bit.
&& opération
int i = 0; if(i == 3 && ++i > 0 ) { } System.out.println("i = " + i);
Le résultat est :
i = 0
Cause : La deuxième expression n'est pas exécutée
& opération
int i = 0; if(i == 3 & ++i > 0 ) { } System.out.println("i = " + i);
Le résultat est :
i = 1
La deuxième expression est exécutée
Connaissances étendues : Opérateurs logiques
Les opérateurs logiques relient les expressions relationnelles de diverses opérations pour former une expression logique complexe afin de déterminer si l'expression dans le programme est vraie et si le résultat de la détermination est vrai ou faux.
Les opérateurs logiques opèrent sur des variables booléennes et leurs résultats sont également booléens, comme le montre le tableau 1.
Opérateur | Utilisation | Signification | Explication | Exemples | Résultat |
---|---|---|---|---|---|
&& | a&&b | court-circuit avec | ab Quand tous sont vrais, le résultat du calcul est vrai, sinon il est faux. | 2>1&&3c5ff87842fd3d9953b6c8fc68f5fbdee4 | faux |
! | !a | NON logique | Quand a est vrai, la valeur est fausse, quand a est faux, la valeur est vraie | ! (2> ;4) | vrai |
| | a|b | Lorsque le OU logique | ab est entièrement faux, le résultat du calcul est faux, sinon il est vrai | 1>2|3>5 | faux |
& | a&b | ET logique | ab est tout vrai, le résultat du calcul est vrai, sinon il est faux | 1<2&3<5 | vrai |
|| Si a est vrai, alors b n'est pas calculé (car quelle que soit la valeur de b, le résultat est vrai)
Remarque : un court-circuit ET (&&) et un court-circuit OU (||) peuvent utiliser la méthode de calcul la plus optimisée pour améliorer l’efficacité. Dans la programmation réelle, le court-circuit ET et le court-circuit OU doivent être prioritaires.
Les variables ou expressions dont le résultat est booléen peuvent être combinées en expressions logiques grâce à des opérateurs logiques. Opérateurs logiques &&, || et ! Effectuez des opérations logiques selon le tableau 2.
a | b | a&&b | a||b | !a |
---|---|---|---|---|
true | true | true | vrai | faux |
faux | vrai | faux | vrai | vrai |
faux | faux | faux | faux | |
逻辑运算符的优先级为:!运算级别最高,&& 运算高于 || 运算。!运算符的优先级高于算术运算符,而 && 和 || 运算则低于关系运算符。结合方向是:逻辑非(单目运算符)具有右结合性,逻辑与和逻辑或(双目运算符)具有左结合性。 下面是一些使用逻辑运算符的示例。 x>0 && x<=100 // 第一行语句 y%4==0 || y%3==0 // 第二行语句 !(x>y) // 第三行语句 其中,第一行语句用于判断 x 的值是否大于 0 且小于或等于 100,只有两个条件同时成立结果才为真(true)。第二行语句用于判断 y 的值是否能被 4 或者 3 整除,只要有一个条件成立,结果就为真(true)。第三行语句先比较 x 和 y,再将比较结果取反,即如果 x 大于 y 成立,则结果为假(false),否则为真(true)。 更多编程相关知识,请访问:编程教学!! |
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!