안녕하세요. 스마트 팩토리입니다.
자바기초 # 018. do- while 반복문 1부터 10까지 합 구하기 (디버깅)에 대해 알아보겠습니다. while문을 이해하면 당연히do- while문을 배우게 됩니다. 비슷한듯 하면서 다른 느낌입니다. 자주 사용하지 않지만 배우는 단계에서는 필수지 않나 싶습니다. 그냥 지나가기에는 아쉬운 부분이이서 포스팅해 보겠습니다.
1. do - while 반복문
가. do- while반복문 구조
do{실행문;}
while( 조건식);
do 이후에 실행문을 먼저 실행을 하고 다음에 while(조건식)을 만나게 됩니다. 그래서 한번은 실행문을 실행하게 됩니다. 마지막 결과값을 볼때 자칫 혼동하는 경우가 생길 수 있습니다.
나. do- while문 예시 : 1부터 10까지 합 구하기
while문과 차이점은 먼저 실행을 하고 다음에 조건을 생각합니다. 처음 시작은 조건의 참, 거짓과 상관없이 한번은 실행하게 됩니다. 그리고 그다음에 조건식을 판단하게 됩니다.
1부터 10까지 합을 구하는 문제로 당연히 누구나 55를 생각하게 됩니다.
55가 출력이 될때의 i 값은 10 아니라 11이 된다는 사실입니다.
do- while문에서는 while(조건식)다음에 꼭 ; 세미콜론을 찍어줘야 합니다.
while문에서는 아시다 시피 ;을 넣지 않고 바로 { 실행문}이 진행되기 때문입니다.
package operation;
public class Ex01_022dowhile2 {
public static void main(String[] args) {
int i=0, sum=0;
System.out.println("1부터 10까지 합을 구하겠습니다.");
do { sum+=i;
i++;
}
while (i<=10);
System.out.println("1부터 10까지 합은 >>"+sum);
}
}
do while문에서의 i 값을 보면 10이 아니라 11이라는 사실입니다. 물론 그렇다고 해서 sum에서 11까지 더해진 것이 아니라 10까지 더해진 값입니다.
다. 디버깅으로 보기
디버깅으로 보기 위해서 토글키로 브레이크 포인트를 설정하였습니다.
왼쪽 파란색 부분에 토글이 생겼습니다. (마우스로 원하는 부분을 더블 클릭하면 됩니다. )
토글을 설정하면 Window-->Show view-->Variables창을 활성화 합니다.
창이 열리면 디버깅 시작을 위해서 f11을 누릅니다. 이후 브레이크 포인트에서 진행하기 위해서 f8을 눌러주면 resume가 됩니다.
변수 창을 보면서 프로그램을 진행하면 코드가 진행하면서 결과값이 변하는 것을 볼 수 있습니다.
천천히 어느 단계인지 코드와 변수값을 보면서 이해하면 조금더 디테일하게 흐름을 볼 수 있습니다.
서서히 10까지에 도달하고 있습니다.
i 값이 11이 되지만 sum은 당연히 10까지 합으로 마무리 됩니다.
그래서 끝까지 오면
마지막 출력 함수를 통한 결과값 1부터 10까지 합은 >>55가 나오는 것을 볼 수 있습니다.
댓글