반복문
반복문은 어떤 작업이 반복적으로 수행되도록 할 때 사용되며,
반복문의 종류로는 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 제어문이란??
다음 글