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

'명품 자바 에센셜 풀이' 시리즈명품 자바 에센셜 연습문제 2장(이론)

baealex

소비적인 일보단 생산적인 일을 좋아합니다.

Sign in to view email


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



연습문제 2장

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


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

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을 출력하려고 작성한 자바 프로그램이지만 오류가 있다.

public class SampleProgram {
    int i;
    int j;
    i = 20;
    j = 30;
    System.out.println(i+j);
}

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

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

public class SampleProgram {
    public static void main(String[] args) {
        int i;
        int j;
        i = 20;
        j = 30;
        System.out.println(i+j);
    }
}


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

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. 다음 조건문을 삼항 조건 연산자를 이용하여 한줄로 작성하라.

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

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


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

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("*");

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("*");
}


작성된 댓글이 없습니다!
로그인된 사용자만 댓글을 작성할 수 있습니다.