티스토리 뷰

김영한 선생님의 실전 자바 입문 강의를 듣고있다~

인프런에서 무료~~ 강좌~~~

유튜브에도 있당~~

 


반복문 while, do-while, for 이런게 해당된다. 

반복시키는 용도이다. 

 

while 문은 조건에 따라 코드를 반복해서 실행할 때 사용.

조건이 참이면 코드 블럭 실행. 거짓이면 while 문에서 벗어남.

 

package loop;

public class While1_1 {
    public static void main(String[] args) {
        int count = 0;
        count +=1;
        System.out.println("현재 숫자: "+count);
        count +=1;
        System.out.println("현재 숫자: "+count);
        count +=1;
        System.out.println("현재 숫자: "+count);
        count +=1;
        System.out.println("현재 숫자: "+count);
    }
}

 

package loop;

public class While1_2 {
    public static void main(String[] args) {
        int count = 0;
        while (count < 4) {
            count += 1;
            System.out.println("현재 숫자: " + count);
        };
    }
}

 

위 아래 동일한 일을 하는 코드이다. 차이는 아래 코드는 while문을 잘 썼다는것!

 

package loop;

public class While2_1 {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;
        int endNum = 3;
        
        while (i <= endNum) {
            sum = sum +i;
            System.out.println("1="+i+" sum=" + sum);
            i++;

        }

    }
}

 


do-while 문!

 

package loop;

public class DoWhile1 {
    public static void main(String[] args) {
        int i = 10;
        while (i<3) {
            System.out.println("curren num: "+i);
            i++;
        }
    }
}

 

이렇게 해두고 실행하면 콘솔에는 아무것도 찍히지 않는다. 

package loop;

public class DoWhile2 {
    public static void main(String[] args) {
        int i = 10;
        do {
            System.out.println("current num: "+i);
            i++;
        } while (i<3);
    }
}

이렇게 하면 콘솔에는 current num: 10 이렇게 찍힌다. 

 

do-while문은 최초 한 번은 코드 블럭을 꼭 실행해야 하는 경우에 사용한다. 

 


브레이크와 컨티뉴! break & continue

 

브레이크는 즉시 반복문 종료하고 나가고, 컨티뉴는 반복문 나머지 건너뛰고 다음 반복으로 진행하는데 사용.

 

package loop;

public class Break1 {
    public static void main(String[] args) {
        // 1부터 시작해서 계속 숫자를 누적해서 더하다가 합계까 10보다 처음으로 큰 값은 얼마?
        int sum = 0;
        int start = 1;
        while (sum <=10) {
            sum = sum + start;
            start++;
        }
        System.out.println(sum);
    }
}

처음에 이렇게 코드를 생각해 봤는데, continue, break를 사용하는 코드로 바꿔보자.

 

package loop;

public class Break1 {
    public static void main(String[] args) {
        // 1부터 시작해서 계속 숫자를 누적해서 더하다가 합계까 10보다 처음으로 큰 값은 얼마?
        int sum = 0;
        int start = 1;
        while (true) {
            sum = sum + start;
            if (sum > 10) {
                break;
            }
            start++;

        }
        System.out.println(sum);
    }
}

 

이렇게 하면 된다. break를 잘 썼다. 

 

컨티뉴를 써 보기

package loop;

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

        int i = 1;
        while (i<=5) {
            if (i ==3) {
                i++;
                continue;
            }
            System.out.println(i);
            i++;
        }
    }
}

 

3이면 출력을 안하는 코드다. 

 


이제 For 문에 대해서 알아본다~!

 

for 문은 주로 반복 횟수가 정해져 있을 때 사용한다.

 

for (초기식; 조건식; 증감식) { 코 드 }

 

이런 구조.

 

package loop;

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

        for (int i = 1; i < 10; i++) {
            System.out.println(i);
        }
    }
}

이렇게하면 1부터 9까지 출력. 

 

package loop;

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

        int sum = 0;
        int endNum = 10;

        for (int i = 1; i <=endNum; i++) {
            sum +=i;
        }
        System.out.println(sum);
    }
}

 

 

아까 while 쓴 걸 for 문으로도 쓸 수 있다.

package loop;

public class Break2 {
    public static void main(String[] args) {
        int sum = 0;
        int i = 1;

        for (;;) {
            sum += i;
            if (sum > 10) {
                System.out.println("끝");
                break;
            }
            i++;
        }
        System.out.println(sum);
    }
}

 

package loop;

public class Break3 {
    public static void main(String[] args) {
        int sum = 0;


        for (int i = 1;;i++) {
            sum += i;
            if (sum > 10) {
                System.out.println("끝");
                break;
            }

        }
        System.out.println(sum);
    }
}

 

위와 같이 조금 더 정돈되게 작성하면 더욱 좋다. 보기 좋고 읽기 쉽고.

 


이제 중첩 반복문~~~!

 

도 배웠고.. 이제 문제 풀어보기~~

 

package loop.ex;

public class Ex1 {
    public static void main(String[] args) {
        int count = 10;
        for (int i = 1; i <= count; i++) {
            System.out.println(i);
        }
        while (count > 0) {
            System.out.println(count);
            count--;
        }
    }
}

 

package loop.ex;

public class Ex2 {
    public static void main(String[] args) {
        int max = 100;
        int sum = 0;
        int i = 1;
        while (i<=max) {
            sum += i;
            i++;
        }
        System.out.println(sum);
    }
}

 

 


중첩 반복문으로 구구단 출력해보기~

 

package loop.ex;

public class Ex3 {
    public static void main(String[] args) {
        //int num = 2;
        int last = 10;
        for (int num= 2; num < last; num++) {
            System.out.println(">>> "+num+" 단");
            for (int i = 1; i<10; i++){
                System.out.println(num+" x "+i+" = "+num*i);
            }
        }
    }
}
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2026/09   »
일 월 화 수 목 금 토
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30
글 보관함