IT 개발노트

제어문과 루프란? 본문

기초튼튼/JAVA

제어문과 루프란?

limsungju 2019. 1. 16. 22:52

1. 제어문과 루프란?
1.1 제어문

: 어떤 상황을 판단하여 결과를 true 또는 false를 반환함

1.2 루프문
: 반복적으로 일어나는 행위

2. if문, switch문, for문, while문 의 이해
2.1 if문

: 만일 ~ 한다면... 으로 조건을 만족하는 경우에 해당 프로그램이 수행된다.

예시1

1
2
3
4
5
6
7
8
9
10
11
12
13
14
 public static void main(String[] args) {
            
        int i = 10;
        int j = 20;
        int h = 10;
        
        if(i > j) {
            System.out.println("i가 j보다 큽니다.");
        }
        
        if(i == h) {
            System.out.println("i와 h는 같습니다.");
        }
    }



2.2 if ~ else문
: true or false를 판단하여 해당 프로그램을 수행한다.

예시2

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public static void main(String[] args) {
        
        int i = 10;
        int j = 20;
        int h = 30;
        int k = 10;
        
        if(i > j) {
            System.out.println("i는 j보다 " + (i - j) + "만큼 더 큽니다.");
        } else {
            System.out.println("j는 i보다 " + (j - i) + "만큼 더 큽니다.");
        }
        
        if((i + j) == h){
            System.out.println("i와  j의 합은 h와 같습니다.");
        } else {
            System.out.println("i와 j의 합은 h와 같지 않습니다.");
        }
    }


2.3 if ~ else if문
: 다양한 조건 중 한가지를 선택해야 할 경우 사용한다.

예시3

1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public static void main(String[] args) {
        
        int seoulLunchPrice = 5000;
        
        if(seoulLunchPrice >= 9000) {
            System.out.println("서울 물가 많이 비싸네요.");
        } else if(seoulLunchPrice >= 7000) {
            System.out.println("서울 물가 조금 비싸네요.");
        } else if(seoulLunchPrice >= 5000) {
            System.out.println("서울 물가 적당 하네요.");
        } else {
            System.out.println("서울 물가 저렴 하네요.");
        }
    }




예제1
: 사용자로부터 국어, 영어, 수학 점수를 입력 받아, 각 과목별 점수가 평균 이상인지 이하인지 구해보자.

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
    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        
        System.out.println("국어 점수를 입력하세요. ");
        int kor = scanner.nextInt();    // 국어 점수
        System.out.println("영어 점수를 입력하세요. ");
        int eng = scanner.nextInt();    // 영어 점수
        System.out.println("수학 점수를 입력하세요. ");
        int met = scanner.nextInt();    // 수학 점수
        
        double ave = (kor + eng + met) / 3;
        
        System.out.println("평균 점수는 " + ave + "점 입니다.");
        
        if(kor > ave) {
            System.out.println("국어 점수는 평균보다 높습니다.");
        } else if (kor < ave){
            System.out.println("국어 점수는 평균보다 낮습니다.");
        } else {
            System.out.println("국어 점수는 평균입니다.");
        }
        if(eng > ave) {
            System.out.println("영어 점수는 평균보다 높습니다.");
        } else if (eng < ave){
            System.out.println("영어 점수는 평균보다 낮습니다.");
        } else {
            System.out.println("영어 점수는 평균입니다.");
        }
        if(met > ave) {
            System.out.println("수학 점수는 평균보다 높습니다.");
        } else if (met < ave){
            System.out.println("수학 점수는 평균보다 낮습니다.");
        } else {
            System.out.println("수학 점수는 평균입니다.");
        }
    }


2.4 switch문
: 어떤 변수의 값에 따라서 문장을 실행한다.

예시4

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    public static void main(String[] args) {
        
        Scanner scanner = new Scanner(System.in);
        int i = scanner.nextInt();
        int result = i % 2;
        
        switch (result) {
        case 0:
            System.out.println("입력하신 숫자는 짝수 입니다.");
            break;
        case 1:
            System.out.println("입력하신 숫자는 홀수 입니다.");
            break;
        
        default:
            System.out.println("잘 모르겠습니다.ㅎㅎ");
            break;
        }
    }


2.5 for문
: 미리 설정된 횟수만큼 반복적으로 수행

예시5

1
2
3
4
5
6
7
8
    public static void main(String[] args) {
        
        for (int i = 0; i < 5; i++) {
            
            int result = i + 10;
            System.out.println("i는 " + i + "입니다. \n" + "10 + i = " + result );
        }
    }


2.6 for문에서 break 활용
: 반복적으로 작업을 수행중에 break문을 만나면 switch문에서와 동일하게 for문을 빠져나옴

예시6

1
2
3
4
5
6
7
8
9
    public static void main(String[] args) {
        
        for (int i = 0; i < 5; i++) {
            System.out.println("i는 " + i + "입니다.");
            if (i >= 3) {
                break;
            }
        }
    }


예제2
: 1에서 10까지의 합을 구해보자

1
2
3
4
5
6
7
8
9
10
11
    public static void main(String[] args) {
        
        int j = 11;
        int sum = 0;
        for (int i = 1; i < j; i++) {
            sum = sum + i;
        }
            
        System.out.println(sum);
        
    }




예제3
: 1에서 10까지의 숫자 중 짝수들의 합을 구해보자

1
2
3
4
5
6
7
8
9
10
11
12
13
14
    public static void main(String[] args) {
        
        int j = 11;
        int sum = 0;
        for (int i = 1; i < j; i++) {
            int h = i % 2;
            if(h == 0) {
                sum = sum + i;
            }
        }
            
        System.out.println(sum);
        
    }




예제4
: 구구단을 만들어 보자

1
2
3
4
5
6
7
8
9
10
11
    public static void main(String[] args) {
        
        for (int i = 1; i < 10; i++) {
            
            for (int j = 2; j < 10; j++) {
                System.out.print(j + " * " + i + " = " + ( j * i ) + "\t");
            }
            System.out.println("");
        }
        
    }


2.7 while문
: 조건 하나만 이용하여 반복적인 작업을 할때 사용

예시7

1
2
3
4
5
6
7
8
9
10
    public static void main(String[] args) {
        
        int i = 0;
        
        while (i <= 5) {
            System.out.println("i는 " + i + "입니다.");
            i++;
        }
        
    }




'기초튼튼 > JAVA' 카테고리의 다른 글

객체지향의 등장 배경과 이해  (0) 2019.01.18
배열이란?  (1) 2019.01.17
연산자란?  (0) 2019.01.15
기본 자료형과 객체 자료형의 이해  (0) 2019.01.15
변수란?  (0) 2019.01.15