자바 시작하기 - 조건문, 반복문

지니·2024년 7월 11일
0

자바 기초

목록 보기
10/10
post-thumbnail

조건문

if 문

: 조건에 따라 무엇을 실행할지 판단하는 분기 구조

if (조건문 1) {
   조건문 1을 만족할 때 실행할 내용;
} else (조건문 2) {
   조건문 2를 만족할 때 실행할 내용;
} else {
   그 외의 상황에서 실행할 내용;
}

switch

: 입력 값에 따라 어떤 case를 실행할지 판단하는 분기 구조

switch (입력 값) {
   case 입력 값 1:
      실행할 내용;
      break;
   case 입력 값 2:
      실행할 내용;
      break;
```...
   default:
      실행할 내용;
      break;

위 내용과 관련된 코드입니다.


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

//      1. 조건문 - if
        System.out.println("== if ==");
        int waterTemperature = 99;

        if (waterTemperature >= 100) {
            System.out.println("물이 끓습니다.");
        } else {
            System.out.println("물을 끓이는 중입니다.");
        }

        int score = 90;
        char grade = 0;
        if (score >= 90) {
            grade = 'A';
        } else if (score >= 80) {
            grade = 'B';
        } else if (score >= 70) {
            grade = 'C';
        } else {
            grade = 'F';
        }
        System.out.println("grade = " + grade);


//      2. 조건문 - switch
        System.out.println("== switch ==");
        String fruit = "apple";
        switch (fruit) {
            case "apple":
                System.out.println(fruit + "은 5000원 입니다.");
                break;
            case "blueberry":
                System.out.println(fruit + "은 10000원 입니다.");
                break;
            default:
                System.out.println("해당 과일이 없습니다.");
                break;
        }


//      Q1. number의 값이 홀수인지 짝수인지 판단하는 코드를 작성하세요.
        int number = 5;
        if (number % 2 == 0) {
            System.out.println("짝수 입니다!");
        } else {
            System.out.println("홀수 입니다!");
        }


//      Q2. 아래 주석은 위의 실습에서 진행한 score에 따라 grade를 출력하는 코드이다.
//        이를 switch 조건문 기반으로 바꿔보세요.
//        int score = 90;
//        char grade = 0;
//        if (score >= 90) {
//            grade = 'A';
//        } else if (score >= 80) {
//            grade = 'B';
//        } else if (score >= 70) {
//            grade = 'C';
//        } else {
//            grade = 'F';
//        }
//        System.out.println("grade = " + grade);
        int score1 = 90;
        char grade1 = 0;

        switch (score1 / 10) {
            case 10:
            case 9:
                grade1 = 'A';
                break;
            case 8:
                grade1 = 'B';
                break;
            case 7:
                grade1 = 'C';
                break;
            default:
                grade1 = 'F';
                break;
        }
        System.out.println("grade1 = " + grade1);

    }
}

출력 결과 입니다.

== if ==
물을 끓이는 중입니다.
grade = A
== switch ==
apple은 5000원 입니다.
홀수 입니다!
grade1 = A

반복문

for 문

: 주어진 횟수만큼 반복하여 실행하는 구조

for (초기치; 조건문; 증가치;){
   반복하여 실행할 내용;
}   

while

: 조건문이 만족하는 동안 반복하여 실행하는 구조

  • while과 do-while 구조가 있다.
while (조건문) {
   반족하여 실행할 내용;
}

do {
   반복하여 실행할 내용;
} while (조건문);

위 내용과 관련된 코드입니다.


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

//      1. 반복문 - for
        System.out.println("== for ==");
//      1-1. 기본 사용 방법
        for (int i = 0; i < 5; i++) {
            System.out.println(i);
        }

        for (int i = 0; i < 5; i++) {
            for (int j = 0; j < i + 1; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

        System.out.println();
        for (int i = 0; i < 5; i++) {
            if (i == 2) {
                continue;
            }

            for (int j = 0; j < i + 1; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

        System.out.println();
        for (int i = 0; i < 5; i++) {
            if (i == 2) {
                break;
            }

            for (int j = 0; j < i + 1; j++) {
                System.out.print("*");
            }
            System.out.println();
        }

//      1-2. for each
        System.out.println();
        int[] nums = {1, 2, 3, 4, 5};
        for (int i = 0; i < 5; i++) {
            System.out.println(nums[i]);
        }

        for(int num: nums) {
            System.out.println(num);
        }


//      2. 반복문 - while
        System.out.println("== while ==");
//      2-1. while
        System.out.println();
        int i = 0;
        while (i < 5) {
            System.out.println(i++);
        }

        System.out.println();
        i = 0;
        while (i < 5) {
            if (i == 2) {
                i++;
                continue;
            }

            System.out.println(i++);
        }

        System.out.println();
        i = 0;
        while (i < 5) {
            if (i == 2) {
                i++;
                break;
            }

            System.out.println(i++);
        }

//      2-2. do-while
        boolean knock = false;
        do {
            System.out.println("knock");
        } while (knock);


//      Q1. 아래와 같은 출력 결과를 반복문과 조건문을 이용하여 출력해보세요.
//      *
//      ***
//      *****
//      *******
        for (int m = 0; m < 8; m++) {
            if (m % 2 == 0) {
                continue;
            }

            for (int n = 0; n < m; n++) {
                System.out.print("*");
            }
            System.out.println();
        }


//      Q2. 반복문을 실행할 때마다 물 온도를 1도씩 올리고 100도가 되면 종료한다.
//          추가로, 10도, 20도, ... 10도 간격으로 물 온도를 출력하시오.
        int waterTemperature = 0;
        while (waterTemperature < 100) {
            waterTemperature++;

            if (waterTemperature % 10 == 0) {
                System.out.println(waterTemperature + "도 입니다.");
            }
        }

    }
}

출력 결과 입니다.

== for ==
0
1
2
3
4
*
**
***
****
*****

*
**
****
*****

*
**

1
2
3
4
5
1
2
3
4
5
== while ==

0
1
2
3
4

0
1
3
4

0
1
knock
*
***
*****
*******
10도 입니다.
20도 입니다.
30도 입니다.
40도 입니다.
50도 입니다.
60도 입니다.
70도 입니다.
80도 입니다.
90도 입니다.
100도 입니다.
profile
IT학과 전과생

0개의 댓글