명품 자바 에센셜 연습문제 2장(이론)

명품 자바 에센셜 연습문제 2장(이론)

Author : Jino Bae / Send Mail


문제와 해답은 직접 작성한 것으로 오타가 있을 수도 있으며 해답역시 틀린 부분이 있을 수 있습니다. 틀린 부분에 대한 지적은 적극 수용하도록 하겠습니다. 문제를 먼저 풀어보시고 참고용으로만 봐주시길 바랍니다.



연습문제 2장

1. 자바에서 클래스를 선언할 때 사용하는 키워드는?
class


2. 다음 중 식별자 사용이 잘못된 경우를 모두 골라라.

1
2
3
4
5
int _i;
int %j;
char 안녕;
double 1var;
char student_ID;

2행 : '_'와 '$'를 제외한 특수문자는 사용할 수 없다.
4행 : 변수 이름에 숫자를 쓸 수 있으나 첫번째로 올 수 없다.


3. 다음 각 항목이 나타내는 변수를 선언하라.
(1) int 형 변수 age int age;
(2) 0.25로 값이 초기화된 float형 변수 f float f = 0.25f;
(3) age값과 f값을 더한 값으로 초기화된 double형 변수 d double d = age + f;
(4) 문자 'a'로 초기화된 char형 변수 c char c = 'a';
(5) 자신의 이름으로 초기화된 문자열 변수 name String name = "배르";


4. 다음 수식의 결과 값과 타입은?
(1) 67 + 12.8 79.8 double
(2) 'c' + 1 100 int
(3) 10/3 3 int
(4) 10.0/3 3.366.... double
(5) 10 == 9 false boolean


5. 다음 문장을 조건식으로 나타내라.
(1) a는 b보다 크거나 같다. a >= b
(2) a는 b보다 작고 c보다 크다. a < b && a > c
(3) a더하기 3은 10과 같지 않다. a + 3 != 10
(4) a는 10보다 크거나 b와 같다. a > 10 || a == b

6. 다음 리터럴 중에서 case 문의 값으로 사용할 수 없는 것은?
④5.4


7. 다음은 20과 30을 더해 50을 출력하려고 작성한 자바 프로그램이지만 오류가 있다.

1
2
3
4
5
6
7
public class SampleProgram {
    int i;
    int j;
    i = 20;
    j = 30;
    System.out.println(i+j);
}

(1) 이 프로그램은 어떤 소스 파일 이름으로 저장되어야 하는가? SampleProgram.java

(2) 이 프로그램이 정상적인 결과를 내도록 수정하라.

1
2
3
4
5
6
7
8
9
public class SampleProgram {
    public static void main(String[] args) {
        int i;
        int j;
        i = 20;
        j = 30;
        System.out.println(i+j);
    }
}


8. 다음 코드를 실행한 결과 출력되는 내용은?

1
2
3
4
5
6
switch(option) {
    case 1: System.out.println("옵션1");
    case 2: System.out.println("옵션2");
    case 3: System.out.println("옵션3"); break;
    default: System.out.println("해당 없음");
}

(1) option이 1일때

옵션 1
옵션 2
옵션 3

(2) option이 2일때

옵션 2
옵션 3

(3) option이 3일때

옵션 3

(4) option이 4일때

해당 없음

case문에 break가 없는 경우, break문을 만날 때 까지 내려갑니다.


9. 다음 조건문을 삼항 조건 연산자를 이용하여 한줄로 작성하라.

1
2
if(j%2 == 0) i = 10;
else i = 20;

int i = (j%2 == 0) ? 10 : 20 ;


10. 다음 if-else 문을 switch 문으로 바꾸어라.

1
2
3
4
5
6
7
8
if(i == 1)
    System.out.println("1");
else if(i == 2)
    System.out.println("@");
else if(i == 3)
    System.out.println("#");
else
    System.out.println("*");

1
2
3
4
5
6
switch(i) {
    case 1 : System.out.println("1"); break;
    case 2 : System.out.println("@"); break;
    case 3 : System.out.println("#"); break;
    default : System.out.println("*");
}



Jino Bae
WRITTEN BY

Jino Bae

Digital is a purely man-made playground. That's why I like.
im@baejino.com


comments powered by Disqus