반복문
- 조건을 만족하는 동안 동일한 코드블럭이 실행됨.
1. While문
- 조건식이 true인 동안 while문 블록을 반복 실행
- 조건식이 false이면 블록을 실행하지 않음
int a=0;
while (a<10){
a += 2;
}
System.out.println(a); //10
/*
*a에는 2, 4, 6, 8, 10이 순서대로 할당
* a가 8일 때 a += 2가 실행되어 a에 10이 할당
* 그리고 조건(a<10)으로 되돌아가면, 10<10은 false이기 때문에 while문이 종료
* 따라서 a의 값은 10
*/
2. do ~ while문
- while문과 비슷하나, do의 코드블록을 최초에 우선 실행한다는 점에서 차이가 있음
- do의 코드블록 실행 -> while 조건식 검사 -> 조건식이 true 인 동안 while문의 코드블록을 실행
int sum = 0;
int num = -2;
do {
sum += num;
num += 2;
} while (num >= 0 && num <= 10);
/*
*sum: num을 누적 합산.(-2, 0, 2, 6, 12, 20, 30)
*num: 2씩 증가(0, 2, 4, 6, 8, 10, 12)
*/
2. for문
- 초기화식, 조건식, 증감식에 따라 반복 제어
int a = 0;
// for(초기화; 조건; 증감)
for(int i=0; i<10; i++){
a += i
}
/*
* 초기화식(int i=0): 임의의 변수 i에 0을 초기화
* 조건식(i<0): i가 10보다 작을 동안 반복
* 증감식(i++): 코드 블록이 실행 종료될 때마다 i의 값을 1씩 증가
*a는 0, 1, 3, 6, 10, 15, 21, 28, 36, 45로 반복 초기화.
*/
반복문의 탈출
- break와 continue를 상황에 맞게 활용
1. break문
- break문을 만나는 즉시 반복문을 중단, 반복문 블록을 빠져나감
int sum = 0;
int limit = 3;
for (int i=1; i<=5; i++{
if (i > limit){
break;
}
sum += i;
}
/*
* i가 4일 때 break를 만나고, 반복문을 빠져나간다.
* 따라서 a는 1, 3, 6으로 초기화
* i가 3일때 sum +=i, 즉 3+3=6으로, a에 6이 할당
* >>이후 i++연산이 실행 i의 값은 4
* >> 4 > 3이므로 if 조건을 만족하고, break문을 만나 반복 중단
*/
2. continue문
- continue문을 만나면 해당 코드블록은 중지하고 다음 반복 순서로 넘어감
int sum = 0;
int notExecute = 3;
for(int i=1; i<=5; i++){
if (i == notExecute){
continue;
}
sum += i;
}
/*
*i 값이 3일 때, sum += i 문장을 실행하지 않음. 즉, 3을 더하지 않음.
*따라서 sum은 1, 3, 7, 12로 초기화.
*/
'Language > java' 카테고리의 다른 글
java 기초 6: 참조 변수 (0) | 2023.01.04 |
---|---|
java 기초 5: 클래스와 객체 (0) | 2023.01.03 |
java 기초 3: 조건문(if, switch) (0) | 2023.01.02 |
java 기초 2: 연산자와 항 (0) | 2023.01.02 |
java 기초 1: 기본 타입과 상수, 타입변환 (0) | 2023.01.02 |