티스토리 뷰

[2-1] 다음 표의 빈 칸에 8개의 기본형(primitive type)을 알맞은 자리에 넣으시오.

 

크 기

종 류

1 byte

2 byte

4 byte

8 byte

논리형

boolean

boolean

 

 

문자형

char

char

 

 

정수형

bit

short

int

long

실수형

 

 

float

double

 

[2-2] 주민등록번호를 숫자로 저장하고자 한다. 이 값을 저장하기 위해서는 어떤 자료형 (data type)을 선택해야 할까? regNo라는 이름의 변수를 선언하고 자신의 주민등록번호로 초기화 하는 한 줄의 코드를 적으시오.

 

작성 답안: int regNo = 1234569876543;

 

 

 

 

 

정답: long regNo = 1234569876543L;

※ 숫자 범위가 int 범위를 넘음

 

[2-3] 다음의 문장에서 리터럴, 변수, 상수, 키워드를 적으시오.

int i = 100;        long l =100L;     final float PI = 3.14f;

 

작성 답안

- 리터럴 : int, long, float

- 변수 : i, l, PI

- 키워드 : final

- 상수 : 3.14f

 

 

 

 

 

 

정답

- 리터럴 : 100, 100L, 3.14f

- 변수 : i, l

- 키워드 : int, long, final, float

- 상수 : PI

 


 

[2-4] 다음 중 기본형(primitive type)이 아닌 것은?

a. int               b. Byte             c. double          d. boolean

 

작성 답안: b

 

 

 

 

 

정답: b

※ 기본형: boolean, byte, short, char, int, long, float, double 8

 

[2-5] 다음 문장들의 출력결과를 적으세요. 오류가 있는 문장의 경우, 괄호 안에 ‘오류’라고 적으시오.

 

작성 답안

System.out.println(1 + 2) ( 12 )                  System.out.println(true + “”) ( true )

System.out.println(A' + 'B') ( AB )                   System.out.println('1' + 2) ( 오류 )

System.out.println('1' + '2') ( 오류 )                 System.out.println('J' + ava) ( Java )

System.out.println(true + null) ( 오류 )

 

 

 

 

 

정답

System.out.println(1 + 2) ( 12 )               System.out.println(true + “”) ( true )

System.out.println(A' + 'B') ( 131 )               System.out.println('1' + 2) ( 51 )

System.out.println('1' + '2') ( 99 )                 System.out.println('J' + ava) ( Java )

System.out.println(true + null) ( 오류 )

 

[해설] 문자열과 덧셈연산을 하면 그 결과는 항상 문자열이 된다.

문자열 + any type → 문자열 + 문자열문자열

any type + 문자열문자열 + 문자열문자열

"" + 7 → "" + "7" → "7" // 빈 문자열을 더해서 숫자를 문자열로 변환한다. 7 + "" → "7" + "" → "7"

7 + " " → "7" + " " → "7 " " " + 7 → " " + "7" → " 7"

7 + "7" → "7" + "7" → "77"

7 + 7 + "" → 14 + "" → "14" + "" → "14" "" + 7 + 7 → "7" + 7 → "7" + "7" → "77"

true + "" → "true" + "" → "true" null + "" → "null" + "" → "null"

 

※ 문자(char)와 문자(char)의 덧셈은 int형으로 변환된 후에 연산이 진행됨

‘A’ = 65, ‘B’ = 66, ‘1’ = 49, ‘2’ = 50

[2-6] 다음 중 키워드가 아닌 것은?(모두 고르시오)

a. if      b. True             c. NULL            d. Class            e. System

 

작성 답안: a, b

 

 

 

 

 

정답: b, c, d, e

 

[해설] Java에서는 대소문자를 구별하기 때문에 true는 키워드이지만 True는 키워드가 아니다. 다음은 Java에서 사용하는 키워드이다.

abstract

default

if

package

this

assert

do

goto

private

throw

boolean

double

implements

protected

throws

break

else

import

public

transient

byte

enum

instanceof

return

true

case

extends

int

short

try

catch

false

interface

static

void

char

final

long

strictfp

volatile

class

finally

native

super

while

const

float

new

switch

continue

for

null

synchronized

 

 


 

[2-7] 다음 중 변수의 이름으로 사용할 수 있는 것은? (모두 고르시오)

a. $ystem          b. channel#5      c. 7eleven         d. If     

e. 자바  f. new   g. $MAX_NUM   h. hello@com

 

작성 답안: a, d, g

 

 

 

 

 

정답: a, d, e, g

 

[해설] 변수의 이름(identifier)은 다음과 같은 규칙이 있다.

1. 대소문자가 구분되며 길이에 제한이 없다.

- True true는 서로 다른 것으로 간주된다.

 

2. 예약어를 사용해서는 안 된다.

- true는 예약어라서 사용할 수 없지만, True는 가능하다.

 

3. 숫자로 시작해서는 안 된다.

- top10은 허용하지만, 7up는 허용되지 않는다.

 

4. 특수문자는 '_' '$'만을 허용한다.

- $harp은 허용되지만, S#arp은 허용되지 않는다.

 

[2-8] 참조형 변수(reference type)와 같은 크기의 기본형(primitive type)? (모두 고르시오)

a. int    b. long  c. short d. float  e. double

 

작성 답안: a, d

 

 

 

 

 

정답: a, d

 

[해설] 모든 참조형 변수는 4 byte이므로, 크기가 4 byte인 기본형 타입을 고르면 된다.

 


 

[2-9] 다음 중 형변환을 생략할 수 있는 것은? (모두 고르시오)

byte b = 10;

char ch = 'A';

int i = 100;

long l = 1000L;

a. b = (byte)i;               b. ch = (char)b;             c. short s = (short)ch;

d. float f = (float)l;         e. i = (int)ch;

 

작성 답안: c, e

 

 

 

 

 

정답: d, e

 

[해설]

a. b = (byte)i; // int(4byte) → byte(1byte)이므로 반드시 형변환 필요

b. ch = (char)b; // byte(1byte) → char(2byte)이지만 범위가 달라서 형변환 필요

c. short s = (short)ch; // char,short 2byte이지만 범위가 달라서 형변환 필요

d. float f = (float)l; // float(4byte)의 범위가 long(8byte)보다 커서 생략가능

e. i = (int)ch; // char(2 byte) → int(4byte)이므로 생략가능

 

[2-10] char타입의 변수에 저장될 수 있는 정수 값의 범위는? (10진수로 적으시오)

 

작성 답안: 0 ~ 127

 

 

 

 

 

정답: 0 ~ 65535

 

[해설] char 2 byte(2*8=16bit)이므로 ‘2 16제곱개의 값을 표현할 수 있다.

2 16제곱은 65536개이며, 0을 포함해야 하므로 0~65535(모두 65536) char범위가 된다.


 

[2-11] 다음중 변수를 잘못 초기화 한 것은? (모두 고르시오)

a. byte b = 256;            b. char c = '';                c. char answer = 'no';

d. float f = 3.14             e. double d = 1.4e3f;

 

작성 답안: a(범위 초과), c(글자수 초과), d(f 생략. double만 생략 가능)

 

 

 

 

 

정답: a, b, c, d

 

[해설]

a. byte b = 256; // byte의 범위(-128~127)를 넘는 값으로 초기화 할 수 없음.

b. char c = ''; // char는 반드시 한 개의 문자를 지정해야함

c. char answer = 'no'; // char에 두 개의 문자를 저장할 수 없음.

d. float f = 3.14 // 3.14 3.14d의 생략된 형태. 접미사f를 붙이거나 형변환필요

e. double d = 1.4e3f; // double(8byte) float(4byte)을 넣는 것이므로 OK

 

[2-12] 다음 중 main메서드의 선언부로 알맞은 것은? (모두 고르시오)

a. public static void main(String[] args)

b. public static void main(String args[])

c. public static void main(String[] arv)

d. public void static main(String[] args)

e. static public void main(String[] args)

 

작성 답안: a, b

 

 

 

 

 

정답: a, b, c, e

 

[해설]

a. public static void main(String[] args)

b. public static void main(String args[])

c. public static void main(String[] arv) // 매개변수 args의 이름은 달라도 됨

d. public void static main(String[] args) // void는 반드시 main앞에 와야 한다.

e. static public void main(String[] args) // public static은 위치가 바뀌어도 됨

 

※ 배열을 의미하는 기호인 ‘[]’는 타입 뒤에 붙여도 되고 변수명 뒤에 붙여도 되기 때문에 'String[] args' ‘String args[]'는 같은 뜻이다.

 

[2-13] 다음 중 타입과 기본값이 잘못 연결된 것은? (모두 고르시오)

a. boolean – false          b. char - '\u0000'          c. float - 0.0

d. int – 0                     e. long – 0                   f. String - ""

 

작성 답안: 없음

 

 

 

 

 

정답: c, e, f

 

[해설]

c. float - 0.0 // float 0.0f가 기본값. 0.0 0.0d에서 접미사 d가 생략된 것

e. long - 0 // long 0L이 기본값.

f. String - "" // String은 참조형 타입. 모든 참조형 타입의 기본값은 null

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
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
글 보관함