이럴때 이렇게 하고, 저럴땐 저렇게 하고..

여러가지 케이스를 나누어서 모든 경우의 수를 제어하는 알고리즘에 필요한 명령어입니다.

 

경우가 여러가지인 만큼 If 의 종류는 너무나도 많습니다.

이유는 수치를 비교해야할떄도 있고, 파일의 유무를 판단해야 할 수도 있고

그럴때마다 If 를 사용하기 때문이죠

 

하지만 가장 기본형인 If 만 알면 나머지는 따로 배울 필요도 없습니다. 다 파생된거라서요.

 

If 조건문

 

●조건문

If 조건문 은 조건문이 참일때 다음 명령어실행을 기본으로 합니다.

예제를 다 확인해보세요.

 

예제 #1 ( ; 이후에 오는 말은 주석입니다. 코멘트 같은거에요 소스실행할떄와 컴파일할때 무시합니다)

A := 5 ;A라는 변수에 5라는 숫자를 대입

If A = 5

MsgBox, A가 5가 맞네요

return

 

위처럼 한번만 비교할떄는 저렇게 끝나지만,

만약 A가 5가 아닐경우에 메시지박스를 띄우려면

 

If A <> 5 ; <> 은 아닐경우에 라는 뜻입니다

를 사용할수도 있고

 

If A = 5

MsgBox, A가 5가 맞네요

else

MsgBox, A는 5가 아닙니다

return

 

이렇게 할 수도 있습니다. 하지만 else는 예/아니오 처럼 단순한 이분법적인 분류만 가능해요

자세하게 케이스분류 하는방법은 아래 예제를 확인해보세요.

 

예제 #2                                                                                                                         

A := 10

B := 5

If A > B ;A가 B보다 크다면

MsgBox, A가 B보다 크네요

If A < B

MsgBox, B가 A보다 크네요

else

MsgBox, A와 B는 같습니다.

return

 

if A = 5 ; A가 5일때

if A <> 5 ; A가 5가 아닐떄

if A < 5 ; A가 5보다 작을떄

if A > 5 ; A가 5보다 클때

if A between 작은숫자 and 큰숫자 ; A가 작은숫자와 큰숫자 사이일때

  1. BreezeRabbit 2015.03.17 10:04 신고

    if (1 > a > 5 and 6 > b > 9)
    ..............
    a는 2~4까지이고 b는 7~8만 되었을때 실행해라

    이런 문은 안되는건가요?

    • BlogIcon 예지력 2015.03.17 13:11 신고

      if 문을 두번 사용하셔야해요
      또는 아래처럼 a + b 의 합을 이용해서 구할수도있겠죠?

      c := a + b
      if (c bettwen 9 and 12)

    • BreezeRabbit 2015.03.17 14:13 신고

      헛! 그런방법이 +_+ 우왕+_+
      감사합니다 ㅋ

  2. BlogIcon da 2015.07.20 23:20 신고

    예제 2번을 그대로 복사해서 만들어봤는데 A가 무슨값이든 항상 B가 더 크다고 나오네요 왜그럴까요??

    • BlogIcon 예지력 2015.07.21 13:35 신고

      코드에 오류는 없습니다.
      A = 1
      B = 2 으로 :뺀 변수로 확인해보세요.

  3. 짱짱맨 2015.09.15 14:56 신고

    else만 썼었는데 여기서 새로배우고가네요 감사합니다

+ Recent posts