JAVA/java 실습

[자바JAVA] 조건문 if, if-else, switch 문 -점수 등급 출력하기, 성별 출력하기

자바칩 프라푸치노 2020. 9. 23. 07:51

안녕하세요 자바칩프라푸치노입니다.

오늘은 조건문의 예제를 한번 쳐봅시다.

IF문 예제입니다.

 

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
 
public class IfEx {
 
    public static void main(String[] args) {
        
        //퀴즈 : 사용자로부터 하나의 정수를 입력받아서 score에 저장하고
        //등급을 출력하시오.
        
        
        Scanner scanner = new Scanner(System.in);
        
        System.out.print("점수를 입력하시오 :  ");
        int score = scanner.nextInt();
        
        //몇 십개의 if문이 존재하더라도, cpu는 모든 if문을 참조한다.
        //그러므로 어플리케이션 프로그램의 성능은 떨어질 수 밖에 없다.
        if (score >= 90) {
            System.out.println("점수가 90점 이상입니다. 등급은 A입니다.");
            
        }
        
        if (score >= 80 && score <90) {
            System.out.println("점수가 80점 이상입니다. 등급은 B입니다.");
            
        }
        
        if (score >= 70 && score <80) {
            System.out.println("점수가 70점 이상입니다. 등급은 C입니다.");
        }
        
        if (score >= 60 && score <70) {
            System.out.println("점수가 60점 이상입니다. 등급은 D입니다.");
        }
        
        scanner.close();
 
    }
 
}
 
cs

정수를 입력 받았죠

IF문을 보시면 score가 몇이냐에 따라 출력하는게 달라지죠.

여기서 2번째 if문 부터 else if로 쓰시나 if로 쓰시나 결과는 같습니다.

자기의 조건에 맞는 if문만 출력을 하니까요.

 

첫번째 score가 90이상이면 A등급을 표시하겠구요

두번째 , score가 80점 이상이면서 90점 미만이면 B등급 표시하겠네요.

봅시다.

잘 나오는 것을 확인할 수 있습니다.

 


다음은 if - else문을 살펴볼게요.

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
public class IfElseEx {
 
    public static void main(String[] args) {
        
        String gender = "남자";
        // if else 는 조건이 딱 절반(50%)인 경우 일때 사용한다.
        if (gender.equals("남자")) {
            System.out.println("남자입니다.");
        }
        else {
            System.out.println("여자입니다.");
        }
        
   
        
    }
 
}
 
cs

 

 

여기서 

equals는 다음에 따로 배울 시간이 오겠지만

미리 말씀드리자면

String의 equals는 그 안의 진짜 값이 같냐~ 이말입니다.

그니까 String타입 변수 gender에 저장된 값이 "남자" 냐 묻는 겁니다.

그게 true이면 if문안의 값을 출력하겠죠.

그리고 else하면 남자가 아닌 다른 모든 것이 되겠죠.

 

그래서 gender에 고래를 넣어봅시다.

여자라고 나왔네요 ^^


그럼 이제 switch문을 사용해서 제대로 고쳐보겠습니다.

 

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
public class IfElseEx {
 
    public static void main(String[] args) {
        
        String gender = "남자";
         // switch 문의 조건의 값으로 들어올 수 있는것
        // 1. int이하의 정수값
        // 2. String값
        switch (gender) { 
        case "남자":
            System.out.println("남자입니다.");
            break//break를 적지 않으면 해당되는 곳 부터 끝까지 다 출력한다.
        case "여자":
            System.out.println("여자입니다.");
            break;
        default//옵션. 있어도 그만 없어도 그만
            System.out.println("성별이 없습니다.");
            break;
        }
        
        
    }
 
}
 
cs

switch문의 조건에는 int이하의 정수값과 String 값이 들어올 수 있다는 점 기억해두시구요

 

gender을 조건으로

gender가 남자일때 출력, 여자일때 출력, 이도저도 아닐때 출력 (default)를 설정해두었습니다.

switch문에서는 case마다 break 를 해주지않으면 

맞는 조건을 만나면 거기부터 끝까지 다 출력을 해주기 때문에 무조건 break문을 써주어야합니다.

결과는 어떻게 나올지 직접 예상해보시구요!

 

오늘포스팅은 여기서 마치도록 하겠습니다.

728x90