본문 바로가기
JAVA

명품 자바 에센셜 2강 이론문제

by IT 정복가 2022. 3. 7.
728x90

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

답: class

 

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

int _i; 
int %j; 
char 안녕; 
double 1var; 
char student_ID;

답: 2번(%j),4번(1var)

이유: 특수문자(%,&,*,@등), 공백(탭, space등)은 식별자로 사용할 수 없으나 _ , $는 예외다.

       식별자로 한글을 사용할 수 있다.

       if, while, class 등 자바 언어의 키워드는 식별자로 사용할 수 없다.

       식별자의 첫 번째 문자로 숫자는 사용할 수 없다.

       대소문자를 구별한다.

       길이 제한이 없다.

 

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'; 이유: char는 ''
(5) 자신의 이름으로 초기화된 문자열 변수 name 답 : String name = "Cocoon"; 이유: String은 ""

 

4. 다음 수식의 결과 값과 타입은?
(1) 67 + 12.8

답 : 79.8 double(실수형)


(2) 'c' + 1 

답 : 100 int(정수형)


(3) 10/3 

답 : 3 int(정수형)


(4) 10.0/3 

답 : 3.333.... double(실수형)


(5) 10 == 9 

답 : false boolean(논리형)

 

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

 

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

1) 10         2) "A"         3) 'A'         4) 5.4
답 : 4번 5.4

이유: 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);
	}	
}

이유: public static void main(String[] args)가 빠져있었다.

 

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

이유: case1부터 break문이 있는 case3까지 출력된다.

(2) option이 2일 때
답: 옵션2

    옵션3

이유: case2부터 break문이 있는 case3까지 출력된다.

(3) option이 3일 때
답: 옵션3

이유: case3을 출력 후 break문을 만나 빠져나간다.

(4) option이 4일 때
답: 해당 없음

이유: case4는 없기때문에 default인 '해당없음'이 출력

 

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