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

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

青灯夜游
Libérer: 2023-01-06 15:07:00
original
8827 Les gens l'ont consulté

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);
Copier après la connexion

Le résultat est :

i = 0
Copier après la connexion

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);
Copier après la connexion

Le résultat est :

i = 1
Copier après la connexion

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érateurUtilisationSignificationExplicationExemplesRésultat
&& a&&b court-circuit avec ab Quand tous sont vrais, le résultat du calcul est vrai, sinon il est faux. 2>1&&3<4vrai
||a||b court-circuit ou ab sont tous faux, le résultat du calcul est faux, sinon c'est vrai. 2<1||3>4faux
!!aNON logique Quand a est vrai, la valeur est fausse, quand a est faux, la valeur est vraie ! (2> ;4)vrai
|a|bLorsque le OU logique ab est entièrement faux, le résultat du calcul est faux, sinon il est vrai1>2|3>5 faux
&a&bET logique ab est tout vrai, le résultat du calcul est vrai, sinon il est faux1<2&3<5vrai
  • || 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
aba&&ba||b!a
truetruetrue vraifaux
fauxvraifauxvraivrai
fauxfauxfauxfaux

逻辑运算符的优先级为:!运算级别最高,&& 运算高于 || 运算。!运算符的优先级高于算术运算符,而 && 和 || 运算则低于关系运算符。结合方向是:逻辑非(单目运算符)具有右结合性,逻辑与和逻辑或(双目运算符)具有左结合性。

下面是一些使用逻辑运算符的示例。

x>0 && x<=100    // 第一行语句
y%4==0 || y%3==0    // 第二行语句
!(x>y)    // 第三行语句
Copier après la connexion

其中,第一行语句用于判断 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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal