IT/JAVA

[JAVA] 조건문 : if-else

밍띠이 2019. 2. 12. 17:11
반응형

조건문

조건문이란?

  • 특수한 조건을 주고 비교하는 문

if-else문

public class Ex07 {
    public static void main(String[] args) {
        int a = 6;

        if(a > 7) {
            System.out.println("a는 7보다 큽니다.");
        } else if(a == 6) {
            System.out.println("a는 6입니다.");
        } else {
            System.out.println("a는 6보다 작습니다.");
        }
    }
}

Note 중괄호 사용이 코드 관리에 좋음

연습문제 Ex07.java

학생의 키와 몸무게를 받아서 BMI를 계산해서 아래 표에 맞게 출력!
- 18.5 이하 : 저체중
- ~25: 정상
- ~30: 과체중
- ~40: 비만
- 그 이상: 고도비만
- BMI 계산방법 : 몸무게/ 키(제곱)(키는 m, 몸무게는 kg)
    - ex> 키가 170이고 몸무게가 50kg이면 50/1.70^2 = 17.30이니 저체중
public void main(String[] args) {
    float weight = 0;
    float height = 0;
    Scanner scan = new Scanner(System.in);
    System.out.print("키를 입력해 주세요: ");
    height = scan.nextFloat();
    System.out.print("몸무게를 입력해 주세요: ");
    weight = scan.nextFloat();

    float bmi = weight / ( height * height);

    if(bmi <= 18.5) {
        System.out.println("저체중 입니다.");
    } else if (bmi <= 25) {
        System.out.println("정상체중 입니다.");
    } else if (bmi <= 30) {
        System.out.println("과체중 입니다.");
    } else if (bmi <= 40) {
        System.out.println("비만 입니다.");
    } else {
        System.out.println("고도 비만 입니다.");    
    }
}

1

연습문제 Ex08.java

학생의 국영수 점수를 받아 통과 여부를 표시하세요
- 만약 국영수 총합이 210 미만일시 : 탈락
- 만약 점수 하나가 60 미만일 시 : 탈락
public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int kor = 0;
        int eng = 0;
        int math = 0;
        int sum = 0;

        System.out.print("국어 점수를 입력하세요: ");
        kor = scan.nextInt();
        System.out.print("영어 점수를 입력하세요: ");
        eng = scan.nextInt();
        System.out.print("수학 점수를 입력하세요: ");
        math = scan.nextInt();

        sum = kor + eng + math;

        // || && 사용
        if(sum < 210 || (kor < 60 || math < 60 || eng < 60)) {
            System.out.println("탈락");
        } else{
            System.out.println("합격");
        }
        sc.close();
    }

연습문제 Ex09.java

학생의 성적을 받은 후 A+ ~ F 까지 분류하여 출력하세요.
단 바깥에는 A,B,C,D,F 만 판단하고 그 안에서 다시 if 문을 통해 판별
90~100 : A
80~89 : B
70~79 : C
60~69 : D
~60 : F
    X7~X9 : +
    X4~X6 : 0
    X0~X3 : -
단, F는 +0- 없음 

2

public static void main(String[] args) {
    int score = 0;
    Scanner scan = new Scanner(System.in);
    System.out.print("점수를 입력해 주세요: ");
    score = scan.nextInt();

    if(score >= 90) {
        if(score % 10 >= 7 || score == 100) {
            System.out.println("A+");
        } else if(score % 10 >= 4) {
            System.out.println("A0");
        } else {
            System.out.println("A-");
        }
    } else if(score >= 80) {
        if(score % 10 >= 7) {
            System.out.println("B+");
        } else if(score % 10 >= 4) {
            System.out.println("B0");
        } else {
            System.out.println("B-");
        }
    } else if(score >= 70) {
        if(score % 10 >= 7) {
            System.out.println("C+");
        } else if(score % 10 >= 4) {
            System.out.println("C0");
        } else {
            System.out.println("C-");
        }
    } else if(score >= 60) {
        if(score % 10 >= 7) {
            System.out.println("D+");
        } else if(score % 10 >= 4) {
            System.out.println("D0");
        } else {
            System.out.println("D-");
        }
    } else {
        System.out.println("F");

}
// 개선 코드
public static void main(String[] args) {
    int score = 0;
    Scanner scan = new Scanner(System.in);
    System.out.print("점수를 입력해 주세요: ");
    score = scan.nextInt();
    String letterGrade = "";

    if(score == 100) {
        letterGrade = "A+";
    } else if(score >= 60) {
        if(score >= 90) {
            letterGrade = "A";
        } else if(score >= 80) {
            letterGrade = "B";
        } else if(score >= 70) {
            letterGrade = "C";
        } else {
            letterGrade = "D";
        if(score % 10 >= 7) {
            //String + String --> String
            // 2개 연결됨
            // letterGrade = letterGrade + "글자"
            letterGrade = letterGrade + "+";
        } if(score % 10 >= 4) {
            letterGrade += "0";
        } else {
            letterGrade += "-";
    } else {
        letterGrade = "F";
    }
}        

String + String --> String

// 2개 연결됨

// letterGrade = letterGrade + "글자"

String 초기화

String text = "";

모바일] git 으로 보기

반응형