본문 바로가기
Language/java

java 기초 4: 반복문(while, do~while, for)과 탈출(break, continue)

by S2채닝S2 2023. 1. 2.

반복문

- 조건을 만족하는 동안 동일한 코드블럭이 실행됨.

 

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

최근댓글

최근글

skin by © 2024 ttuttak