본문 바로가기
JAVA/JAVA복습(멘토씨리즈 자바)

[JAVA복습] 04. 제어문(1)

by ssunooo 2024. 7. 16.

 

 

1. 핵심 정리

 

조건문이란?

조건식에 따라서 프로그램의 흐름을 제어할 수 있는 문법

 

조건문의 종류

크게 if, switch 문이 있다

 

if문 조건식

boolean으로 결과를 확인할 수 있는 모든 식을 넣을 수 있다


1
2
3
4
5
6
7
8
9
10
11
12
 
        if(조건식) {
            코드; // 조건식이 true일 때 실행
        }
        else {
            코드; // 조건식이 false일 때 실행
        }
cs

 

if-else if문 조건식

반드시 앞에 있는 조건들이 false여야만 아래 조건식을 판단

만약, 앞선 조건식들이 true일 경우, 아래 조건식은 실행 되지 않고  if문 빠져나감


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
 
        if(조건식1) {
            코드; // 조건식1이 true일 때 실행
        }
        else if(조건식2) {
            코드; // 조건식1은 false이고, 조건식2가 true일 때 실행
        }
        else {
            코드; // 조건식 1,2 모두 false일 때 실행
        }
cs

 

switch문 조건식

'==' 으로 비교할 수 있는 하나의 값만 들어갈 수 있다

break를 사용해 switch문을 빠져나감


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package section03;
 
public class PRACTICE_03_04 {
    public static void main(String[] args) {
        switch() {
            case 값1 :     // 조건1 : 변수가 값1과 같을 때
                코드;        // 조건1이 만족할 때 실행되는 구문
                ...
                break;    // 조건1의 구문을 끝내고, switch문을 완전히 빠져나가는 역할
            case 값2 :    // 조건2 : 변수가 값2와 같을 때
                코드;        // 조건2이 만족할 때 실행되는 구문
                ...
                break;
            default :    // 조건1, 2 모두 만족하지 않을 때
                코드;
        }
    }
}
cs

 


 

2. 응용 문제

 

Q1. 다음 코드를 실행했을 때 콘솔창에 출력되는 결과는 무엇입니까?


1
2
3
4
5
6
7
8
9
10
11
12
13
package section04;
 
public class PRACTICE_04_01 {
    public static void main(String[] args) {
        int num=11;
        int result=1000;
        
        if(num>10) {
            result=1100;
        }
        System.out.println(result);
    }
}
cs

 


A1. Console)

1100

 


 

Q2.  다음 코드를 실행했을 때 콘솔창에 출력되는 결과는 무엇입니까?


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package section04;
 
public class PRCTICE_04_02 {
    public static void main(String[] args) {
        int score=77;
        char result='A';
        
        if(score>=60) {
            result='D';
        }
        else if(score>=70) {
            result='C';
        }
        System.out.println(score+"점의 학점은 "+result+"입니다.");
    }
}
 
cs

A2. Console)

77점의 학점은 D입니다.

 


 

Q3. 2번 코드의 실행 결과를 다음과 같이 변경하고 싶을 때, 코드를 어떻게 수정해야 할까요?

A3.


 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package section04;
 
public class PRCTICE_04_02 {
    public static void main(String[] args) {
        int score=77;
        char result='A';
        
        if(score>=60 && score<70) {
            result='D';
        }
        else if(score>=70) {
            result='C';
        }
        System.out.println(score+"점의 학점은 "+result+"입니다.");
    }
}
cs

 

첫번째 if에서 범위를 && score<70를 통해 안겹치게 추가 작성


 


Q4. 다음 빈칸에 알맞은 단어를 작성해 보시오.

  • 조건문에 사용하는 조건식은     boolean      으로 결과를 확인할 수 있는 모든 식을 사용할 수 있다.

 


Q5. 다음 문장이 맞으면 O표, 틀리면 X표 하세요.

  1. if-else if문에서 else if 문의 수는 제한이 없습니다.(O)
  2. if-else if문에서 if 조건문과 else if 조건문이 모두 참이면 둘 다 실행됩니다.(X)

 


Q6. 다음과 같은 결과가 나오도록 아래 빈칸(                )에 코드를 switch문으로 구현해 보세요.


1
2
3
4
5
6
7
8
9
10
11
12
package section04;
 
public class PRACTICE_04_06 {
    public static void main(String[] args) {
        int a=25;
        
        switch(a/10) {
        case
        System.out.println("a는 20 이상의 숫자입니다");
        }
    }
}
cs

console)

a는 20 이상의 숫자입니다


A6. int a 는 25 이므로 a/10이 2.5가 된다

      case  뒤에는 정수만 들어갈 수 있고 2.5는 2로 인식되어

      case  2 : 을 하면 출력된다

      그러므로 정답은 2 :

 

 

2024.07.16