프로그래밍/자바(java) 융합개발자 2차

[취성패] 자바 배우기 - 선수학습(반복문-for, while구문)

aSpring 2020. 12. 12. 16:47
728x90
728x90

 

[for 구문]

1. 단순 for 구문

- 주어진 횟수만큼 블럭 안의 문장을 반복 처리할 수 있음

- for 문의 괄호 안에는 ;(세미콜론)으로 구분된 초기식, 조건식, 증감식을 작성함

- 초기식, 조건식, 증감식은 필요에 따라 생략할 수 있으나 세미콜론은 반드시 적어야 함

- for문에 포함되는 블러이 한 줄일 경우 블록 기호 생략 가능, 두 줄 이상일 경우 반드시 블록 기호 사용

- 조건식이 참일 경우 블럭 안의 문장을 계속 반복 수행

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

   문장

}

 

ex) "자바 프로그래밍" 문장을 10번 출력

for (count = 1 ; count <= 10 ; count++)

  System.out.println("자바 프로그래밍"); -> count가 1씩 증가되며 "자바 프로그래밍" 반복 출력, 11이 되면 종료

}

 

 

2. 중첩 for 구문

- for 문의 블럭 안에 또 다른 for 문이 존재하는 구문

- 구구단 등의 2차원 구조를 표현할 때 사용 가능함

- 외부 for문과 내부 for문의 블럭이 엇갈리지 않도록 해야함

 

문법

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

   문장

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

      문장

   }

    문장

}

 

ex) "자바 프로그래밍" 문장을 10*10번 출력

for (i = 1; i <= 10; i++) {                          -> 전위, 후위 상관 없고 2씩 증가 시에는 i+=2 사용.

    for(j = 1; j <= 10; j++) {

      System.out.println("자바 프로그래밍");

    }

}

 

-> i가 1~10까지 반복 되는데 그 속의 j도 1~10까지 반복됨

 

 

 

참고) 횟수를 정하기 어려운 반복문에 사용하기 적합한 구문 -> while 구문

지정된 횟수에 따라 포함된 블럭을 반복 수해하는구문 -> for 구문

 

 

[while 구문]

1. 단순 while 구문

- 괄호 안의 조건식이 참일 경우 반복 수행

- 반복 횟수를 정하기 어려울 경우 사용

- 초기식과 증감식이 없고 조건식만 있음 -> 블럭 내부에 종료 조건을 작성해야 함

- 괄호 안의 조건식이 참이 아닐 경우 단 한번도 수행되지 않을 수 있음

 

while (조건식) {

    문장

}

 

ex) "자바 프로그래밍" 문장을 10번 출력

count = 1;

while (count <= 10) {

  System.out.println("자바 프로그래밍);

  count++;

}

 

2. do while 구문

- while문과 같이 괄호 안의 조건식이 참일 경우 반복 수행하나, 조건 검사를 블럭 수행 후에 함.

- 적어도 한 번은 블럭 내의 문장을 수행함.(조건을 나중에 비교)

- 괄호 다음에 세미콜론을 반드시 적어야 함.

 

do {

    문장

} while (조건식);

 

ex) 1 부터 10까지 정수를 덧셈

i = 1, sum = 0;

do {

   sum += i;                          -> sum = sum + i;

   i++;

} while (i <= 10);

 

sum 0   1  3  6  10  15  21  28  36   45  55

i      1   2  3  4  5    6    7   8    9   10   11

조건 O  O  O O  O  O   O   O   O    O   X

-> sum = 55, i = 11에서 stop됨

 

 

 

1) 단순 for 구문 사용 예

public class Exam7_1 {

        public static void main(String[] args) {

                int i, sum = 0;

                for (i = 1; i <= 10; i++) {

                     sum += i;         //sum = sum + i;

                }

                System.out.println(sum);              -> 55

 

        }

 

}

 

2) 중첩 for 구문 사용 예

public class Exam7_2 {

        public static void main(String[] args) {

                int i, j;

                for (i = 0; i < 5; i++) {

                     for(j = 0; j < 5; j++){

                         System.out.print("*");         -> *****

                      }

                     System.out.println();              -> 줄바꿈  

                }

        }

}

 

-> *****

    *****

    *****

    *****

    *****

 

3) 단순 while 구문 사용 예

public class Exam7_3 {

        public static void main(String[] args) {

                int i = 1, sum = 0;

                while (i <= 10) {

                    sum += i;

                    i++;

                  }

                    System.out.println(sum);              -> 55

         }

}

-> sum = 55, i = 11

 

4) do while 구문 사용 예

public class Exam7_4 {

        public static void main(String[] args) {

                int i = 1, sum = 0;

                do {

                    sum += i;

                    i++;

                 } while (i <= 10);

                 System.out.println(sum);              -> 55

         }

}

-> sum = 55, i = 11

728x90
728x90