설명
if
문은 조건을 체크하기 위해 쓰며 조건이 'true’이면 따라오는 문 또는 문장 세트를 실행한다.
문법
if (condition) {
//statement(s)
}
매개변수
condition: 부울 식 i.e., true
또는 false
예제 코드
하나의 문 뒤에 중괄호를 생략할 수 있다. 그러면, 다음 줄(세미코론에 의해 정의 됨)만이 조건문이 된다.
if (x > 120) {
digitalWrite(LEDpin, HIGH);
}
if (x > 120) {
digitalWrite(LEDpin, HIGH);
}
if (x > 120) {
digitalWrite(LEDpin, HIGH);
}
if (x > 120) {
digitalWrite(LEDpin1, HIGH);
digitalWrite(LEDpin2, HIGH);
} // 모두 옳음
주의와 경고
괄호 안에서 계산되는 식은 아래에 보이는 하나 또는 이상의 연산자 사용이 필요하다.
비교 연산자:
x == y (x가 y와 같음) x != y (x가 y와 같지 않음 ) x < y (x가 y보다 작음) x > y (x가 y보다 큼) x <= y (x가 y보다 작거나 같음) x >= y (x가 y보다 크거나 같음)
실수로 등호 하나(e.g. if (x = 10)
)만 사용하는 것을 주의하세요. 등호 하나는 할당 연산자이고, x
를 10으로 설정. (값 10을 변수 x
에 넣음)
대신 등호 두개(e.g. if (x == 10)
) 사용해야 하는데, 이것은 비교 연산자이고, x
가 10과 같은지 아닌지 테스트한다.
뒤의 문은 x
가 10과 같을 때만 참이지만, 앞의 문은 언제나 참이다.
이것은 C++ 언어가 문 if (x=10)
를 다음과 같이 계산하기 때문: 10이 x
에 할당됨( 등호 하나는 (assignment operator) 임을 기억하세요). 그러면 'if' 조건은 10으로 평가되는데, 이것은 언제나 TRUE
으로 계산되는데, 왜냐면 0 아닌 모든 정수는 TRUE 로 평가되기 때문이다. 결과적으로 if (x = 10)
는 언제나 TRUE
으로 평가되며, 이것은 'if’문을 사용할 때 원하는 결과가 아니다. 게다가 x
는 10으로 설정되는데, 이것 역시 원하는 행동이 아니다.