"bool" 데이터 유형은 논리적으로 true 또는 false를 생성합니다.
논리/부울 연산자
논리/부울 표현식
if(<boolean expressions>) { .....<block> }
<boolean expressions>
에는 평가할 단일 또는 복잡한 표현식이 포함됩니다. <block>
<boolean expressions>
참으로 평가되는 경우에만 실행되는 코드 블록을 의미합니다.
더 많은 불리언 표현식:
불리언 표현식 | 의미 |
만약 (x == 10) | x가 10인 경우 |
만약 (x <= 10) | x가 보다 작고 10인 경우 |
if (x > 10 || y > 20) | x가 10보다 큰 경우 또는 y는 20보다 큽니다. |
만약 (x <= 10 && y <= 20) | x<=10 이고 y<=20인 경우 |
만약 !(x > 10 || y > 20) | x<=10 이고y<=20인 경우 |
if ( !( x <=10 || x >=20) ) | x>10 및x<20인 경우 |
부울 표현식을 사용할 때는 특별한 주의를 기울이십시오!
부울 유형(bool)은 단순한 정수 값입니다.
if (... )
어떻게 해석되는지 살펴보겠습니다.
-
if (...)
컴파일러에 의해 계산됩니다. 그것은 참 또는 거짓의 의미를 만들어냅니다. - 진실은: ( ... )가 0(즉, 0) 이외의 값을 생성할 때
if ( .... )
true를 의미한다는 것입니다. - 따라서 다음 표현식은 항상 true입니다.
- 만약 (1)
- 만약 ( 10 )
- if(아무것도 0이 아닌 결과를 얻음)
주의해야 할 일반적인 오류:
예시 1:
정수 X = 10, Y=20; if (X = Y) Brain.Screen.print("X와 Y는 같습니다.”); else Brain.Screen.print("X와 Y는 다릅니다.”);
출력: X와 Y는 동일합니다.
왜?
if (X = Y)
실제로 다음을 의미합니다.
- Y를 X에 할당하면 X의 값은 20이 됩니다.
- 컴파일러는 이를 (20)인 것처럼 해석합니다. 여기서 (20)은 (0)이 아니므로 참입니다.
예 2:
정수 X = 0, Y=0; if (X = Y) Brain.Screen.print("X와 Y는 같습니다.”); else Brain.Screen.print("X와 Y는 다릅니다.”);
출력: X와 Y는 다릅니다.
왜?
if (X = Y)
실제로 다음을 의미합니다.
- Y를 X에 할당하면 X의 값은 0(영)이 됩니다.
- 컴파일러는 이를 (0)을 false로 해석합니다.