Maison  >  Article  >  Java  >  Quelle est la différence entre & et && en Java

Quelle est la différence entre & et && en Java

青灯夜游
青灯夜游original
2023-01-06 15:07:008504parcourir

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.

Quelle est la différence entre & et && en Java

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.

Quand
Tableau 1 Utilisation, signification et exemples d'opérateurs logiques
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.

faux vrai
Tableau 2 Opérations logiques utilisant des opérateurs logiques
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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn