이 기사에서는 Java에서 &, |, && 및 ||의 차이점을 소개합니다. 도움이 필요한 친구들이 모두 참고할 수 있기를 바랍니다.
Java에서는 &를 비트 AND라고 하고, &&는 단락 AND라고 합니다. 차이점은 다음과 같습니다.
&는 둘 다 비트 연산자이자 논리 연산자입니다. 또는 부울 표현식, &의 양쪽이 정수인 경우 연산자 양쪽의 숫자는 연산 전에 반드시 이진수로 변환되어야 합니다. 단, 단락 AND(&&)의 양쪽은 부울 표현식이어야 합니다. 예:
12&5의 값은 무엇입니까? 답: 12를 이진수로 변환하면 1100(처음 4자리 생략), 이진수로 변환한 5는 0101, 연산 후의 결과는 0100 또는 4입니다. 이는 양쪽이 숫자값인 경우입니다.
If int i; = 2, j = 4이면 (++i=2) & (j++=4)의 결과는 다음과 같습니다. 먼저 ++i=2가 성립되지 않았는지 확인합니다. 여기 (3 == 2) , 그러나 프로그램은 다음 표현식 j++=4가 참인지 계속 판단합니다. 이 표현식은 참이지만 & 연산자는 연산자 양쪽의 값이 참이어야 합니다. 결과는 true이므로 (++i =2)&(j++=4) 결과는 false입니다. 참고:
&가 true가 되기 위한 조건은 양쪽의 표현식이 모두 true라는 것입니다. 왼쪽 표현식의 값이 false라고 판단하면 프로그램을 계속 실행하여 오른쪽 표현식 값이 true인지 false인지 확인해야 합니다.
int i = 2, j = 4; of (++i=2)&&(j++=4)는 false입니다. 프로세스는 기본적으로 위와 동일하지만 왼쪽 표현식의 값이 false인 경우 프로그램은 계속해서 false인지 여부를 판단하지 않습니다. 오른쪽의 표현식은 참 또는 거짓입니다. 단락 및 중간, 이는 아마도 단락이라는 단어의 의미일 것입니다.
Java에서 '|'와 '||'의 차이
int i=0; if(3>2 || (i++)>1) i=i+1; System.out.println(i);
이 프로그램은 대신 1을 출력합니다. 2.
if의 조건부 판단에서 프로그램은 먼저 첫 번째 수식 3>2가 참인지 확인하고 결과 3>2가 참인지 판단한 다음, 다음 수식 (i++)>1이 있든 없든 논리에 따라 결정됩니다. 가 참이든 아니든 전체 또는 표현식이 참이어야 하기 때문에 프로그램은 다음 표현식, 즉 (i++)>1의 판단을 실행하지 않으므로 여기서 i는 1씩 증가하지 않습니다. 그런 다음 프로그램은 i=i+1이 될 때까지 실행되므로 i는 1이 됩니다. 마지막으로 1을 인쇄합니다.
int i=0; if(3>2 | (i++)>1) i=i+1; System.out.println(i);
이렇게 작성하면 2가 출력되는데, 첫 번째 조건인 3>2가 참인지 아닌지에 관계없이 프로그램이 두 번째 조건식을 실행해서 판단하므로 i++의 증가분은 다음과 같기 때문입니다. 실행되고 if에 i=i+1이 추가되므로 최종 i=2입니다.
어떤 사람들은 || 단락 or 및 && 단락 AND를 호출하는 데 익숙합니다. &&와 &의 차이는 ||와 |의 차이와 유사합니다.&&의 경우 이전 조건식이 이미 거짓이면 전체 조건식이 거짓이어야 하며 이후 조건식은 판단되지 않습니다.
추천: "java 비디오 튜토리얼"
위 내용은 Java에서 &, |, && 및 ||의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!