IT 프로그래밍/JSP2014. 2. 1. 16:35

page 디렉티브의 contentType 속성은 JSP 페이지가 생성할 문서의 타입을 지정합니다. contentType 속성의 값은 다음과 같이 구성됩니다.



TYPE


또는


TYPE; charset=캐릭터 셋 


TYPE은 생성할 응답 문서의 MIME 타입을 입력합니다. JSP에서 주로 사용되는 MIME 타입으로는 "text/html", "text/xml", "text/plain"이 있습니다. 아래는 HTML 문서를 생성하는 경우 contentType 속성의 설정 예 입니다.



<%@ page contentType="text/html" %> 


contentType 속성을 설정하지 않을 경우 기본값은 "text/html" 입니다. 그리고 '; charset=캐릭터 셋' 부분은 생략이 가능합니다. 캐릭터 셋 부분을 생략할 경우 기본 캐릭터 셋인 ISO-8859-1을 사용하게 됩니다. 국내에서는 주로 한글로 구성된 HTML 문서를 생성하는 JSP 페이지를 작성하게 되는데, 한글로 구성된 HTML 문서를 생성할 때에는 다음과 같이 euc-kr 캐릭터 셋을 사용하게 됩니다. 참고로 캐릭터 셋을 입력할 때에는 대소문자를 구분하지 않습니다.



<%@ page contentType="text/html; charset=euc-kr" %>


또는


<%@ page contentType="text/html; charset=EUC-KR" %> 


UTF-8 캐릭터 셋을 이용하는 XML 문서를 생성하고 싶은 경우에는 다음과 같이 contentType 속성에서 "text/xml" MIME 타입을 사용하고 charset의 값으로 UTF-8 을 지정하면 됩니다.



<%@ page contentType="text/xml; charset=utf-8" %> 


캐릭터 셋을 올바르게 입력하지 않으면 응답 결과에서 글자가 올바르게 출력되지 않게됩니다. 예를 보도록 하겠습니다.



<%@ page contentType="text/html; charset=iso-8859-1" %>

<%@ page import="java.util.Date" %>

<%

    Date now = new Date();

%>

<html>

<head><title>현재 시간</title></head>

<body>

현재 시각:

<%= now %>

</body>

</html> 


실행을 해보시면 위 예제에서 '현재 시각' 이라는 부분이 글자가 제대로 표현이 안되는것을 확인 할 수 있습니다.


그리고 마우스 오른쪽 버튼을 클릭하시면 [인코딩] 이 보이는데 인코딩 들어가시면 서유럽어(ISO) 가 선택되어 있는것을 볼 수 있습니다. 그래서 '현재 시각' 이라는 한글이 제대로 표현이 안되는것 입니다.


한글로 제대로 표현을 할려면 위 예제에서 charset=iso-8859-1 을 charset=euc-kr로 변경해주시면 한글이 올바르게 나오는것을 확인할 수 있습니다.


다음 포스팅은 import에 대해서 알아보도록 하겠습니다.


Posted by 정윤문경아빠
IT 프로그래밍/JSP2014. 2. 1. 16:15

이번에는 page 디렉티브에 대해서 알아보겠습니다.


page 디렉티브는 JSP 페이지에 대한 정보를 입력하기 위해서 사용됩니다. page 디렉티브를 사용하면 JSP 페이지가 어떤 문서를 생성하는지, 어떤 자바 클래스를 사용하는지, 세션에 참여하는지, 출력 버퍼의 존재 여부와 같이 JSP 페이지를 실행하는 데 필요한 정보들을 입력할 수 있습니다. 아래 예제는 보도록 하겠습니다.



<%@ page contentType="text/html; charset=euc-kr" %>

<%@ page import="java.util.Date" %> 


위 코드는 두 개의 page 디렉티브를 보여주고 있으며, 각각 contentType 속성과 import 속성을 사용해서 JSP 페이지에서 필요한 정보를 설정하고 있습니다. PAGE 디렉티브는 이 두 속성외에도 페이지 정보를 설정하는데 필요한 속성을 추가적으로 제공하고 있으며, JSP 2.1 규약에서 정의한 page 디렉티브의 주요 속성은 다음과 같습니다.



속    성 

설    명 

기본값 

  language 

JSP 스크립트 코드에서 사용되는 프로그래밍 언어를 지정합니다. JSP 2.1 버전까지는 스크립트 언어로서 자바만을 지원하고 있습니다. 

  java

  contentType 

JSP가 생성할 문서의 타입을 지정합니다. 

  text/html 

  import 

JSP 페이지에서 사용할 자바 클래스를 지정합니다. 

   

  session 

JSP 페이지가 세션을 사용할지의 여부를 지정합니다. "true"일 경우 세션을 사용하고 "false"일 경우 세션을 사용하지 않습니다. 

  true 

  buffer 

JSP페이지의 출력 버퍼 크기를 지정합니다. "none"일 경우 출력 버퍼를 사용하지 않으며 "8kb"라고 입력한 경우 8킬로바이트 크기의 출력 버퍼를 사용합니다. 

  최소 8kb 

  autoFlush 

출력버퍼가 다 찼을 경우 자동으로 버퍼에 있는 데이터를 출력 스트림에 보내고 비울지의 여부를 나타냅니다. "true"일 경우 버퍼의 내용을 웹 브라우저에 보낸 후 버퍼를 비우며, "false"일 경우 에러를 발생시킵니다. 

  true 

  info 

 JSP 페이지에 대한 설명을 입력합니다. 

 

  errorPage 

JSP 페이지를 실행하는 도중에 에러가 발생할 때 보여줄 페이지를 지정합니다. 

 

  isErrorPage 

현재 페이지가 에러가 발생될 때 보여지는 페이지인지의 여부를 지정합니다. "true"일 경우 에러 페이지이며, "false"일 경우 에러 페이지가 아닙니다. 

  false 

  pageEncoding 

JSP 페이지 자체의 캐릭터 인코딩을 지정합니다. 

 

  isELIgnored 

"true"일 경우 표현 언어를 지원하며, "false"일 경우 표현언어를 지원하지 않습니다. 기본값은 web.xml 파일이 사용하는 JSP 버전 및 설정에 따라 다릅니다. 

 

  deferredSyntaxAllowedAsLiteral 

#{문자가 문자열 값으로 사용되는 것을 허용할지의 여부를 지정합니다. 

  false 

  trimDirectiveWhitespaces 

출력 결과에서 템플릿 텍스트의 공백 문자를 제거할지의 여부를 지정합니다. 

  false 


isELIgnored 속성은 JSP 2.0 버전에 새롭게 추가된 속성이며, deferredSyntaxAllowedAsLiteral 속성과 trimDirectiveWhitespaces 속성은 JSP 2.1에 새롭게 추가된 속성입니다.


위 표에서의 속성중에서 주로 사용되는 속성은 contentType 속성과 import 속성입니다.


contentType, import 속성에 대해서는 다음 포스팅에서 다루도록 하겠습니다.


Posted by 정윤문경아빠
IT 프로그래밍/JSP2014. 2. 1. 15:53


디렉티브는 JSP 페이지에 대한 설정 정보를 지정할 때 사용되며, 다음과 같은 구문을 통해서 디렉티브를 선언할 수 있습니다.



<%@ 디렉티브이름 속성1="값1" 속성2="값2" ... %> 


디렉티브는 '<%@' 으로 시작하고 그 뒤에 디렉티브 이름이 위치합니다. 사용하려는 디렉티브에 따라서 알맞은 속성이 위치하며, '%>'로 디렉티브 선언이 끝나게 됩니다. 간단한 예를 보도록 하겠습니다.



<%@ page contentType = "text/html; charset=euc-kr" %> 


여기서 디렉티브 이름은 'page'가 되고, contentType이라는 속성을 사용했으며, contentType속성의 값은 "text/html; charset=duc-kr"이 됩니다.


현재 JSP가 제공하는 디렉티브는 아래와 같습니다.


 디렉티브

 설    명

 page

 JSP 페이지에 대한 정보를 지정합니다. JSP가 생성하는 문서의 타입, 출력 버퍼의 크기, 에러 페이지 등 JSP 페이지에서 필요로 하는 정보를 입력합니다.

 taglib

 JSP 페이지에서 사용할 태그 라이브러리를 지정합니다.

 include

 JSP 페이지의 특정 영역에 다른 문서를 포함시킵니다.




page, taglib, 디렉티브에 대한 자세한 설명은 다음 포스팅에서 보도록 하겠습니다.

Posted by 정윤문경아빠
IT 프로그래밍/ORACLE2014. 1. 26. 21:54

이번에는 having 에 대해서 알아보겠습니다.

 

글 읽기 전에 손가락 한번 꾸~욱 눌러주시면 감사하겠습니다.^^

 

 

select 절에 조건을 사용하여 결과를 제한할 때는 where 절을 사용하며, 그룹의 결과를 제한할 때는 having절을 사용합니다.

 

부서별로 그룹을 지은 후(group by), 그룹 지어진 부서별 평균 급여가 2000 이상인(having) 부서의 번호와 부서별 평균 급여를 출력하는 경우입니다.

 

select deptno, avg(sal) from emp group by deptno having avg(sal) >= 2000;

 

 

 

 

where절은 테이블에서 데이터를 가져올 때 특정 조건에 부합하는 자료만을 검색할 때 사용하는 절입니다. 반면 having절은 그룹 함수 사용 시 그룹 함수를 적용해서 나온 결과값 중에서 원하는 조건에 부합하는 자료만 산출할 때 사용하는 절입니다. where절에서 조건에 사용되는 컬럼은 단순 컬럼이고, having절에서 그룹 함수를 적용한 컬럼이 조건으로 온다고 생각하면 이해하기 쉬우실겁니다.

 

예제를 하나 더 보겠습니다.

 

select deptno, max(sal), min(sal) from emp group by deptno having max(sal) > 2900;

 

위 예제는 부서의 최대값과 최소값을 구하되 최대 급여가 2900 이상인 부서만 출력하라는 예제입니다. 결과는 아래와 같습니다.

 

 

 

 

이해가 되셨는가요?

 

어려운 부분이 있으시다면 댓글 남겨주세요.^^

Posted by 정윤문경아빠
IT 프로그래밍/ORACLE2014. 1. 26. 21:40

이번에는 오라클 group by 절에 대해서 알아보겠습니다.

 

글 읽기 전에 손가락 한번 꾸~욱 눌러주시면 감사하겠습니다.^^

 

 

 

어떤 컬럼 값을 기준으로 그룹함수를 적용해 줄지 기술해 주어야 할 경우에는 select 문에 group by 절을 추가하되 group by 절 뒤에 해당 컬럼을 기술합니다.

 

그룹 함수는 테이블에 아무리 행이 많아도 단 한 개의 결과값만을 산출합니다. 그러나 직원 중 가장 높은 급여값을 구하는 것이 아닌, 부서별 가장 높은 급여값을 구하고 싶을 때가 있습니다. 즉, 최대값이나 최소값, 합계, 평균 등을 어떤 컬럼을 기준으로 보고자 하는 경우입니다.

 

이때는 그룹 함수를 쓰되 어떤 컬럼값을 기준으로 그룹 함수를 적용할지 기술해야 합니다.

 

group by 절 뒤에 해당 컬럼을 기술하면 됩니다. 형식은 다음과 같습니다.

 

[형식]

select 컬럼명, 그룹 함수

from 테이블명

where 조건(연산자)

group by 컬럼명;

 

합계, 평균, 최대값이나 최소값 등을 어떤 컬럼을 기준으로 그 컬럼의 값을 개별적으로 보고자 할 때 group by 절 뒤에 해당 컬럼을 기술하면 됩니다. group by절을 사용할 때 주의할 점은 group by절 다음에는 컬럼의 별칭은 사용할 수 없고, 반드시 기존에 있는 컬럼명을 기술해야 한다는 점입니다.

 

사원 테이블을 부서 번호로 그룹 지어 보겠습니다.

 

select deptno from emp group by deptno;

 

 

 

사원 테이블을 부서 번호로 그룹 짓기 위해서 group by절 다음에 부서 번호(deptno)를 기술하였습니다. 위 결과를 보면 사원들은 3개(10번, 20번, 30번) 중의 하나에 소속되어 있는 것을 알 수 있습니다.

 

사원 테이블에서 부서별로 평균 급여를 구하려면 우선 전체 사원을 소속 부서별로 그룹 지어 놓아야 합니다.

 

다음은 소속 부서별 평균 급여를 구하는 예제입니다.

 

select avg(sal) from emp group by deptno;

 

 

 

 

현재 직원들이 속한 부서는 10, 20, 30번부서 단 세 곳이므로 각각 10번, 20번, 30번 부서별 평균이 산출됩니다. 이대로 실행하면 의미 있는 정보가 산출이 될까요? 위의 결과값은 분명 3개 부서의 평균값, 3개의 로우가 산출됩니다. 하지만 각 평균 급여는 어느 부서의 평균값인지의 정보가 결여되어 있어 의미 있는 정보라고 하기는 어렵습니다.

 

어떤 부서의 평균인지를 알아보기 위해 아래와 같이 부서 번호인 deptno도 select절에 함께 기술합니다.

 

select deptno, avg(sal) from emp group by deptno;

 

 

 

 

그룹 함수를 적용하지 않은 단순 컬럼은 select 리스트에 함께 사용할 수 없습니다. 이유는 개수 문제로 매치가 불가능하기 때문입니다.

 

쉽게 예제로 설명을 드리겠습니다.

 

select deptno, ename, avg(sal) from emp group by deptno;

 

 

 

오류가 발생하게 됩니다.

 

그 이유는 deptno, ename, avg(sal)의 컬럼의 산출값이 틀리기 때문입니다.

 

그룹함수 사용 시 group by 절로 묶이지 않은 단순 컬럼은 select 리스트에 사용할 수 없고, 사용시 에러가 발생하므로 주의를 하셔야 합니다.

 

쉽게 설명을 한다고 적었는데 이해가 되셨는가요?

 

궁금하신점은 댓글에 남겨주세요~^^

 

 

Posted by 정윤문경아빠
IT 프로그래밍/ORACLE2014. 1. 26. 20:38

이번에는 그룹함수에 대해서 알아보겠습니다.

 

글 읽으시기 전에 손가락 한번 꾸~욱 눌러주시면 감사하겠습니다.^^

 

 

그룹 함수는 하나 이상의 행을 그룹으로 묶어 연산하여 총합, 평균 등을 하나의 결과로 나타냅니다.

 

우선 예제를 한번 보도록 하겠습니다.

 

select deptno, round(sal, 3) from emp;

 

결과는 다음과 같습니다.

 

 

 

 

위 결과를 보면 각 행에 대해서 함수가 적용되기 때문에 출력 결과가 함수를 적용하기 전과 동일하게 4개의 row로 구해집니다. 이러한 함수를 단일행 함수라고 하며 단일행 함수는 각 행에 대해서 함수의 결과가 구해지기 때문에 결과가 여러 개의 row로 구해집니다.

 

이번에는 그룹 함수를 이용해서 사원의 총 급여를 구해 보겠습니다.

 

select sum(sal) from emp;

 

 

 

 

그룹 함수의 결과는 사원이 총 4명인데도 결과는 하나의 행으로 출력됩니다.

 

다음은 그룹 함수의 종류를 정리한 표입니다.

 

 

 구분 

 설명 

 SUM 

 그룹의 누적 합계를 반환합니다. 

 AVG 

 그룹의 평균을 반환합니다. 

 COUNT 

 그룹의 총 개수를 반환합니다. 

 MAX 

 그룹의 최대값을 반환합니다. 

 MIN 

 그룹의 최소값을 반환합니다. 

 STDDEV 

 그룹의 표준편차를 반환합니다. 

 VARIANCE 

 그룹의 분산을 반환합니다. 

 

다음은 간단한 예제입니다.

 

평균 구하는 AVG 함수

select avg(sal) from emp;

 

최대값, 최소값 구하는 함수

select max(sal), min(sal) from emp;

 

row 개수 구하는 함수(count 함수는 null값에 대한 개수를 세지 않습니다.)

select count(comm) from emp;

 

크게 어려우신 부분은 없을듯 합니다.

 

다음 포스팅은 group by 절에 대해서 알아보겠습니다.

 

궁금하신 점은 댓글 남겨주세요~^^

 

 

Posted by 정윤문경아빠
IT 프로그래밍/JSP2014. 1. 26. 02:32

이번에는 JSP 에서 날짜 관련해서 알아보겠습니다.


글 읽기 전에 손가락을 꾸~욱 눌러주시면 감사하겠습니다.^^



첫번째로 오늘 날짜 알아내는 방법에 대해서 알아보겠습니다.


자바스크립트의 Date 내장 객체를 사용하면 오늘의 날짜를 알아낼 수 있습니다. 이를 위해서는 먼저 Date 객체로 변수 하나를 선언해야 하는데, 이때 매개변수는 전혀 지정하지 않아도 됩니다. 그런 후 다음 메서드를 통해 오늘 날짜의 년/월/일 등을 알아내면 됩니다.


참고로 이 날짜는 웹서비스를 제공하는 곳의 날짜가 아닌 웹브라우저를 사용하고 있는 pc의 현재 날짜 입니다.



 Date 객체의 메서드

 기능 

 getYear()

 년도 

 getMonth() 

 월(0 = 1월, 1 = 2월, ...) 

 getDate() 

 일 


예제를 보도록 하겠습니다.


<script language="Javascript>

today = new Date()

document.write("오늘 날짜는 ", today.getYear(), " 년 ", today.getMonth()+1, "월", today.getDate(), "일")

document.write(" 입니다. <p>")

</script>


중간에 today.getMonth()+1 이 조금 특이한듯 한데 today.getMonth() 리턴값이 0 부터 시작하기때문에 반드시 + 1 을 해주셔야 정상적으로 나오게 됩니다. 그 외에는 크게 특별한 부분이 없는듯 하네요.


두번째로 오늘 요일 알아내는것을 알아보겠습니다.


먼저 Date 객체로 변수 하나를 선언해야 하는데, 이때 매개변수는 전혀 지정하지 않아야 합니다. 그런 후 다음 메서드를 통해 오늘 날짜의 요일을 알아내면 됩니다.


여기에서 나오는 요일 역시 내 자신의 pc의 현재 요일입니다.



 Date 객체의 메소드 

 기능 

 getDay() 

 요닐(0 = 일요일, 1 = 월요일, ...) 


예제를 보도록 하겠습니다.


<script language="JavaScript">

today = new Date()

switch(today.getDay()){

case 0 :

document.write("오늘은 일요일입니다.")

break

case 1 :

document.write("오늘은 월요일입니다.")

break

case 2 :

document.write("오늘은 화요일입니다.")

break

case 3 :

document.write("오늘은 수요일입니다.")

break

case 4 :

document.write("오늘은 목요일입니다.")

break

case 5 :

document.write("오늘은 금요일입니다.")

break

case 6 :

document.write("오늘은 토요일입니다.")

break

}


</script>


실행결과는 오늘이 일요일이라면 today.getDay()는 리턴값으로 0 을 내놓게 되고, 오늘이 수요일이라면 today.getDay()는 리턴값으로 3을 내놓게 됩니다.


크게 어려운부분은 없는듯하네요.


세번째는 현재 시간 알아내는것을 알아보겠습니다.


 Date 객체의 메서드 

 기능 

 getHours() 

 시 

 getMinutes() 

 분 

 getSeconds() 

 초 

getMilliseconds() 

 1/100초 


예제를 보도록 하겠습니다.


<script language="Javascript">

today = new Date()

document.write("현재 시간은 ", (today.getHours() >= 12 ? "오후 ":"오전 "), today.getHours(), "시 ", today.getMinutes(), "분 ", today.getSeconds(), "초 ", today.getMilliseconds())


document.write("입니다. ")

</script>


음...보기에는 조금 긴것같은 느낌이 드네요.


우선 처음에 (today.getHours() >= 12 ? "오후 ":"오전 ")  이것은 현재 시간이 12보다 크거나 같으면 참일경우 오후라고 표시되고 거짓이면 오전이라는 의미입니다. 


지금 제가 포스팅을 작성하고 있는 시점에 나오는 결과 화면은 "현재 시간은 오전 2시 30분 11초 720입니다." 라고 나오네요.


너무 쉬운 부분이라서 특별히 어려우신 부분은 없으실겁니다.


이해가 잘 안되시거나 궁금하신거는 댓글 남겨주세요.^^

Posted by 정윤문경아빠
IT 프로그래밍/JSP2014. 1. 26. 00:54

이번에는 자바스크립트에서 for 문에 대해서 알아보겠습니다.


글을 읽기 전에 손가락을 꾸~욱 눌러주시면 감사하겠습니다.^^



for문은 주어진 조건이 만족되는 동안 코드를 반복해서 실행하게 됩니다. 단, for문은 처음 실행되기전에 초기화 작업을 한번 수행하고, 매번 실행이 반복될 때마다 증감식을 한번씩 실행하게 됩니다. 다음은 for문의 형식입니다.


for(i = 0; i < 10; i++){

......

}


여기에서 for문은 먼저 i 변수의 초기 값을 0으로 설정한 후, 이 변수 값이 조건을 만족시키는건지(10보다 작은지)를 체크하게 됩니다. 만약 조건을 만족하게 되면 코드를 실행하게 됩니다. 코드 실행 후에는 i++ 증감식에 의해 i 변수가 1로 바뀌게 됩니다. 그런 후 또다시 조건을 검사한 후 조건을 만족하게 되면 다시 한번 코드를 실행하게 됩니다. 이와 같은 방식으로 for문은 조건이 만족되는 동안 반복적으로 코드를 실행하게 되는 것입니다.


예제를 한번 보도록 하겠습니다.


<html>

<head>

</head>

<body>

1부터 10까지 제곱 구하기<p>

<script language="Javascript">

for(i = 1; i <=10; i++){  // 변수 i 의 값이 1부터 시작해서 10보다 크게 될때까지 계속 순환문 작동

document.write(i + "*" + i + " = " + i*i + "<br>")

}

</script>

</body>

</html>


결과는 다음과 같습니다.


1부터 10까지 제곱 구하기

 

1 * 1 = 1

2 * 2 = 4

3 * 3 = 9

4 * 4 = 16

5 * 5 = 25

6 * 6 = 36

7 * 7 = 49

8 * 8 = 64

9 * 9 = 81

10 * 10 = 100


이해가 되셨나요?


궁금하신 점은 댓글 달아주세요~^^


Posted by 정윤문경아빠
IT 프로그래밍/JSP2014. 1. 25. 20:57

이번에는 자바스크립트에서 do while 문 사용법에 대해서 알아보겠습니다.


글 읽기 전에 조금 귀찮더라도 손가락 한번 꾸~욱 눌러주세요.^^



do-while문은 while문과 마찬가지로 주어진 조건이 만족되는 동안 지정된 코드를 반복하여 실행하게 됩니다. do-while문은 다음과 같은 형식으로 사용됩니다.


do{

......

}while(조건)


do-while문이 while 문과 다른 점은 일단 문장을 한번 실행한 뒤에 조건을 체크한다는 것입니다. 먼저 코드를 실행한 후 조건을 체크하여 조건이 참이면 계속해서 코드를 실행하게 되고, 거짓이 되는 순간 do-while문을 벗어나게 됩니다.


예제를 한번 보도록 하겠습니다.


<html>

<head>

</head>

<body>

1부터 10까지 제곱 구하기<p>

<script language="Javascript">

i = 1  // 제곱근을 구할 변수 i 선언


do{

document.write(i + " * " + i + " = " + i*i + "<br>")

i++

}while(i < 11)  // i 값이 11보다 크거나 같아질때까지 계속 실행


</script>

</body>

</html>


결과는 다음과 같이 나오게 됩니다.


1부터 10까지 제곱 구하기

 

1 * 1 = 1

2 * 2 = 4

3 * 3 = 9

4 * 4 = 16

5 * 5 = 25

6 * 6 = 36

7 * 7 = 49

8 * 8 = 64

9 * 9 = 81

10 * 10 = 100

 


결과만 놓고 보면 앞전 포스팅한 while문과 크게 차이가 없을듯한데요. 차이점은 조건을 언제 검사하느냐 입니다. while문은 처음부터 조건이 거짓이면 안에 코드들을 실행은 안하지만 do-while 문은 일단 최소 한번은 실행을 하고 조건을 비교해서 계속 수행하는지 아니면 빠져나갈지를 결정하게 됩니다.

만약 처음부터 i 의 값을 12 로 선언을 했다면 while 문에서는 아무것도 출력이 안되고 종료가 되지만 do-while문은 12 + 12 = 144 라는 출력이 된다는 것이죠.


이해가 되셨는가요?


쉽게 설명을 한다고 나름 신경써서 작성을 했는데

 

모르시는 부분은 댓글 남겨주세요~


Posted by 정윤문경아빠
IT 프로그래밍/JSP2014. 1. 25. 20:30

이번에는 JSP 에서 while 문을 사용하는 방법에 대해서 알아보겠습니다.


글 읽기 전에 손가락 한번 꾸~욱 눌러주세요.^^




while문은 주어진 조건이 만족되는 동안 반복해서 코드를 실행하고 싶을 때 사용하는 반복 제어문입니다. while문은 다음과 같은 형식으로 사용됩니다.


i = 0

while(i < 300){

......

i++

}


while 문은 제일 처음 시작할때 조건을 참 거짓을 구분하고 참일 경우 while 문 안에 있는 코드들을 한번 실행하고 다시 조건을 참 거짓 판단하고 참이면 계속 코드가 실행이 되는 구조입니다. 조건이 거짓이 되면 while 문을 빠져나오게 됩니다.


위 형식을 보면 i 의 값은 0으로 시작합니다. 그리고 while 문을 한번 돌때마다 i 는 1씩 증가를 하게 됩니다. i 가 300 이 되는 순간 while 문을 벗어나게 됩니다. 즉 위에 같은 경우는 while 문이 300번 회전을 한다고 생각하시면 됩니다.


보다 자세한 예제를 보도록 하겠습니다.


<html>

<head>

</head>

<body>

1부터 10까지의 제곱 구하기<p>

<script language="Javascript">

i = 1  // i 를 1로 선언


while(i < 11){  // i 값이 11보다 크거나 같아질때까지 while문 계속 수행

document.write(i + " * " + i + " = " + i*i + "<br>")

i++  // i 값을 1씩 증가

}

</script>

</body>

</html>


결과는 이렇게 나오게 됩니다.


1부터 10까지 제곱 구하기


1 * 1 = 1

2 * 2 = 4

3 * 3 = 9

4 * 4 = 16

5 * 5 = 25

6 * 6 = 36

7 * 7 = 49

8 * 8 = 64

9 * 9 = 81

10 * 10 = 100


이해가 되셨는가요?


모르시는 부분은 댓글 남겨주세요~


Posted by 정윤문경아빠