Java의 논리 및 관계 연산자에 대한 초보자 안내서

Java의 논리 및 관계 연산자에 대한 초보자 안내서

연산자는 값, 변수 또는 명령문에 대한 연산을 수행하는 데 사용되는 기호입니다. 이러한 작업을 수행하는 표현식을 피연산자라고 합니다. 연산은 관계형, 같음 및 논리 연산자에 대해 부울 결과(true 또는 false)를 반환합니다.





연산자가 취하는 피연산자의 수에 따라 유형이 결정됩니다. 하나의 피연산자를 취하는 연산자를 '단항'이라고 합니다. 두 개의 피연산자를 취하는 연산자를 '바이너리'라고 합니다.





Java에서 논리 및 관계 연산자를 사용하는 방법을 배우려면 계속 읽으십시오. 더군다나 대부분의 프로그래밍 언어는 동일한 연산자를 사용하므로 이 지식을 다른 곳에 적용할 수 있습니다.





논리 연산자

프로그래밍하는 동안 논리 문장을 작성하는 데 사용됩니다. Java에는 6개의 논리 연산자가 있습니다. 아래 표에 요약되어 있습니다.

운영자이름유형
|부울 논리 OR바이너리
&부울 논리 AND바이너리
^^부울 논리 배타적 OR바이너리
||조건부 OR바이너리
&&조건부 AND바이너리
!논리적 NOT단항

조건 중 하나 또는 둘 모두가 참인지 확인하려면 이 연산자를 사용하십시오. 조건은 true 또는 false일 수 있는 표현식입니다.



부울 논리 포함 OR(|)

논리 OR은 표현식을 평가하기 전에 두 피연산자가 모두 참인지 확인합니다.

if ( dob <2005 | height <= 5){
money++;
}

위의 예는 생년월일(dob)이 2005년 미만이거나 키가 5피트 이하인 경우 더 많은 돈을 줄 것입니다.





부울 논리 AND(&)

이 연산자는 프로그램에서 특정 실행 경로를 취하기 전에 두 조건이 모두 참인지 확인하는 데 사용됩니다. 전체 표현식을 평가하기 전에 먼저 두 조건이 모두 참인지 확인합니다.

관련 항목: Python에서 부울 메서드를 사용하여 문자열을 검증하는 방법





부울 논리 배타적 OR(^)

조건 중 하나가 참인지 여부를 확인하고 둘 다 참이 아닌지 확인하려는 경우 사용할 연산자입니다. 아래 진리표는 사용할 때 보게 될 결과를 요약한 것입니다.

식1식2식1 ^ 식2
거짓거짓거짓
거짓진실진실
진실거짓진실
진실진실거짓

부울 조건부 AND(&&)

이 연산자는 논리 AND와 유사합니다. 차이점은 먼저 왼쪽의 조건이 참인지 여부를 먼저 확인하고 오른쪽의 조건을 확인하기 위해 이동한다는 것입니다.

왼쪽 부분이 거짓으로 판명되면 실행이 즉시 중지됩니다. 그렇지 않으면 올바른 부분에 대한 평가가 계속됩니다. 이 기능을 단락 평가라고 합니다.

이 연산자에 대한 이해를 돕기 위해 아래 진리표를 참조하십시오.

식1식2식1 && 식2
거짓거짓거짓
거짓진실거짓
진실거짓거짓
진실진실진실

조건부 OR(||)

조건 중 하나가 거짓이면 실행은 프로그램의 다음 부분으로 건너뜁니다. 즉, 두 조건이 모두 참이어야 합니다.

이 연산자는 논리 OR과 유사합니다. 또한 특정 코드를 실행하기 전에 조건 중 하나 또는 둘 모두가 참인지 확인합니다.

조건부 AND와 유사하게 논리적 OR도 단락 평가를 사용합니다. 오른쪽 피연산자를 평가하기 전에 먼저 왼쪽 피연산자가 참인지 확인합니다.

관련된: Java에서 생성자란 무엇이며 어떻게 사용합니까?

내 전화번호에 연결된 모든 계정 찾기

왼쪽 조건이 참이면 오른쪽 조건을 확인할 필요가 없습니다. 그렇지 않으면 오른쪽 평가가 계속됩니다.

논리적 NOT(!)

이 연산자는 조건을 무효화하는 데 사용됩니다. 그것은 단순히 그것이 작동하는 것의 의미를 뒤집습니다.

if(!(x>5)){
// statements
}

위의 명령문은 'x가 5보다 큼'이 true가 아닌 경우 내부의 명령문을 실행한다는 의미입니다. 만약 .

(x>5) 표현식에 대괄호를 사용하는 것에 주목하십시오. 프로그램을 작성하는 동안 이 대괄호를 포함하지 않으면 컴파일 시간 오류가 발생합니다. 그 이유는 ! 조건에 작용하는 단항 연산자입니다. 대괄호가 없으면 컴파일러는 x>5가 아니라 x에 대해 작동하는 연산자로 해석합니다.

괄호를 포함하는 것은 컴파일러가 표현식을 올바르게 해석할 수 있도록 하기 위한 것이 아닙니다. 또한 프로그래머가 더 복잡한 표현식을 더 잘 이해할 수 있는 방법으로 사용할 수도 있습니다. 아래의 예를 보십시오.

age >= 7 && height <5

어떤 사람들은 논리를 따라가기가 어렵다고 생각할 수도 있습니다. 따라서 일부 프로그래머는 가독성을 위해 중복 괄호를 추가하는 것을 선호합니다.

(age >= 7) && (height <5)

관계 연산자

이 연산자는 피연산자 간의 단순 관계를 비교하는 데 사용됩니다.

운영자이름
>보다 큰
<미만
> =크거나 같음
<=이하

관계 연산자는 이미 친숙한 일반적인 대수 연산자와 의미가 모두 동일하기 때문에 이해하기 쉽습니다. 즉 말하자면, > 그리고 < 위의 표에 나와 있는 것과 동일한 의미를 이미 알고 있습니다.

if( x <= 7 ){
x++;
}

위의 만약 문은 x가 7보다 작거나 같은지 확인합니다. 참이면 대괄호 안의 명령문이 실행되고 그렇지 않으면 실행되지 않습니다.

지금은 항등 연산자를 언급하기에 좋은 시간입니다. 2개만 있습니다( 같음, == 및 !=, 같지 않음 ). 이름에서 알 수 있듯이 두 피연산자 간의 동등성을 테스트하는 데 사용됩니다.

관련된: Java에서 배열에 대한 작업을 만들고 수행하는 방법

등호 연산자(==)를 할당 연산자(=)와 혼동하지 마십시오. 초보자 프로그래머는 두 가지를 혼합하는 것을 좋아합니다. 이것은 대수학에서 기호(=)가 평등을 표현하는 데 사용되기 때문에 합리적입니다. 하지만 프로그래밍에서는 옳지 않습니다.

대입 연산자(=)는 변수에 값을 대입하는 반면 등호 연산자(==)는 같은지 테스트합니다. 차이점을 이해하려면 아래 예를 참조하십시오.

if(x=5){
// statements
}

위의 코드는 x가 실제로 5인지 여부에 관계없이 항상 실행됩니다. 한편, 아래 코드는 x가 5인 경우에만 실행됩니다. 따라서 두 가지를 혼동하지 않는 것이 중요합니다.

if(x==5){
// statements
}

언급된 두 개의 등호 연산자는 관계 연산자보다 낮은 우선 순위 수준을 갖습니다.

관계 연산자도 동일한 수준의 우선 순위를 갖습니다. 이러한 연산자의 실행은 왼쪽에서 오른쪽으로 시작됩니다.

Java 연산자에 대한 추가 고려 사항

일부 예에서는 일부 연산자와 피연산자 사이에 공백이 있지만 다른 예에서는 공백이 없는 것을 관찰했을 것입니다.

그 공간의 부재/존재는 당신을 걱정할 필요가 없습니다. 컴파일러는 이를 무시합니다. 따라서 다음 표현은 같은 의미를 갖습니다.

Y>=7 // no whitespace
Y >= 7 // with whitespace

관계 연산자는 일반적으로 간단한 조건을 표현하는 데 사용됩니다. 간단한 조건을 더 복잡한 조건으로 결합하려면 논리 연산자를 사용해야 합니다. 논리 연산자는 하나의 조건만 테스트하는 관계 연산자와 달리 여러 조건을 테스트할 수 있습니다.

논리 연산자( |, &, ^)는 정수 피연산자가 있는 경우 비트 연산자가 될 수 있습니다. 비트 연산자로 사용하면 피연산자의 비트에서 작동합니다.

이 연산자에 대한 지식을 가지고 이제 Java 클래스를 배울 준비를 해야 합니다.

공유하다 공유하다 트위터 이메일 Java에서 클래스를 만드는 방법 알아보기

Java로 프로그래밍하는 방법을 배우고 있다면 클래스를 만드는 방법을 알아야 합니다.

다음 읽기
관련 항목
  • 프로그램 작성
  • 자바
  • 코딩 튜토리얼
저자 소개 제롬 데이비슨(22개 기사 게재)

Jerome은 MakeUseOf의 스태프 라이터입니다. 그는 프로그래밍 및 Linux에 대한 기사를 다룹니다. 그는 또한 암호화폐 애호가이며 항상 암호화폐 산업을 주시하고 있습니다.

제롬 데이비슨이 참여한 작품 더보기

뉴스레터 구독

뉴스레터에 가입하여 기술 팁, 리뷰, 무료 전자책 및 독점 거래를 확인하십시오!

구독하려면 여기를 클릭하세요.