Java에서 자주 사용하는 반복문은 for문이 있지만 while 이나 do-while도 구조만 다를 뿐, 똑같은 기능을 가지고 있습니다.
기능은 같지만 선언 방법이나 사용법이 약간 다르기 때문에, 개발자 분들이 개인이 선호하는 반복문을 많이 사용합니다. (저는 for문이 좋아서 주로 for문만 사용합니다.)
while 선언방법
while(반복 조건){
반복되는 수행문;
}
while 문의 기본적인 조건은 위와 같으며
반복 조건에 해당 되는 부분이 False가 될 때까지 수행문을 무한 반복 합니다.
while 예제
public class Test1 {
public static void main(String[] args) {
int number = 0;
while(number < 10){
System.out.println("숫자는?: "+number);
number++;
}
}
}
위의 소스는 조건문의 number 10보다 클때 까지 이며
아래의 number 변수의 값을 출력하는 소스입니다.
do-while 선언방법
do{
반복되는 수행문;
}while(반복 조건);
public class Test1 {
public static void main(String[] args) {
int number = 0;
do{
System.out.println("숫자는?: "+number);
number++;
}while(number < 10);
}
}
while, do-while 차이점
똑같이 while 이 들어가는 반복문이지만 약간의 성향이 다른 점이 있습니다.
while은 조건이 앞에 do-while은 조건에 뒤에 붙는 다는 점인데요.
이는 처음 수행문이 반복될 때 조건이 맞지 않아도 do-while은 한번은 수행된다는 점이고 while은 조건에 맞지 않기 때문에 수행문이 한번도 실행되지 않는 다는 특성이 있습니다.
Break의 사용
while 같은 반복문을 중간에 종료시키고 싶을 때!
바로 break 문을 사용하면 간단하게 종료시킬 수가 있습니다.
int number = 0;
do{
if(number > 5){
break;
}
System.out.println("숫자는?: "+number);
number++;
}while(number < 10);
위와 같이 number 값이 5보다 크게 되면
break 문이 작동하여 while 문이 종료된 모습입니다.
continue의 사용
continue는 단어 그대로 지속한다는 뜻인데요.
이게 break 와 비슷한 점이 위의 구문을 만나면 하단의 로직은 break가 수행된 것 처럼 실행하지 않는 다는 특성이 있습니다.
int number = 0;
do{
if(number > 5){
System.out.println("continue:"+number);
number++;
continue;
}
System.out.println("숫자는?: "+number);
number++;
}while(number < 10);
number 값이 5를 초과하게 되면 continue 문을 만나게 되는데요.
이 구문을 만나게 되면, 이 구문까지 로직이 수행되고 다음 반복문으로 넘어가게 됩니다.
즉, 숫자는? 이라는 구문을 출력하지 않게 되는 것입니다.
for문과 다른 while과 do-while의 상황에 따라 맞춰서 쓰면 상당히 좋은 반복문이기 경우에 맞게 사용하면 좋을 듯 합니다.