>  기사  >  Java  >  자바에서 &와 &&의 차이점은 무엇입니까

자바에서 &와 &&의 차이점은 무엇입니까

青灯夜游
青灯夜游원래의
2023-01-06 15:07:008773검색

Java에서 &와 &&의 차이점: 1. && 연산자가 작동할 때 첫 번째 표현식의 값이 false이면 두 번째 표현식은 계산되지 않지만 & 연산자는 첫 번째 표현식에 관심이 없습니다. 표현식은 각 표현식의 값이 true인지 여부에 따라 실행됩니다. 2. & 연산자는 비트 연산자로 사용할 수 있지만 && 연산자는 사용할 수 없습니다.

자바에서 &와 &&의 차이점은 무엇입니까

이 튜토리얼의 운영 환경: windows7 시스템, java8 버전, DELL G3 컴퓨터.

Java에서 &&와 &는 모두 "and"를 나타내는 논리 연산자입니다. 즉, and를 의미합니다. 양쪽의 식이 모두 참이면 모두 참이고, 연산 결과 전체가 참이면 거짓이고, 그렇지 않으면 거짓입니다. 다음 기사에서는 둘 사이의 차이점을 자세히 소개하겠습니다.

&와 &&

&와 &&의 차이점은 둘 다 논리 연산자이지만 &&는 단락 연산자라고도 합니다. 첫 번째 표현식의 값이 false이면 두 번째 표현식은 평가되지 않으며

&는 첫 번째 표현식이 true인지 여부에 관계없이 두 표현식을 모두 실행합니다. 또한 &는 비트 연산자로도 사용할 수 있습니다. &의 양쪽 표현식이 부울 유형이 아닌 경우 &는 비트 연산을 나타냅니다.

&& 연산

int i = 0;        
if(i == 3  && ++i > 0 )
 {
 }
System.out.println("i = " + i);

결과:

i = 0

원인: 두 번째 표현식이 실행되지 않았습니다

& 연산

 int i = 0;        
 if(i == 3  & ++i > 0 )
  { 
  }
  System.out.println("i = " + i);

결과:

i = 1

두 번째 표현식이 실행되었습니다

확장된 지식: 논리 연산자

논리 연산자는 다양한 연산의 관계식을 연결하여 복잡한 논리식을 형성하여 프로그램의 식이 참인지, 그 판단 결과가 참인지 거짓인지를 판단합니다.

논리 연산자는 부울 변수에 대해 작동하며 그 결과도 표 1과 같이 부울입니다.

표 1 논리 연산자의 사용법, 의미 및 예
Operator Usage Meaning Explanation Examples Result
&& a& &b ab와의 단락 언제 모두 참이면 계산 결과는 참이고, 그렇지 않으면 거짓입니다. 2>1&&3562881adabf1c3ff008e7310157f81934 false
! !a logical NOT a가 참이면 값은 거짓, a가 거짓이면 값은 참 ! (2>4) true
| a|b 논리 OR ab가 모두 false이면 계산 결과는 false, 그렇지 않으면 true 1>2|3>5 false
& a&b logical AND ab가 모두 true이면 계산 결과는 true이고, 그렇지 않으면 false 1<2&3<5 true
입니다.
  • || a가 true이면 b는 계산되지 않습니다(b 값에 관계없이 결과가 true이기 때문입니다)

참고: AND(&&) 및 OR(||)를 단락할 수 있습니다. 가장 최적화된 계산 방법을 사용하여 효율성을 향상시킵니다. 실제 프로그래밍에서는 단락 AND와 단락 OR을 사용하는 것이 우선되어야 합니다.

부울 결과가 있는 변수나 표현식은 논리 연산자를 통해 논리 표현식으로 결합될 수 있습니다. 논리 연산자 &&, || 표 2에 따라 논리 연산을 수행합니다.

표 2 논리 연산자를 사용한 논리 연산
a b a&&b a||b !a
true true true 거짓
false true false true true
true false false true false
false false false false true

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

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

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)。

更多编程相关知识,请访问:编程教学!!

위 내용은 자바에서 &와 &&의 차이점은 무엇입니까의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.