어떤 조건에 따라 명령 실행 순서를 바꾸거나 특정한 부분만 계속해서 반복하려면 조건문이나 반복문을 사용해야 합니다. 조건문은 명령을 실행하기 위해 조건을 체크하는 문으로, 앞에서 공부한 논릿값, 비교 연산자 등이 중요하게 사용됩니다.
if 문, if...else 문
프로그램 소스는 작성된 순서대로 명령을 실행하는 것이 아니라 조건에 따라 명령을 실행하는 경우가 많습니다.
그래서 프로그래밍에서 조건문은 자주 사용하게 됩니다.
if 문
if 문은 if 다음에 소괄호를 사용해서 조건을 표기합니다.
그리고 조건을 체크한 후 결괏값이 true이면 if 문에 있는 명령(들)을,
false이면 if 문에 있는 명령은 건너뛰고 그 다음 명령을 실행합니다.
if문이란, if예약어의 다음에 오는 중괄호({ })로 묶은 명령을 가리킵니다.
기본형
if (조건){
조건이 true일 때 실행할 명령(들)
}
if..else 문
조건을 체크한 후 true일 때 처리할 명령과 false일 때 처리할 명령이 따로 있다면 if 문과 else뭉늘 사용합니다.
또한 if...else 문 안에 또 다른 if 문이나 if...else 문을 사용할 수도 있습니다.
기본형
if (조건){
조건이 true일 때 실행할 명령(들)
} else {
조건이 false일 때 실행할 명령(들)
}
또는
if (조건) {
조건이 true일 때 실행할 명령(들)
}
else {
조건이 false일 때 실행할 명령(들)
}
조건 연산자
조건이 복잡하지 않고 true와 false가 명확할 경우 if 문을 사용하지 않고 조건 연산자만으로 조건을 체크할 수도 있습니다.
조건 연산자 ?와 :을 사용해서 조건과 실행할 명령을 지정하는데, 소스 코드를 간결하게 만들어 주므로 조건을 체크할 때 매우 유용합니다.
기본형
(조건) ? true일 때 실행할 명령 : false일 때 실행할 명령
switch문
체크해야 할 조건값이 많을 경우에는 여러 개의 if...else 문을 사용하는 것보다 switch 문이 더 편리합니다.
switch 문 안에 있는 case 문에서 각 값에 따라 실행할 명령을 따로 구분하면 됩니다.
switch 문에 있는 조건은 case 중 하나에만 일치하고, case를 실행한 후에는 오나전히 switch 문을 빠져나옵니다.
지정해 놓은 case 문에 맞지 않으면 default 문에 있는 문장을 실행합니다.
다음 기본형을 살펴보면 default 문에는 break 문이 없다는 것을 알 수 있습니다.
기본형
switch (조건)
{
case 값: 문장
break;
case 값: 문장
break;
:
default: 문장
}
2개 이상의 조건 체크하기(조건or논리 연산자)
2개 이상의 조건을 체크해야 할 경우에는 앞에서 살펴본 논리 연산자를 사용해 조건식을 만들어야 합니다.
둘 다 true일 경우, 또는 둘 중의 하나만 true일 경우와 같이 여러 경우의 수를 따질 때 논리 연산자를 사용합니다.
- OR 연산자: 연산자 기호는 II를 사용하고, 2개의 피연산자 중 하나라도 true가 있으면 결괏값은 true가 됩니다.
- AND 연산자: 연산자 기호는 &&를 사용하고, 2개의 피연산자 중 false가 하나라도 있으면 결괏값은 false가 됩니다.
- NOT 연산자: 연산자 기호는 !를 사용하고, 피연산자의 값과 정반대의 값을 갖습니다.
op1 | op2 | op1 II op2 | op1 && op2 | !op1 |
false | false | false | false | true |
false | true | true | false | true |
true | false | true | false | false |
true | true | true | true | false |