본문 바로가기

자바

3-1. 반복문

1. for - 횟수가 정해진 경우에 많이 사용

 

 

for(초기문;  조건식; 반복 후 작업){

작업문

}

 

 

-초기문

 

-시작할 때 한번 수행

-콤마(,)로 분리하여 여러문장을 나열 할 수도 있다.

-초기문 비우는 경우도 있음

-초기문에서 변수 선언시 이것은 for문 내부의 지역변수로 취급됨. for문 벗어나서 쓸 수 없음

 

 

-조건식

 

-논리형 변수나 논리 연산만 사용 가능

-작업문이 실행되기 전에 조건식을 검사

-비워두면 true로 간주 됨

 

 

-반복 후 작업

 

-작업문이 실행된 뒤에 실행 됨

-콤마로 분리해서 여러문장을 나열 할 수 있음.

 

 

 

 

2. while문

 

while(조건식) {

작업문

}

 

 

-조건식에 사용할 변수는 while문 전에 선언과 초기화 필요

-무한 루프를 원하는게 아니라면 반복 진행 되면서 조건식을 false로 만들 수 있도록 설계되어야 함

 

 

 

 

3. do while 문

 

do {

작업문

} while(조건식)

 

 

-조건식 비워두면 컴파일 오류

-작업문 실행 후 조건식을 따지므로 작업문이 최초 한번은 반드시 실행 됨

-선언과 초기화가 반드시 이루어져야함

 

4. 반복문과 continue , break

 

 

-continue

 

 

continue;

 

-반복문을 탈출하지 않으면서 반복문 내의 작업문을 건너 뛸 때 사용

-그냥 쓰면 계속 뛰어넘어가니까 보통 if문 같은 분기문을 사용해서 특정 조건일 때 넘어가는 식으로 설계함

 

-break

 

break;

 

-반복문을 아예 탈출해서 다음코드로 넘어감

-역시 그냥 break만 쓰면 for구문 탈출 탈출하니까 if문 같이 조건을 걸어서 실행되도록 함. 

 

 

-LABEL을 이용한 continue와 break

 

continue LABEL;   //LABEL위치로 분기하라!       ------------1

break LABEL ;      //                "                   ------------2

 

 

보통 1의 경우는 중첩반복문을 쓸 때 외부 반복문으로 빠져나갈 때 쓰이고

 

2의 경우는 중첩 반복문을 한번에 벗어날 때 사용한다.

 

// 그러나 이 라벨로 분기하는 문장은 프로그래밍의 가독성을 떨어뜨리고 , 변수값 통제와 관련된 문제가 발생할 수 있으므로 가급적 사용 자제

 

 

그래도 개념이 그냥 바로 이해 되진 않으니

 

1의 예시

 

LABEL:

for(초기작업; 반복조건; 반복 후 작업) {

for(초기작업; 반복조건; 반복 후 작업) {

.................

continue LABEL;

................

}

}

 

이 경우는 LABEL 바로 다음,  빨간색으로 표시된 for구문의 반복 후 작업으로 이동

 

 

2의 예시

 

LABEL:

for(초기작업; 반복조건; 반복 후 작업) {

for(초기작업; 반복조건; 반복 후 작업) {

.................

break LABEL;

................

}

}

...................

이 두개 for구문의 바깥으로 탈출해버린다, 즉 빨간색으로 표시된 곳으로 이동

'자바' 카테고리의 다른 글