본문 바로가기

JAVA

조건문

조건문

조건문은 프로그램 명령이 주어진 조건이 참인 경우에만 선택적으로 실행되도록 하는 문법 표현 if문과 switch문이 있다.

if문

괄호 안에 주어진 조건이 참인 경우 블록{}안을 수행.

if (조건) {
    // ... 조건이 참인 경우 실행할 명령...
}

조건에 명시할 수 있는 형식

  1. 비교식 (=, !=, >, >=, <, <=)
  2. 논리식 (&&, ||)
  3. 논리값 (true / false)

If1.java 예제

public class If1 {
    public static void main(String[] args) {
        int myage = 19;

        if (myage == 19) {
            System.out.println("19살 입니다.");
        }

        if (myage != 20) {
            System.out.println("20살 입니다.");
        }

        if (myage > 19) {
            System.out.println("성인입니다.");
        }

        if (myage <= 19) {
            System.out.println("학생입니다.");
        }
    }
}
출력결과

19살 입니다.
20살 입니다.
학생입니다.

If2.java 예제

public class If2{
    public static void main(String[] args) {
        int point = 75;

        // AND(&&) --> 두 조건이 모두 참이어야 전체가 참
        if (point > 70 && point <= 80) {
            System.out.println("C학점 입니다.");
        }

        // OR(||) --> 두 조건중 하나라도 참이면 전체가 참
        if (point <= 70 || point > 80) {
            System.out.println("범위를 벗어났습니다.");
        }
    }
}
출력결과

C학점 입니다.

If3.java 예제

public class If3{
    public static void main(String[] args) {
        boolean is_korean = true;

        if (is_korean == true) {
            System.out.println("한국사람입니다.");
        }

        if (is_korean == false) {
            System.out.println("한국사람이 아닙니다.");
        }

        if (is_korean) {  // 값 자체가 참이므로 성립된다.
            System.out.println("한국사람입니다.");
        }

        if (!is_korean) { // "!"는 값을 부정한다. 참을 부정하므로 거짓이다.
            System.out.println("한국사람이 아닙니다.");
        }
    }
}
출력결과

한국사람입니다.
한국사람입니다.



2) if ~ else문

조건이 참인 경우 of 블록이 실행, 그렇지 않은 경우 else 블록이 실행

if (조건) {
    // ... 조건이 참인 경우 실행할 명령 ...
} else {
    // ... 조건이 참이 아닌경우 실행할 명령 ...
}

#03. if ~ else if ~ else 문

여러개의 조건을 나열하여 그 중 가장 처음 만나는 참인 조건의 블록을 수행하고 그 외의 블록은 실행하지 않고 빠져 나간다.

else if 블록은 필요한 만큼 나열 가능하다.

else 블록은 필요하지 않다면 생략 가능하다.

if (1차 조건) {
    ...
} else if (2차 조건) {
    ...
} else if (3차 조건) {
    ...
} else {
    ...
}

#04. switch문

하나의 변수값에 대한 여러가지 경우의 수를 나열하고 그 중 일치하는 case블록을 break 명령을 만나기 전까지 실행함.

switch (변수) {
    case '값1':     // 경우의 수는 필요한 만큼 나열
    ...
        break;
    case '값2':
    ...
        break;
    case '값n':
        break;
    default: // 일치하는 경우가 없을 경우 수행할 블록(생략가능)
        ...
        break;
}

switch문 예제

public class Switch1{
    public static void main(String[] args) {
        char grade = 'B';

        switch (grade)
 {
     case 'A':
         System.out.println("91~100점 사이 입니다.");
          break;
     case 'B':
         System.out.println("81~90점 사이 입니다.");
          break;  // 이 위치를 주석으로 막은 상태로도 실행해보세요.
     case 'C':
         System.out.println("71~80점 사이 입니다.");
          break;
     default:
         System.out.println("70점 이하 입니다.");
          break; 
 }    }
}
출력결과
81~90점 사이 입니다.

의도적으로 break절을 조절하는 경우

조건에 맞는 case가 두개 이상인 경우

Switch2.java

public class Switch2{
    public static void main(String[] args ) {
        char grade = 'B';

        switch (grade) {
            case 'A':
            case 'B':
            case 'C':
                System.out.println("pass");
                break;
            default:
                System.out.println("Not-Pass");
            break;
        }
    }
}
출력결과

pass

예제문제

import java.util.Scanner;
public class MyWeight{
    public static void main(String [] args) {
        Scanner reader = new Scanner(System.in);

        System.out.print("키를 정수로 입력하세요.");
        int myheight = reader.nextInt();

        System.out.print("몸무게를 정수로 입력하세요.");
        int myweight = reader.nextInt();

        double standardWeight = 0;
        double obesity = 0;

        standardWeight = (myheight >= 150) ? (myheight - 110) * 0.9 : myheight - 110;
        obesity = (myweight - standardWeight) / standardWeight * 100;

        if (obesity < 20) {
            System.out.println("정상(안심");
        } else if (obesity > 20 && obesity <= 30) {
            System.out.println("경도비만(주의)"); 
        } else if (obesity > 30 && obesity <= 50) {
            System.out.println("중증도 비만(위험)");
        } else if (obesity > 50) {
            System.out.println("고도비만(매우위험)");
        }
    }
}

'JAVA' 카테고리의 다른 글

기본문법활용  (0) 2020.05.18
반복문  (0) 2020.05.18
기본입출력  (0) 2020.05.18
연산자  (0) 2020.05.15
변수  (0) 2020.05.15