본문 바로가기
문과생애긔개발자_공부/Java(자바)

간단한 for문 while문 연습 (1~100까지 3의 배수의 합)

by animeel 2022. 6. 24.

백년만에 Java를 연습해보자.

Javascript만 하다가 갑자기 Java를 하려니 뭔가 깜찍뽀짝한 것 같으면서 그리운 향수같으면서 하나도 모르겠다.

어찌되었던간에 for문과 while문을 사용하여 loop 연습을 해보자.

 

 

For문 사용하기

package com.java;

public class Homework_for {
    public static void main(String[] args) {

        int i = 0;
        int sum = 0;

        for(i = 1; i <= 100; i++) {
            int k = i % 3;
            if(k == 0) {
                sum += i;
            }
        }
        System.out.println("1~100중 3의 배수의 합은 " + sum + "입니다.");

    }
}

i, k, sum이라는 변수를 사용해 주었다 (변수명 저처럼 지멋대로 하지마시고 일관성있게^^)

i는 1~100까지 숫자 사이의 3의 배수 값을 지정해주기 위해서 사용한다.

for문 괄호 안에 시작값; 범위; 증감을 나타내준다.

i의 값이 3의 배수가 되려면 3으로 나누어 준 뒤 0이 되는 값이 3의 배수라고 생각하여서 식을 그렇게 짰다.

(혹은 i값을 3으로 지정해주고 계속 3을 더해도 무방하다 하지만 난 이 방법이 더 좋다고 생각함)

if문의 괄호에 0이 되는 조건을 준다.

조건이 참이면 i값들을 계속 더해서 sum에 값을 넣도록 하였다.

 

프린트문이 어떤 중괄호 안에 들어갈지 잘 보고 넣는다.

반복문 안에 들어가게 되면 마지막 99가 더해질때까지 식이 반복적으로 나온다.

숫자가 커지면 골치가 아프다 주의!

우리는 마지막 값만 보면 되기 때문에 main의 중괄호 안에 넣어준다.

 

완성!

닶은 1683이다.

 

 

 

While문 사용하기

package com.java;

public class Homework {
    public static void main(String[] args) {

        int i = 0;
        int sum = 0;

        while(i <= 100) {
            if (i % 3 == 0) {
                sum += i;
            }
            i++;
        }
            System.out.println("1~100중 3의 배수의 합은 " + sum + "입니다.");

    }
}

나는 개인적으로 while문보다는 for문이 편하다고 생각했다.

while문은 조건이 간단하지만 약간 너무 간단하게 써야해서 더 헷갈렸다.

for문의 경우 소괄호 안에 시작값, 조건, 증감을 다 넣어주기 때문에 훨씬 편하다고 생각이 든다. 

while의 경우 그 과정을 더 자잘하게 쪼개서 생각해야 했다 (나만 그럴수 있음 주의)

 

변수는 i, sum을 사용하였다. (곱셈이라면 i값 초기화시 0을 넣지 않도록 주의한다 더하기라서 지금은 무방)

i값이 100 이하일 때 if문을 돌려준다는 것을 while에 작성한다.

if문 안에 i를 3으로 나눴을 때 0이 될때만 i값을 계속적으로 더해서 sum에 넣는 식을 작성한다.

그리고 까먹지 말고 if 중괄호를 닫아준 후에 i++를 써서 i 값이 계속적으로 더해져 100까지 갈 수 있도록 한다.

이 부분을 까먹으면 컴퓨터는 어쩌라고를 시행하며 값을 내어주지 않는다.

그의 심기를 건드리지 않도록 i++;를 꼭 적어준다음에 프린트 문을 적어준다.

역시나 값은 1683이 나온다.

 

개인적으로 더해보진 않아서 컴퓨터의 산술 값을 믿을 수 밖에 없다.