반복문이란 똑같은 내용을 계속해서 반복하거나, 같은 동작을 계속 반복해야할 때 코드의 길이를 줄이고 효율성을 극대화 하기 위해 이용한다.
- for문
- while문
- do~while문
사람이 처리하기에 부담스러운 반복적인 작업을 처리하기에 용이하다.
for ( 초기식 ; 조건식 ; 증감식) {
반복적으로 동작할 구문
}
(1) 초기식 : 최초로 초기식을 설정한다.
(2) 조건식 : 초기식을 설정한 다음에는 조건식을 판단한다.
(3) 반복적으로 동작할 구문 : 만약 조건식이 참이라면 반복적으로 동작할 구문을 1회 수행한다.
(4) 증감식 : 반복구문을 수행한 후 , 증감식으로 이동한다.
(5) 조건식 : 증감식을 수행한 후 , 다시 조건식으로 이동한다. 여전히 조건식이 참이라면 반복수행을 처리하고, 그렇지 않다면 for문을 종료한다.
"안녕하세요" 라는 문장을 10번 출력하기.
for(int i = 1; i < 11 ; i++) {
System.out.println("안녕하세요");
}
(1) 초기식 : int i = 1
(2) 조건식 : i < 11
(3) 반복적으로 동작할 구문 : System.out.println("안녕하세요");
(4) 증감식 : i++
(5) 조건식 : i < 11 이므로 1 ~ 10 회 출력 후 종료한다.
반복적인 처리를 수행하는 문법이다.
for문은 초기식 , 조건식 , 증감식을 모두 내장하는 반면 while문은 조건식만을 내장하기 때문에 초기식과 증감식을 외부에 따로 정의해야 한다.
조건식에 boolean값이 올 수 있다.
초기식
while ( 조건식 ){
반복적으로 동작할 구문
증감식
}
"안녕하세요" 라는 문장을 10번 출력하기.
int i = 1
while( i < 11 ){
System.out.println("안녕하세요");
i++;
}
조건의 판별을 나중에 수행하는 반복문의 형태
초기식을 설정한 후 do{...}안의 문장을 우선적으로 1회 실행하고 조건을 판별하므로,조건이 참이 아니더라도 최소 1회는 실행된다.
초기식;
do {
반복적으로 동작할 구분
증감식
} while (조건식) ;
"안녕하세요" 라는 문장을 10번 출력하기.
int i = 1
do{
System.out.println("안녕하세요");
i++;
}while( i < 11 );
증감식이 설정되지 않거나, 증감식이 수행되더라도 조건식이 거짓이 되지 않은 형태
조건식이 항상 참이므로, 반복문이 종료되지 않는다.
프로그램이 PC의 자원을 매우 많이 사용하게 되므로, 시스템 다운을 발생시킬 수 있다.
java 무한루프 예시
for( int i = 0; i<10; i-- ){
System.out.println(i);
}
while 무한루프 예시
while( true ){
System.out.println( "Hello" );
}
break
반복문 안에서 break 키워드를 만나면 반복을 강제로 종료한다.
continue
실행흐름이 증감식으로 강제 이동한다.
//1 ~ 100까지 홀수의 합.
int sum = 0 ;
int i = 0;
while(true) {
i++;
if (i % 2 == 0) {
continue;
}else if (i > 100){
break;
}else {
sum += i;
}
}
System.out.println(sum);
while문으로 무한루프 일 때,
if문에서 짝수일 경우에는 continue;
else if 문에서 i 가 100을 초과하는 경우에는 break
else 문에서 그 외의 경우에는 sum변수에 i를 누적해 더해준다.
else에는 홀수이며 100이하의 수만 더해지므로
1~100까지 홀수의 합을 구할 수 있게된다.