“ 지연되는 프로젝트에 인력을 더 투입하면 오히려 더 늦어진다. ”
- Frederick Philips Brooks
Mythical Man-Month 저자
조건문이란?
조건문은 명령을 실행하기 위해 조건을 체크하는 문(statement)입니다. 즉 조건에 따라 실행을 달라지게 할 수 있는 문장입니다. 프로그램 소스는 작성된 순서대로 실행되는 것이 아니라 조건에 따라 명령을 실행하는 경우가 많아서 조건문은 자주 사용하게 됩니다.
01. if문
먼저 if 조건문을 알아보겠습니다. if문은 if다음에 소괄호를 사용하여 조건을 표기합니다. 그리고 조건을 체크한 뒤 결과 값이 ture이면 if문에 있는 명령들이 false이면 if문에 있는 명령을 건너뛰고 그 다음 명령을 실행합니다. if 문이란 if예약어의 다음에 오는 중괄호로 묶은 명령을 가리킵니다.
if (조건) { 조건이 true일 때 실행하는 명령(들) }
예를 들어 비가 온다라는 조건이 생성되었고 그것이 참일 경우 우산을 가지고 간다로 if문이 나올 것이고 거짓일 경우 if문의 다음 명령어로 흘러갑니다.
02. if...else문
조건을 체크한 후 ture일 때 처리할 명령과 false일 때 처리할 명령이 따로 있다면 if문과 else문을 사용합니다. 또한 if...else문 안에 또 다른 if문이나 if...else문을 사용할 수도 있습니다. 정리하자면 조건식의 결과값이 거짓일 때 실행되는 조건문이며 else를 생략하면 아무것도 수행되지 않을 수 있습니다.
기본형
if (조건) { 조건이 ture일 때 실행할 명령(들)
} else { 조건이 false일 때 실행할 명령 (들) }
위의 if문 예제에 덧붙혀 if...else문을 쓴다면 거짓일 경우 우산을 두고간다. 라는 조건문이 수행됩니다.
03. 조건 연산자, 삼항 연산자
삼항 연산자는 if문으로 계속 쓰다 보면 복잡해 질 수 있는 소스를 효율성 있게 간단히 사용 할 수 있는 조건문입니다. 조건식 결과에 따라 연산결과가 달라집니다. 조건이 복잡하지 않고 ture와 false가 명확한 경우 if문을 사용하지 않고 조건 연산자 만으로 조건을 체크 할 수 있는데 이 때 ?와 :를 사용하해서 조건과 실행할 명령을 지정합니다.
(조건) ? ture 일 때 실행할 명령 : flase일 때 실행할 명령
if (num1 < num2) { small = num1; } else { small = num2; } |
이것을 조건 연산자로 작성하면 간단하게 한 줄로 표현 할 수 있습니다.
small = (num1 < num2) ? num1 : num2; |
03. 중첩 연산자 (else if)
1개의 값을 여러 조건으로 체크해야 할 때는 if문과 else if문을 사용하고 , 어떤 조건에도 맞지 않을 경우를 고려해 마지막에 else문을 사용할 수 있습니다. 이 때 마지막 else는 필수가 아니라 선택 사항입니다.
if (조건1) {
조건이 1일 맞을 때 실행할 명령
}else if (조건 2) {
조건2가 맞을 때 실행할 명령
}
.
.
.
else{
어떤 조건에도 맞지 않을 때 실행할 명령
}
이렇게 실행하게 되면 100일 경우 실행되었습니다 (1) ,(2),(3)이 뜨고 100이 아닐 경우 실행되었습니다.(4)가 뜨게 됩니다.