이전글: [twee 기본] 2. 연산자 3 (삼항 연산자, 증감) + 연산자의 우선순위 / 다음글: [twee 기본] 4.반복문



프로그램을 프로그램답게 만드는 중요한 기본 요소1.




조건문이 뭘까?

운동장을 5바퀴 돌아야하는 대회가 있어.
출발 신호가 들리면(조건), 운동장을 달린다. (조건문)
운동장을 5바퀴 돌때까지(조건), 계속 뛴다. (반복문)

어떤 조건에 의해서 특정 행동을 하면 조건문,

조건에 따라서, 특정 행동을 계속 하면 반복문 이렇게 생각해도 좋아.


이번 글에서는 조건문을 다룰 예정이야.




1. if

가장 기본적이고 많이 쓸 조건문이야.

조건이 성립하면 명령을 실행하는거야.


<<if 조건>>: 조건문의 시작. 조건이 true면 다음 내용을 실행

<<elseif 조건>>: 위의 조건이 false이고, 현재 조건이 true면 다음 내용을 실행

<<else>>: 위의 모든 조건이 false일 때, 나머지 모든 상황에서 다음 내용을 실행

<</if>>: 조건문의 끝

조건문 링크에 있는 예시야.

전에 알려준 연산자는 기억하지?

이걸 풀어서 해석하면,
$affection이라는 변수가 75 이상이면 I love you!를 출력하고,
위 조건이 성립하지 않으면, $affection이 50 이상이면 I like you.를 출력하고,

위 조건도 성립하지 않으면, $affection이 25 이상이면 I'm okay with you.를 출력하고,

모든 조건이 성립하지 않을 때, Get out of my face.라고 출력하는 조건문이야.
만약 $affection이 40이라면, I'm ok with you. 이게 출력될거야.


코드를 이렇게 짰어.
a가 0보다 크면 a>0, a가 0과 같으면 a=0, 그 외 나머지는 a<0





이 경우에는 $hullBreached가 true면 안쪽의 조건문이 실행될거야.
false면, 다른 접근이 없으니까 그대로 조건문을 빠져나가겠지.



if문을 배웠으니 어디에 쓸 수 있을까?

여기에서 가져온 코드 일부야.

여기서 안알려준거 <<link>>랑 <span>, $feature[].~~() 빼면 if문이랑 set으로 되어있어.

저게 무슨 기능인지 간략하게 설명하자면, '날개'특성을 가지고 있으면 판매 기능을 넣고, 없으면 구매 기능을 넣은거야.
만약 비행이나 조그마함 특성을 가지고 있으면, 그에 따라서 포인트를 돌려주는 것도 있음.

저런 문제들을 if문으로 해결할 수 있어.




2. switch

한가지 식에 대해, 여러가지 값과 비교하여 실행하는 조건문.

만약 값이 일치하다면, 다음에 나올 내용을 실행해.


<<switch 식>>: 조건문의 시작. 식에는 변수가 될 수도 있음.

<<case 값1, 값2....>>: 다음 명령을 실행시킬 값

<<default>>: 모든 case의 값과 불일치할 경우 실행될 명령

<</switch>>: 조건문의 끝


만약 $hairColor가 "red"이거나, "auburn"이면 You ginger가 출력되고,

"black" 또는 "brown"이면, Dark haired, eh?가 출력되는거지.


<<default>>
beautiful color!
이게 있다고 하면, 위의 값들 외의 값이 나오면 beautiful color가 나올거고.


Q. 다음과 같은 상황에서 출력될 문장은 뭘까?


switch에는 '식'을 조건으로 함.
즉 위에선 10 * 6 = 60이니까, case 60을 찾아.

그래서 b가 출력이 돼.


switch문이 필요한 이유.

if문으로 대체가 가능하긴 한데, 똑같은 부분을 안써도 됨.

방금 썼던 switch문을 if문으로 바꾸면 다음과 같음

$a * $b ===  이부분이 계속 사용되고 있지?
식이 동일하게 반복되는 구간을 줄일 수 있음.
한가지 조건으로, 여러가지 갈래로 나눠야 할 경우, switch문이 좀 더 유리하지.

switch문은 어디에서 쓰이는지 if문에서 쓴거처럼 보여주려고 했는데,
사용했던 모든 구간이 코딩탭엔 적절하지 않은 것 같아서 넘어가겠음.