반복문은
구문을 반복해서 수행할 수 있도록 하는 구문입니다.
동일한
연산을 반복할 경우 반복문을 사용하면 작업이 훨씬 수월해지고 코드도 간편해 집니다.
반복문은
Boolean 형태를 사용하는 while과 증가식 형태의 for문이 있습니다.
[for문]
for(초기값; 조건; 증가 형태) {
실행문;
}
for문은 세개의 파라메터를 가집니다.
첫번째
파라메터는 초기값으로 반복문이 시작되는 시작점이 됩니다.
두번째
파라메터는 조건으로, 조건이 참일경우 반복문이 실행됩니다.
마지막
파라메터는 증가 형태를 나타냅니다.
오른쪽의
예제는 배열의 모든 요소를 출력하는 반복문입니다.
자주
사용되는 유용한 구문이니 잘 숙지하시기 바랍니다.
예제
var dayArr:Array = new Array();
dayArr = ["Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat"]
for(i=0; i<dayArr.length; i++){
trace(dayArr[i]);
}
이
예제를 보면 배열을 사용하고 있는데 배열의 요소들을 반복문으로 출력할 수 있음을 보여주고 있습니다.
배열
관련된 공부는 배열부분에서 더 자세하게 다루도록 하겠습니다.
예제
//원하는
수까지의 덧셈을 구하는 예제
//액션 3.0은 데이터형이 엄격하게 적용되기 때문에 계산을 할때는 숫자형으로 바꾸어주고 텍스트필드에 뿌려줄때는 문자열로 정확히 바꾸어 주어야 합니다.
//액션 3.0은 데이터형이 엄격하게 적용되기 때문에 계산을 할때는 숫자형으로 바꾸어주고 텍스트필드에 뿌려줄때는 문자열로 정확히 바꾸어 주어야 합니다.
c_btClick.addEventListener(MouseEvent.MOUSE_DOWN,
mouseDownHandler);
function
mouseDownHandler(event:MouseEvent):void
{
var i: int;
var sumNum: int;
var endNum: int = int(inputText.text);
for(i=1; i<=endNum; i++)
{
sumNum +=i;
}
outputText.text = sumNum.toString(); //은 숫자이므로 문자열로 바꿈
}
{
var i: int;
var sumNum: int;
var endNum: int = int(inputText.text);
for(i=1; i<=endNum; i++)
{
sumNum +=i;
}
outputText.text = sumNum.toString(); //은 숫자이므로 문자열로 바꿈
}
[for~in문]
반복문에는
for ~ in문도 있습니다. 이 구문은 객체의 속성이나 배열을 반복 실행합니다.
예제를 실행해
보세요.
예제
var
myObj:Object = {age:20, city:"Seoul"};
for(var i in myObj){
trace(i+":"+myObj[i]);
}
//결과
//age:20
//city:Seoul
for(var i in myObj){
trace(i+":"+myObj[i]);
}
//결과
//age:20
//city:Seoul
[While문]
while(조건){
//실행문
}
while문은
조건이 있을 때 특정 액션을 반복합니다. 조건이 true일 때 반복되는 if문과 비슷합니다.
for문을
다르게 표현한 것으로 봐도 무방합니다.
코드블럭의
반복횟수를 잘 알지 못할 경우 while문을 사용하면 유용합니다.
예제
var
i:int = 0;
while(i<5){
trace(i);
i++;
}
//결과는
0,1,2,3,4
[do~while
루프]
do~while문은
조건 평가를 do문으로 하고 수행합니다.
while문과
다른 점은 루프가 항상 최소 한 번은 실행된다는 것입니다.
do{
//실행문
}while(조건)
예제
var i:int=0;
do{
if(i>5){
continue;
}
trace(i);
}while(++i<10);
if(i>5){
continue;
}
trace(i);
}while(++i<10);
[반복문
탈출]
반복문을
실행하다가 탈출할 때는 break문과 continue문을 사용합니다.
1.
break문을 만나면 반복문을 탈출합니다.
for(var
k:uint=0; k<10; k++){
trace(k);
if(k>=5){
break;
}
}
//결과는
1,2,3,4,5
2.continue문은
현재 수행되는 반복문만 빠져나가고 다시 반복문을 수행합니다.
이해를
돕기 위해 예제를 들겠습니다.
for(var
k:uint=0; k<10; k++){
if(k==5){
continue; //k의 값이 5일때만 빠져나가고 다시 반복문을 수행하러 감
}
trace(k);
}
//결과
: 0,1,2,3,4,6,7,8,9
5가
빠져나가지 않는 이유는 5가 되었을 때만 continue문이 수행되어 빠져 나갔기 때문입니다. 다음 반복문은 계속 됩니다.
'FLASH > AS3.0기초' 카테고리의 다른 글
타이머 (0) | 2012.10.25 |
---|---|
AS2.0 과 AS3.0의 대표적인 차이점 (0) | 2012.10.25 |
Object 클래스 (0) | 2012.10.25 |
Array (0) | 2012.10.25 |
String (0) | 2012.10.25 |
함수 (0) | 2012.10.25 |
선언문, 조건문 (0) | 2012.10.25 |
변수 (0) | 2012.10.25 |
절차적인 방법와 객체지향 방법의 차이점 (0) | 2012.10.24 |
Action Script 3.0의 새로운 기능 (0) | 2012.10.24 |