hyeonga_code

Java_26_반복문_while/for 비교, break, continue, for, 단일 for문 본문

Java

Java_26_반복문_while/for 비교, break, continue, for, 단일 for문

hyeonga 2023. 9. 22. 08:59
반응형

- 반복문
        - 조건이 참일 경우 반복하여 실행합니다.
        - 조건이 거짓이 된 경우 무한 루프를 빠져나옵니다.
        - 조건식의 변수로 i > j > k 를 많이 사용합니다.
        - while/for 비교
            - while : 조건에 의한 반복
            - for : 수치에 의한 반복
        - break
            - 반복을 종료하는 경우 사용합니다.
            - 자신이 포함된 하나의 반복문 또는 switch문을 빠져나옵니다.
        - continue
            - 다음 반복으로 넘어가는 경우 사용합니다.
            - 자신이 포함된 반복문의 끝으로 이동합니다.
            - 이후 코드들은 실행되지 않습니다.
        - for
            - 반복 횟수가 중요한 경우에 사용합니다.
            - 조건이 거짓인 경우 단 한 번도 실행하지 않습니다.
            1) 단일 for 문
                for ( 초기화 ; 조건식 ; 증감식 ) { 
                    조건이 참일 경우 반복 실행할 코드
                }
                - 초기화
                    1) 변수의 선언과 동시에 값을 저장합니다. [기본]
                        for (int i=1; i<=5; ++i);
                    2) 미리 변수를 선언한 후, for 문에서 변수 값을 저장합니다.
                        int i;
                        for (i=1; i<=5; ++i);
                    3) 미리 변수를 초기화한 후, 공백으로 작성합니다.
                        int i = 5;
                        for ( ; i<=5; ++i);
                - 조건식
                    - 조건이 없으면 무한 반복이 끝나지 않을 수 있습니다.
                    - 변수의 타입이 같은 경우 쉼표를 사용하여 하나 이상의 변수를 선언/초기화 할 수 있습니다.
                - 증감식
                    - 조건식을 실행한 후, 값에 변화를 주는 식입니다.
                    - 변수의 타입이 같은 경우 쉼표를 사용하여 하나 이상의 변수의 값을 증감할 수 있습니다.
                - 실행 순서
                    1) 조건의 초기화 후, 조건식이 참이면 증감식으로 넘어옵니다.
                    2) 실행 후, 다시 조건식으로 돌아갑니다.
                    - 조건이 없으면 무한 반복이 끝나지 않을 수 있어 오류가 발생합니다.
                - 예시
                     for ( ; ; ) {}
                        - 조건이 없으므로 true 값으로 인식되어 무한 루프로 반복됩니다.
                     for ( 초기화; ; ) {}
                        - 변수를 for문에서 선언/초기화했으므로 for 문 안에서만 유효합니다.
                     for ( 초기화; 조건식; 증감식) {}
                        - 쉼표를 사용하여 초기화, 증감식을 여러 개를 사용할 수 있습니다.
'ControlEx1.java'
=====

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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
package basic;
//모든 클래스는 패키지 안에 생성합니다.
 
import java.util.*;
 
public class ControlEx1 {
    // 모든 함수_메소드는 클래스 안에 작성합니다.
 
    public static void main(String[] args) {
        // Java의 모든 코드는 함수 안에 작성합니다.
        
        // for 문을 이용하여 1-10 까지의 합 출력
        int sum = 0;
        
        for (int i=1; i<=10; i++) {        // 1부터 10까지 1씩 증가하며 반복합니다.
            sum += i;
        }
        System.out.println("Sum from 1 to 10 : " + sum);
            /*
                Sum from 1 to 10 : 55
             */
 
        // 시작 번호와 끝 번호를 입력받아 합 출력
        Scanner sc = new Scanner(System.in);
        
        int sum1 = 0;
        System.out.println("Start number : ");
        int st = sc.nextInt();
        System.out.println("End number : ");
        int en = sc.nextInt();
        
        for (int i=st; i<=en; i++) {
            sum1 += i;
        }
        System.out.println("Sum from " + st + " to " + en + " : " + sum1);    
            /*
                Start number : 
                2
                End number : 
                8
                Sum from 2 to 8 : 35
             */
        sc.close();
 
        // for 문 밖에서 변수 선언
        int sum3 = 0;
        int i;            
        for (i=1; i<=10; i++) {
            sum3 += i;
        }
        System.out.println("Sum : " + sum + ", i: " + i);
            /*
                Sum : 55, i: 11
                    - for 문 밖에서 i를 선언했으므로 for 문이 종료되어도 
                      Stack에 값이 남아있어 접근이 가능합니다.     
             */
    }
}


'ControlEx2.java'
=====

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
package basic;
// 모든 클래스는 패키지 안에 생성합니다.
 
import java.util.*;
 
public class ControlEx {
    // 모든 함수_메소드는 클래스 안에 작성합니다.
    
    public static void main(String[] args) {
        // Java의 모든 코드는 함수 안에 작성합니다.
 
        for (int i = 1; i <= 10++i) {
            if (i % 3 == 0) {   // i 가 3으로 나눈 나머지가 0일 경우
                continue;       // 뒤의 코드를 실행하지 않고 증감식으로 넘어갑니다.
            }
 
            if (i == 7) {       // i가 7일 경우
                break;          // for 문을 종료합니다.
            }
 
            System.out.println("i = " + i);
        }
    }
}
반응형