본문 바로가기

카테고리 없음

Java 4장-2 제어문이란??

반복문

반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용되며,
반복문의 종류로는 for문과 while문, 그리고 while문의 변형인 do-while문이 있다.

1. for문

for문은 반복 횟수를 알고 있을 때 적합한 반복문이다.
구조가 복잡하지만 직관적이라 오히려 더 이해하기 쉽다.

 

for(초기화;조건식;증감식){
	//수행될 문장
}

 

for문은 제일 먼저 초기화가 수행되고, 그 이후부터는 조건식이 참인 동안
조건식->수행될문장->증감식 순서로 계속 반복된다.
그러다가 조건식이 거짓이 되면 for문 전체를 빠져나오게 된다.

2. 중첩 for문

if문에 또 다른 if문을 넣을 수 있는 것처럼,
for문 안에 또 다른 for문을 포함시키는 것도 가능하다.

 

 

for(초기화;조건식;증감식){
	for(초기화;조건식;증감식){
		//수행될 문장 
	}
}

 

3. 향상된 for문

JDK1.5부터 배열과 컬렉션에 저장된 요소에 접근할 때 기존보다 편리한 방법으로 처리할 수 있도록
for문의 새로운 문법이 추가되었다.

 

for(타입 변수명: 배열 또는 컬렉션){
	//반복할 문장
}

 

아직 배열을 배우지 않았지만 향상된 for문이 있다.

 

밑에 코드는 향상된 for문을 사용하기 전 코드다.

 

int[] arr={10,20,30,40,50}; //int 형 배열 선언

for(int i=0;i<arr.length;i++){
	System.out.println(arr[i]); //배열의 요소 출력
}

 

향상된 for문을 적용한 코드다.

 

for(int tmp: arr){
	System.out.println(tmp); //arr의 배열 요소를 차례대로 tmp에 전달
}

4. while 문

for문에 비해 while 문의 구조는 간단하다. if문처럼 조건식과 블록 {} 만으로 이루어져 있다.
if문과 달리 while 문은 조건식이 참인 동안, 즉 조건식이 거짓이 될 때까지 블록{} 내의 문장을 반복한다.

 

while(조건식){
	//조건식의 연산결과가 참(true)인 동안, 반복 될 문장들을 적는다.
}

 

단, 만일 처음부터 조건식이 거짓이면 while문이 한번도 수행되지 않을 수도 있다.

 

다음은 for문을 while문으로 변경한 것이다.

 

//for 문
//초기화, 조건식, 증감식
for(int i=1;i<=10;i++){
	System.out.println(i);
}

//while 문
int i=1; //초기화

while(i<=10){ //조건식
	System.out.println(i);
	i++; //증감식
}

 

초기화와 조건식, 증감식이 분리되어 있기에 만일 반복을 할 때 초기화와 증감식이 없다면

while문이 for문보다 더 적합하다.

 

5. do-while 문

do-while문은 while 문의 변형으로 기본적인 구조는 while문과 같으나 조건식과 블록{}의 순서를 바꿔놓은 것이다.
while 문과 다르게 최소한 한번은 무조건 수행될 것이 보장된다.

 

do{
	//조건식의 연산결과가 참일 때 수행될 문장들을 적는다.
}while(조건식);

6. continue 문

continue문은 반복문 내에서만 사용될 수 있으며, 반복이 진행되는 도중에 continue문을 만나면
반복문의 끝으로 이동하여 다음 반복으로 넘어간다.

//3의 배수인 것은 제외하고 출력

for(int i=0; i<=10; i++){
	if(i%3=0)
		continue; // 조건식이 참이 continue문이 수행되면 블럭의 끝으로 이동한다. 
		//break문과 달리 반복문을 벗어나지 않는다.
	System.out.println(i);
}

 

전체 반복 중에 특정조건을 만족하는 경우를 제외하고자 할 때 유용하다.

 

 

 

 

 

이전 글

2021.10.24 - [분류 전체보기] - Java 4장-1 제어문이란??

 

다음 글

2021.10.24 - [분류 전체보기] - Java 5장 배열이란??