야매강좌 php8강 : IF문

야매강좌 php8강 : IF문

 

오늘은 if문[이프문]에 대해서 배워보겠습니다. if문은 프로그래밍을 한다면 다 알아야하는겁니다.

 

(1) IF문은 중요해

만약 어떤 사람이 제게 “프로그래밍을 처음 배우는데 어떤 언어를 배울까요”라고 물어본다고 합시다.

저는 C(또는 VC++)와 자바를 배우라고 하겠습니다. 물론 저는 C도 못하고 자바도 못합니다.

심지어 저는 php도 못하죠. 하지만 강의를 하고 있네요.

전 야매니까요.

 

어쨋든 계속 말을 이어가자면, “프로그래밍을 처음 배우는데 어떤 개념을 배울까요”라고 물어본다고 합시다.

저는 변수와 if문을 배우라고 하겠습니다. 그만큼 중요하단 뜻이죠.

 

(2) IF문은 어떻게 생겨먹었나

if문을 어떻게 쓰는지는 언어마다 다릅니다. Basic, C, 자바 모두 다르게 생겼죠.

그러니까 자세한 문법같은 건 상관치 않고 가르치겠습니다. 역시 야매강좌..

 

아무튼 if문은 ‘조건분기’라고 보면됩니다. 아래를 봅시다. 

if(조건)

{

내용

}

 

이런식으로 쓰는 겁니다.

조건을 만족하면, 내용을 실행하게 됩니다. 조건을 만족못하면 내용을 실행 안합니다.

 

예를 들어 이런거죠.

if(x == 0)

{

printf(“x는 0입니다”);

}

 

 

이 경우에, x가 0일 경우 “x는 0입니다”를 출력하게 됩니다.

printf는 C언어에서 쓰이는 건데 대충 출력함수라고 보면 됩니다.

 

그럼 출력했을까요 안했을까요?

출력했겠죠. 모든 변수의 초기값은 0이니까요.

 

이건 어떨까요. else[엘스]라는게 있습니다.

 

x == 2;

if(x == 1)

{

printf(“x는 1입니다”);

}

else

{

printf(“x는 1이 아니네요”);

}

 

맨 첫 줄에 x는 2라고 했으니, (x == 2;)

if문에서 조건을 만족하지 못하게 됩니다. 그러면 else 안의 내용을 실행하게 되죠. “x는 1이 아니네요”가 출력되게 됩니다.

 

정리하면, 

if(조건)

{

조건을 만족하면 실행할 것

}

else

{

조건을 불만족하면 실행할 것

}

 

요런 식으로 되는거죠.

 

그리고 elseif [엘스이프]라는 놈도 있습니다.

if(조건1)

{

조건1을 만족하면 실행할 것

}

elseif(조건2)

{

조건2를 만족하면 실행할 것

}

elseif(조건3)

{

조건3을 만족하면 실행할 것

}

else

{

조건을 다 만족 못하면 이걸 실행

}

 

이런식으로 쓰는 거죠.

이 구조를 잘 이해하셔야 합니다. 이건 모든 프로그래밍의 핵심이죠. if가 없다면 프로그래밍은 항상 일방향적이었을 겁니다.

 

이런걸 봅시다.

 

x = 5;

if(x > 1)

{

printf(“x는 1보다 큽니다”);

}

elseif(x > 2)

{

printf(“x는 2보다 큽니다”);

}

 

이러면 뭐가 출력될까요?

“x는 1보다 큽니다”가 출력됩니다. if의 조건을 만족해버렸기 때문에(x > 1)

첫번째 내용만 실행해버리고 elseif의 조건은 체크조차 하지 않습니다.

 

“x는 2보다 큽니다”는 영영 볼 수 없는거죠.

 

만약 여기까지 이해가 안되셨다면 찬찬히 돌아보시죠. 반드시 이해하고 갑시다.

 

됐나요?

 

이거 하나는 기억합시다. if문에서 else와 elseif는 있어도 그만, 없어도 그만이라는 점.

if문은 그러니까 이런식으로 쓸 수 있습니다.

 

(1) if 혼자

(2) if-elseif

(3) if-elseif-elseif

(4) if-elseif-elseif-elseif … (elseif가 몇 개든 상관없다. 엄청 많으면 문제 생기겠다만 요새 컴퓨터 사양을 생각하면 몇 백~몇 천개도 상관없을 듯)

(5) if-else (if의 조건을 미충족하면 else의 내용을 실행하는거다. 이 말이 이해가 안되면 다시 정독!)

 

(6) if-elseif-else (if 조건을 체크하고, 불만족시엔 elseif 조건을 체크하고, 또 불만족시엔 else의 내용을 실행한다)

(7) if-elseif-elseif-else

(7) if-elseif-elseif-elseif-…-elseif-else (if와 else 사이 elseif는 몇 개든 상관없다)

 

안되는 건 다음과 같죠.

(1) if-else-else (이딴건 안된다. if 한 번에 else를 두 번 쓰는건 안됨)

(2) if-if-else (이것도 안됨. if를 두 번 쓰는게 아니라 if-elseif 로 쓰자)

 

if에 대해 잘 아셨나요?

이프, 엘스이프, 엘스!

 

p.s 조건 검사는 요런식으로 합니다

같다 ==

다르다 !=  (베이직 언어에서는 <>)

a가 b보다 크다 a > b

이 정도?