이번에는 ASP의 제어문중에 IF문에 대해서 알아보겠습니다.
If ... Then ... End If 구조를 사용해서 조건에 따라 여러 구문을 실행할 수 있습니다.
예를들어 If문을 회원 로그인 기능에 사용한다면 아이디와 비밀번호가 맞으면 로그인이 되고 그렇지 않으면 로그인 오류를 출력합니다.
간단한 예제를 들어 설명하겠습니다.
------------------------------------------------------------------------------------------------------------
<%option explicit%>
<html>
<body>
<h3>if 문을 사용하여 숫자 크기 판별하기<hr noshade></h3>
<%
'변수선언
Dim intNum
intNum = 8 '변수값에 8을 지정
if intNum > 10 Then '첫번째 조건 만약에 intNum 이 정수 10보다 크다면
Response.Write "변수 intNum은 10보다 큰 정수입니다"
ElseIf intNum > 1 Then '두번째 조건 만약에 intNum 이 정수 1보다 크다면
Response.Write "변수 intNum은 1보다 크고 10보다 작은 정수입니다."
ElseIf intNum = 0 Then '세번째 조건 만약에 intNum이 정수 0과 같다면
Response.Write "변수 intNum은 0 입니다."
Else '위 조건에 해당되는 경우가 아무것도 없다면
Response.Write "변수 intNum은 0보다 작은 음수입니다."
End If
%>
</body>
</html>
------------------------------------------------------------------------------------------------------------
위 코드를 실행을 하면 다음과 같은 결과가 출력됩니다.
우선 코드를 설명하자면 제일 처음에 intNum 값을 8로 넣었습니다.
그 다음 If문으로 들어가게 되는데 첫번째 조건인 intNum 이 10 보다 크냐고 묻습니다.
intNum 값이 8 이므로 8 은 10보다 크다는 거짓이 되기때문에 Response.Write "변수 intNum은 10보다 큰 정수 입니다." 를 실행하지 않고
다음 조건으로 넘어갑니다.
ElseIf는 위 조건이 거짓이라면 현재 조건을 묻게 됩니다.
첫번째 조건이 거짓이니 두번째 조건을 검사를 하게 됩니다.
두번째 조건은 intNum 이 1보다 크냐고 묻죠?
현재 intNum 값이 8 이므로 8은 1보다 크다는 참이 되기때문에 Response.Write "변수 intNum은 1보다 크고 10보다 작은 정수입니다."를 실행을 하게 됩니다.
If문은 위에서부터 아래로 조건을 검사하면서 내려옵니다.
만약 특정 위치에서의 조건이 참이 되면 그 아래의 조건들은 묻지도 따지지도 않고 그냥 넘어가게 됩니다.
예를들어 2번째 조건이 참이고 3번째 조건도 참이라고 가정을 한다면
2번째 조건은 실행을 하지만 3번째는 실행을 하지않고 빠져나가게 됩니다.
쉽게 풀이하자면 위 예제 코드에서 세번째 코드인 intNum = 0 이 아닌 intNum > 0 이라고 가정을 한다해도 이미 2번째 코드에서 참을 만족했기 때문에 3번째 조건은 아예 묻지도 않고 넘어가게 됩니다.
마지막에 Else 는 모든 조건이 거짓일 경우 실행을 하게 됩니다.
즉 첫번째 두번째 세번째 조건이 모두 거짓일 경우 실행을 하게 됩니다.
제 설명이 어려웠는지 잘 모르겠네요.
잘 모르시는 부분은 댓글에 남겨주세요.^^
'IT 프로그래밍 > ASP' 카테고리의 다른 글
ASP 반복문 FOR문 기초 설명 (0) | 2014.01.25 |
---|---|
ASP select case 기초 설명 (0) | 2014.01.25 |
ASP 자료형 기초 설명 (0) | 2014.01.25 |
ASP 상수 기초 설명 (0) | 2014.01.25 |
ASP OPTION EXPLICIT 키워드 기초 설명 (0) | 2014.01.25 |