if 문

프로그래밍/JSP 2009. 3. 5. 17:08
if 문은 주어진 조건식의 참, 거짓 여부에 따라 실행되는 코드가 달라질 경우에 사용하는 제어문이다. if 문은 크게 세 가지 구조로 분류할 수 있다.

if 구조

if 구조는 조건식의 결과가 참인 경우에만 실행할 코드가 있을 경우 사용하며 형식과 순서도는 다음과 같다.

형식

if ( 조건식 ) {
    실행코드 1
}

사용자 삽입 이미지

if - flowchart

다음 프로그램 "if.jsp"과 결과를 살펴보자.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
int age = 17;

if ( age < 20 ) {
    out.println("미성년은 10%할인 혜택이 있습니다.");
}
%>
</body>
</html>

사용자 삽입 이미지

if.jsp 실행결과


위 프로그램은 int 형 변수 age에 초기값으로 17이 저장돼 있으므로 if 문의 조건식 "age < 20"의 결과는 "17 < 20"으로 참이 되므로 중괄호({ ~ }) 사이의 코드인

out.println("미성년은 10%할인 혜택이 있습니다.");

를 실행한다. 여기서 "out.println"은 java의 출력문으로 JSP에서 출력을 위해 "<%= ~ %>"과 함께 자주 사용되는 출력문 중에 하나다. 만약 변수 age에 20이상의 값이 저장됐다면 조건식이 거짓이 되어 실행결과는 아무 것도 출력되지 않는다.

if ~ else 구조

if ~ else 구조는 조건식의 결과가 참, 거짓에 따라 실행할 코드가 다른 경우 사용하며 형식과 순서도는 다음과 같다.

형식

if ( 조건식 ) {
    실행코드 1
}
else {
    실행코드 2
}

사용자 삽입 이미지

if~else - flowchart


다음 프로그램 "else.jsp"를 살펴보자.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
int age = 20;

if ( age < 20 ) {
    out.println("당신은 미성년 입니다.");
}
else {
    out.println("당신은 성인 입니다.");
}

%>
</body>
</html>

사용자 삽입 이미지

else.jsp 실행결과



위 프로그램에서 변수 age에 초기값 20이 저장되어 있고 이로인해 조건식 "age < 20"은 "20 < 20"으로 거짓이므로 esle 부분의 중괄호에 위치한 코드

out.println("당신은 성인 입니다.");

를 실행한다. 따라서 "당신은 성인 입니다"라는 메세지를 출력한다. 만약 age의 값이 18과 같은, 20보다 작은
수가 저장됐다면 조건식 "age < 20"가 "18 < 20"으로 참이 되므로

out.println("당신은 미성년 입니다.");

부분을 실행하여 "당신은 미성년 입니다."라는 메세지를 출력하게 된다.


if ~ else if ~ else 구조

if ~ else if ~ else 구조는 조건이 여러개인 경우 사용되며 형식과 순서도는 다음과 같다.

형식

if ( 조건식 1 ) {
    실행코드 1
}
else if ( 조건식 2 ) {
    실행코드 2
}
else if ( 조건식 3 ) {
    실행코드 3
}
else {
    실행코드 4
}

사용자 삽입 이미지

if~elseif~else - flowchart


else if 문을 이용 "수", "우", "미", "양", "가"를 출력하는 프로그램 "elseif.jsp"를 살펴보자.

<%@ page language="java" contentType="text/html; charset=EUC-KR"
    pageEncoding="EUC-KR"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=EUC-KR">
<title>Insert title here</title>
</head>
<body>
<%
int score = 87;

if ( score >= 90 ) {
    out.println("수");
}
else if ( score >= 80 ) {
    out.println("우");
}

else if ( score >= 70 ) {
    out.println("미");
}
else if ( score >= 60 ) {
    out.println("양");
}
else {
    out.println("가");
}
%>
</body>
</html>

사용자 삽입 이미지

elseif.jsp 실행결과


위 프로그램에서 변수 "score"에 초기값으로 87(점)이 저장되어 있는데, 첫 번째 조건식 "score >= 90"은 "87 >= 90"이 되어 거짓이 되므로 다음 조건식 "score >= 80"을 비교하게 된다. 이 조건식은 "87 >= 80"이 되어 참이 되므로

out.println("우");

을 실행 "우"를 출력한 후 프로그램을 종료한다. 만약 변수 "score"에 50(점)이 저장되어 있다면 모든 위 프로그램의 모든 조건식이 거짓이 되어 마지막 else 부분의 코드를 실행 "가"를 출력할 것이다.

'프로그래밍 > JSP' 카테고리의 다른 글

for 문  (0) 2009.03.09
switch 문  (1) 2009.03.09
설명문  (0) 2009.03.04
연산자  (0) 2009.03.03
변수, 상수, 자료형  (0) 2009.03.03
AND