안녕하세요. 스마트팩토리입니다.
자바기초 # 016. while 반복문 무한루프- 1부터 10까지 합, 합이 100을 넘을때 i 값 구하는프로그램에 대해 알아보겠습니다. 프로그래밍 언어에서 반복문은 크게 for문과 while문이 있습니다. 서로 변환할 수 있기에 둘다 확실하게 알아 두어야 이후에 배울 배열에서 르게 이해할 수 있습니다. 말그대로 보자마자 흐름도를 파악해야 하는 구문입니다.
1. while 반복문
(1) while 반복문 구조
초기값
while (조건식)
{조건식이 참일때 수행할 문장;
증감식}
while 문은 바로 조건시이 제시되고 다음에 수행할 문장이 나옵니다. 당연히 while문 앞에 변수값이 제시되거나 조건이 참으로 진행되는 경우가 있어서 출력을 하는 경우도 있습니다. 예시를 보면서 파악해 보면 다음과 같스습니다.
(2) while 반복문 :
가. 1부터 10까지 합 구하기
while 문에 초기값이 먼저 제시 되고 i=1 선언과 초기화 되었습니다. while 에서 조건식이 거짓이 되면 바로 while문을 빠져 나갑니다.그래서 i=10일 때가 sum은 진행되어 결과적으로 i=1부터 10까지를 더하고 조건을 빠져나갑니다.
이후에 출력문을 실행되면서 1부터 10까지 합은>55가 나옵니다.
<값은 변화를 보기 위해서 디버깅을 실행해 보면 확실히 알 수 있습니다. >
package operation;
public class Ex01_021while {
public static void main(String[] args) {
int i=1,sum=0;
while(i<=10) {
sum+=i;
i++;}
System.out.println("1부터 10까지 합은>>>"+sum);
}
}
나. 1부터 10까지 합 구하기
조건식만 변경하여 10까지 합을 100까지 합까지 구할 수 있습니다.
출력문에서도 10을 100으로 변경하면 끝.~
package operation;
public class Ex01_03while {
public static void main(String[] args) {
int i=1,sum=0;
while(i<=100) {
sum+=i;
i++;}
System.out.println("1부터 100까지 합은>>>"+sum);
}
}
3. 합이 100을 넘었을때 i값과 합 구하는 프로그램
1부터 순차적으로 누적합계를 구하면서 100을 넘긴 다음에 수와 그때의 합을 구하는 프로그램입니다.
if조건문을 while문 안에 넣어서 빠져나오게 하면 됩니다.
if문을 반복문 전에 배우는 것은 아마도 반복문의 조건에 if문이 적용되는 경우가 많아서 입니다. 문제를 만들려고 하면 정말 많은 문제를 만들 수 있어서 예시도 정말 많습니다.
package operation;
public class Ex01_04while {
public static void main(String[] args) {
int i=1,sum=0;
while(i<=100) { ---> while문은 보라색까지
sum+=i;
if(sum>=100) { -->while문 안에 있는 구조입니다.
System.out.println("합이 100을 넘었을 때");
System.out.println(" i= "+ i+",sum(합)= "+sum );
break;
}
i++;}
//System.out.println("1부터 100까지 합은>>>"+sum);
}
}
<<디버깅으로 보기>>
위 프로그램은 결과값으로만 나오기 때문에 디버깅으로 변수값을 변화를 확인해 볼 필요가 있습니다.
토글키 브레이킹 포인트를 설정하기 위해서 위 파란색 부분을 더블 클릭하면 동그란 점이 생깁니다. 다시 한번 더블클릭하면 해제 됩니다.
토글키가 만들어지면 Window--> Show view--> Variables을 클릭합니다.
그럼 Variables 창이 활성화 됩니다.
그럼 디버깅( f11)을 눌러줍니다. 기존에 디버깅 없이 실행은 (ctrl+f11)입니다.
그럼 위에 있는 모니터 화면에서 변수값이 토글 브레이킹 포인트전까지 활성화되면서 변수값들이 변하는 것을 볼 수 있습니다. resume 는 f8입니다.
f8을 눌러주면 프로그램이 실행되면서 변수값이 변하는 것을 볼 수 있습니다.
우리가 원하는 값 근처에서 천천히 한컷 씩
i 값이 13일때 누적 합은 91이 됩니다.
while값을 나가기 전입니다.
i=14일때 sum은 105가 되는 것을 볼 수 있습니다.
우리가 원하는 값 즉 i=14, sum(합)=105가 출력되는 것을 알 수 있습니다.
'Java' 카테고리의 다른 글
자바기초 # 018. do- while 반복문 1부터 10까지 합 구하기 (디버깅) (0) | 2021.07.26 |
---|---|
자바기초 # 017. while 반복문 - 1부터 10까지 합, 합이 100을 넘을때 i 값 구하는프로그램(2) (0) | 2021.07.25 |
자바기초 # 015. 반복문(4)중첩 반복문 for문 : 구구단 전체 출력 프로그램 - 디버깅( f11)과 resume(f8)로 토글포인트 설정 (0) | 2021.07.23 |
자바기초 # 014. 반복문(3)for문- for문 안에 변수 2개 넣기, 구구단 2단 출력하기 (0) | 2021.07.22 |
자바기초 # 013. 반복문(2)for문 single loop 입력한 숫자만큼 문장 출력하기 (0) | 2021.07.21 |
댓글