본문 바로가기

JAVA

[JAVA] 기초문법 - 제어 흐름 이해하기(2)

반복문

주어진 조건이 만족 할 때까지 수행문을 반복적으로 수행함

while, do-while,for문이 있음

조건의 만족과 반복 가능 여부에 대해 정확한 코딩을 해야함.

while문

조건식이 참인 도안 수행문을 반복해서 수행

while(조건식){

수행문1;

}

수행문2;

조건식이 만족하지 않을때까지 반복문 안에 수행문1을 반복실행하고, 반복문을 빠져나온 후 수행문2 실행

반복문을 이용해서 1~10까지 더하기

int num=1;

int sum=0;

while(num<=10){

sum+=num;

num++;//반복문 종료를 위해서도 필요

}

System.out.println(sum);

num이 1씩 증가하면서 sum에 더해지다 11이 되는 순간 반복문 탈출 후 출력 총 10번 반복(1~10까지)

while(true){

//무한반복문(brake를 이용해서 탈출해야함.)

}

do-while문

do{

수행문1

}while(조건문){

수행문2

}

우선 수행문1을 무조건 실행하고 그 다음 조건을 비교해서 반복문 실행 먼저 한 번 실행한다는 점에서 while문과 차이

for문

반복문 중 가장 많이 사용하는 반복문

주로 조건이 횟수인 경우에 사용

초기화식, 조건식,증감식을 한꺼번에 작성

for(초기화식;조건식;증감식){

수행문;

}

ex)

int num;

for(num=1;num<=5;num++){

System.out.println(num)

}

//1에서 5까지 출력 num이 1부터 1씩 증가하며 출력됨. 조건 만족이 안될때 반복문 탈출

for문에 초기화식에 여러가지 변수 초기화 가능, 증감식 또한 여러가지 가능

초기화식과 증감식 부분 생략 가능 for(;조건식;){}

for(;;){}//무한 루프

while문

하나의 조건에 대해 반복수행이 이루어질떄 사용

조건이 맞지 않으면 수행문이 수행되지 않음

주로 조건식이 true, false로 나타남

do-while문

하나의 조건에 대해 반복수행이 이루어질 때 사용

단, 수행문이 반드시 한번 이상 수행됨.

for 문

수의 특정 범위, 횟수와 관련한 반복수행에서 주로 사용

중첩 반복문

반복문 내부에 또 반복문을 사용하는것

//구구단 출력 예제

for(dan=2;dan<=9;dan++){

for(times=1;times<=9;times++){

System.out.println(dan+"x"+times"="+dan*times);

//특별한 경우를 제외하고 초기화 식이 있어야함.

}

System.out.println();//단 구분을 위해 개행

}

continue문

반복문과 함께 쓰이며, 반복문 내부 continue문을 만나면

이후 반복되는 부분을 수행하지 않고 조건식이나 증감식을 수행함

//1부터 100까지 홀 수만 더하는 예제

for(num=1;num<=100;num++){

if(num%2==0){

continue;//증감식으로 돌아감.

}

total +=num;

}

break문

반복문에서 break 문을 만나면 더 이상 반복을 수행하지 않고 반복문을 빠져 나옴

중첩된 반복문 내부에 있는 경우 가장 가까운 반복문 하나만 빠져나옴

while(조건식1){

while(조건식2){

if(조건식){

break;//가장 안쪽 반목문만 탈출함.

}

}

}