on
JAVA - while 반복문을 사용해서 1부터 100까지의 합 구하기
JAVA - while 반복문을 사용해서 1부터 100까지의 합 구하기
이 글의 순서.
1. i와 sum의 값
2. 문제에 따른 while 조건문
3. 합의 값 sum
4. 출력문
5. i의 증감
6. 출력 결과
while 은 '~동안에'로 해석되는 단어로
for처럼 조건에 해당할 동안에 실행문을
반복하라는 반복문이다.
for(i=1; i<=100; i=i+1)
for반복문은 이렇게 초기값, 조건, 증감
3가지가 모두 나와야 한다.
하지만 while은
while(i<=100) 처럼
초기값, 증감이 없는 조건만 나올 수 있다.
대신에 for에서 괄호 안에 넣었던
초기값과 증감은 밖으로 빼준다.
1. i와 sum의 값
i의 값
1부터 100까지의 곱을 출력하는 것으로
i의 시작은 1이기 때문에 i=1 로 주었다.
sum의 값
1+2+3+4+5+ ... +100 이 진행되면
1+2 = 3
3+4 = 5
5+5 = 10
3, 5, 10 처럼 더해지는 값이 나오는데
이 때의 값을 sum이라고 지정해주었다.
가장 먼저 시작되는 i의 값은 1이고
1 혼자만 존재하므로 더해지는 값이 없기 때문에
합의 값은 0이다.
합의 값 0과 그냥 자기 자신인 1밖에 없다.
2. 문제에 따른 while 조건문
1부터 100까지의 합을 구하는 과정에서
1, 2, 3, 4, 5, ... ,100 각 숫자들은 i로 지정된다.
for반복문과 다르게 while반복문의 경우
괄호 안에 오직 조건만 올 수 있다.
i는 1부터 시작된다고 정해뒀으니
100까지의 합을 구해야 하므로
i는 100보다 작거나 같다 → i<=100
시스템이 반복해야 하는 조건이므로
while 괄호 안에 넣어서 실행해준다.
3. 합의 값 sum
sum의 시작 값은 0이었지만
이후부터는 달라진다.
i가 1일 때에는 0+1을 더한 값으로
sum = 0+1
→ sum(=0) + i(=1)
이 때 sum의 값은 1이 되었고
i가 2일 때에는 1+2를 더한 값으로
sum=1+2=3
→ sum(=1) + i(=2)
이 때 sum의 값은 3이 되었고
i가 3일 때에는 1+2+3을 더한 값으로
sum=3+3=6
→ sum(=3) + i(=3)
이 때 sum의 값은 6이 되었고
i가 4일 때에는 1+2+3+4를 더한 값으로
sum=6+4=10
→ sum(=6) + i(=4)
:
i가 100일 때에는 1+2+3+...+100을 더한 값으로
sum=1+2+3+...+100
→ sum(=1+...+99) + i(=100)
이렇게 sum은 자기 자신의 값에
i의 값을 더해가는 방식으로 값이 정해진다.
그렇기 때문에 sum = sum + i
4. 출력문
i + " 까지의 모든 정수의 합은 " + sum + " 이다."
반복문에 의한 출력 실행문은 이렇게 주었다.
큰따옴표 " "안의
까지의 모든 정수의 합은
이다.
이 2개는 큰 따옴표 " " 안에 있기 때문에
문자열로 인식되어 그대로 출력이 된다.
큰따옴표 없이 그냥 쓰인 i와 sum의 값은
내부적으로 문자열로 인식되어 값이 대입된 후
그대로 출력이 된다.
5. i의 증감
1, 2, 3 중 제일 바깥에 있는
1번을 내용이 가장 먼저 확인된다.
이후에 조건을 확인한 시스템은
밑으로 와서 System.out.println ~ 까지의
내용을 출력한다.
여기서 명령이 끝난다면 다시 1번으로 올라가게
되겠지만 아래의 3번이 있기 때문에
3번의 i = i+1의 내용을 확인한 후
다시 1번으로 올라가게 된다.
1 > 2 > 3 > 1 > 2 > 3 > 1 > 2 > 3 의 순서가
i가 100이 될 때까지 반복된다.
i의 1부터 100까지의 정수를 나타낸다.
1부터 100까지
1, 2, 3, 4, ... , 100 까지 1씩 증가하기 때문에
i = i +1이다.
System.out.println의 값이
출력되기 이전에 오게 되면 i가 +1 한 값으로
출력되기 때문에 제일 마지막에 위치한다.
6. 출력 결과
출력을 해보면 i의 값이 100일 때
sum의 값은 5050이 나오는 것을 확인할 수 있다.
while 반복문을 사용했을 때
1부터 100까지의 합은 5050이다.
- 끝 -
from http://he-we-go.tistory.com/13 by ccl(A) rewrite - 2021-09-27 13:27:21