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