Java & & && : &의 차이점은 비트 연산자와 논리 연산자입니다. 양쪽은 int 또는 boolean 표현 일 수 있습니다. 양쪽이 & int 인 경우 작업자의 양쪽에있는 숫자는 작업을 수행하기 전에 이진 번호로 변환해야합니다. 단락의 양면과 (&&)는 부울 표현이어야합니다.
나는 많은 사람들이 Java를 배울 때 또는 인터뷰 중에 그것을 만날 것이라고 생각합니다.
&그리고&&
그러나 그들이 의미하는 바를 실제로 이해하지 못하면, 그것은 당신의 생각에 많은 문제를 일으킬 것입니다.
이 블로그에서는 읽기를 마친 후에는 쉽게 구별 할 수 있습니다.
여기 내 데모가 있습니다
/**
*
*/
패키지 com.b510.test;
/**
* @Author Jone Hongten
* @Create 날짜 : 2013-11-2
* @version 1.0
*/
공개 수업 테스트 {
public static void main (String [] args) {
문자열 str = null;
if (str! = null &&! "". Equals (str)) {
// 무언가를합니다
}
if (str! = null &! "". Equals (str)) {
// 무언가를합니다
}
}
}
우리는 지금 약간의 흐림이있을 수 있으므로 & & &&의 회로 문제를 살펴 보겠습니다.
을 위한:&&
if (str! = null &&! "". Equals (str))
언제 : str! = null, 다음 실행이 수행됩니다 :! "".
if : str! = null은 false입니다.이 시점에서 프로그램은 단락으로 이어집니다! "".
그러나 : &
if (str! = null &! "". Equals (str))
str! = null (예 : true, false)의 결과에 관계없이 프로그램은 실행됩니다 :! "". Equal (str)
회로 문제 요약 :
for : & -> "&"기호의 왼쪽과 오른쪽에있는 프로그램이 실행됩니다.
for : && -> 기호의 오른쪽에있는 프로그램은 "&&"의 왼쪽에있는 프로그램이 true (true) 인 경우에만 실행됩니다.
아래의 운영 규칙에 대해 이야기 해 봅시다.
for : & -> 왼쪽과 오른쪽 중 하나가 거짓 인 한, 그것은 거짓입니다. 모두가 사실 일 때만 결과는 사실입니다
for : && -> 기호의 왼쪽이 False 인 한 결과는 False입니다. 왼쪽이 참이고 오른쪽이 참이되면 결과는 사실입니다.
읽어 주셔서 감사합니다. 도움이되기를 바랍니다. 이 사이트를 지원 해주셔서 감사합니다!