if 문

By | 2009년 3월 5일

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 부분의 코드를 실행 “가”를 출력할 것이다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.