자바 반복문
- for문: 반복 횟수를 알고 있는 경우에 사용
- while문: 반복 횟수를 알 수 없고 조건에 따라 반복 여부가 결정되는 경우에 사용
- do while문: 반복 횟수를 알 수 없고 조건에 따라 반복 여부가 결정되는 경우에 사용
1. for문
- 반복 횟수를 알고 있는 경우에 적합
초기문
- 조건식에서 사용하는 변수 초기화
- 콤마로 분리하여 여러 문장 나열 가능
- 초기문은 빈 상태로 두어도 되지만 세미콜론(;)은 있어야 됨
조건식
- 조건식으로 논리형 변수나 논리 연산을 사용
- 조건식이 true이면 반복 계속
- 조건식이 false이면 for문을 벗어남
- 조건식은 for문의 작업문을 수행하기 전에 검사됨
for(i=0; i<10; i++){ //i가 0에서 9까지 10번 반복됨
System.out.print(i); //0123456789 출력
}
for(초기문; true; 반복 후 작업){ //무한반복
...
}
for(초기문; ; 반복 후 작업){ //무한반복
...
}
- 조건식에 true가 있거나 조건식이 비어 있으면 무한 반복
반복 후 작업
- for문의 작업문 실행 후 반복 후 작업문이 실행
for(i=0; i<10; i+=2){ //i가 0, 2, 4, 6, 8로 변하며 5번 반복
...
}
for(i=0; i<10; i++, System.out.println(i)){ //i값을 1 증가시키고 증가된 값을 출력
...
}
- 반복 후 작업문을 콤마로 분리하여 여러 문장 나열 가능
작업문
- for문이 반복되는 동안 반복 실행
- 작업문이 한 문장일 경우 중괄호 불필요
- 작업문이 여러 문장일 경우 반드시 중괄호 사용
반복문 변수 선언
for(int i=0; i<10; i++){
System.out.println(i);
}
- 변수 i를 for문 내부에서만 사용하는 지역 변수로 선언할 수 있음
- i는 for문 밖에서 사용 불가
2. while문
- 반복 횟수를 알 수 없는 경우에 적합
- 조건식이 true인 동안 작업문 실행 반복
- 조건식이 false가 되면 while문에서 벗어남
- 조건식이 없으면 컴파일 오류
- 조건식에 사용되는 변수를 while문 실행 전에 초기화
- 반복이 진행되며 조건식이 false가 되도록 해야 함(그렇지 않을 시 무한반복)
i=0;
while(i<10){
System.out.print(i); //0123456789 출력
i++
}
3. do-while문
- 반복 횟수를 알 수 없는 경우에 적합
- 조건식 while문과 동일
- 조건식 없으면 컴파일 오류
- 작업문 실행 후 조건식을 검사하므로 작업문이 최초 한 번은 반드시 실행
- 조건식에 사용되는 변수를 while문 실행 전에 초기화
중첩 반복
- 반복문이 다른 반복문을 포함
- 이론적으로는 무한대로 중첩 가능
- 너무 많은 중첩 반복은 프로그램을 복잡하게 하므로 2~3중 중첩이 적당
continue문과 break문
- 반복문의 흐름을 바꾸거나 벗어나게 할 수 있음
1. continue문
- 반복문을 빠져나가지 않으면서 즉시 다음 반복으로 넘어갈 때 사용
continue;
2. break문
- 하나의 반복문을 즉시 벗어날 때 사용
break;
- break문을 사용하면 현재의 반복문을 벗어남
- 중첩 반복의 경우 break문이 사용된 반복문만 벗어남
예제 3-1 for문을 사용하여 1에서 10까지의 합 출력
예제 3-2 while문을 사용하여 -1이 입력될 때까지 입력된 수의 평균 출력
- 입력된 수의 개수를 출력
예제 3-3 do-while문을 사용하여 a부터 z까지 출력
예제 3-4 2중 중첩 for문을 사용하여 구구단 출력
예제 3-5 continue문을 이용하여 5개의 정수를 입력받고 그 중 양수들만 합하여 출력
예제 3-6 break문을 사용하여 "exit"이 입력되면 while문을 벗어나는 프로그램 작성