2장. 변수(Variables)
연습문제
2-1.
다음 표의 빈칸에 8개의 기본형(primitive type)을 알맞은 자리에 넣으시오
종류 / 크기 | 1 byte | 2 byte | 4 byte | 8 byte |
---|---|---|---|---|
논리형 | boolean | |||
문자형 | char | |||
정수형 | byte | short | int | long |
실수형 | float | double |
2-2
주민등록번호를 숫자로 저장하고자 한다. 이 값을 저장하기 위해서는 어떤 자료형(data type)을 선택해야 할까? regNo라는 이름의 변수를 선언하고 자신의 주민등록번호로 초기화 하는 한 줄의 코드를 적으시오
1
String regNo = "012345-6789012";
2-3
다음의 문장에서 리터럴, 변수, 상수, 키워드를 적으시오
1
2
3
int i = 100;
long l = 100L;
final float PI = 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
다..맞지 않나…? Byte..? B가 대문자라서..?
타입 | 할당되는 메모리 크기 | 기본값 | 데이터의 표현 범위 | ||
논리형 | boolean | 1 byte | false | true, false | |
정수형 | byte | 1 byte | 0 | -128 ~ 127 | |
short | 2 byte | 0 | -32,768 ~ 32,767 | ||
int(기본) | 4 byte | 0 | -2,147,483,648 ~ 2,147,483,647 | ||
long | 8 byte | 0L | -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807 | ||
실수형 | float | 4 byte | 0.0F | (3.4 X 10-38) ~ (3.4 X 1038) 의 근사값 | |
double(기본) | 8 byte | 0.0 | (1.7 X 10-308) ~ (1.7 X 10308) 의 근사값 | ||
문자형 | char | 2 byte (유니코드) | ‘\u0000’ | 0 ~ 65,535 |
2-5
다음 문장들의 출력 결과를 적으세요. 오류가 있는 문장의 경우, 괄호 안에 ‘오류’ 라고 적으시오.
1
2
3
4
5
6
7
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); // error
2-6
다음 중 키워드가 아닌 것은?(모두 고르시오)
- a. if
- b. True
- c. NULL
- d. Class
- e. System
b,c,d,e
2-7
다음 중 변수의 이름으로 사용할 수 있는 것은?(모두 고르시오)
- a. $ystem
- b. channel#5
- c. 7eleven
- d. If
- e. 자바
- f. new
- g. $MAX_NUM
- h. hellp@com
b, c, f, h
2-8
참조형 변수(reference type)와 같은 크기의 기본형(primitive type)은(모두 고루시오)
- a. int
- b. long
- c. short
- d. float
- e. double
a, c
2-9
다음 중 형변환을 생략할 수 있는 것은?(모두 고르시오)
1
2
3
4
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;
b, d
더 작은 범위를 넣을 때는 형변환이 생략될 수 있다
2-10
char타입의 변수에 저장될 수 있는 정수 값의 범위는?(10진수로 적으시오)
$2^{16} = 65536$ 에서 하나를 뺌(0)
0 ~ 65535
2-11
다음 중 변수를 잘못 초기화 한 것은?(모두 고르시오)
- a. byte b = 256;
- b. char c = ‘’;
- c. char answer = ‘no’;
- d. float f = 3.14;
- e. double d = 1.4e3f;
a, b, c, d
2-12
다음 중 main 메서드의 선언부로 알맞은 것은?(모두 고르시오)
- a.
public static void main(String\[] args)
- b.
public static void main(String args\[])
- c.
public static void main(Stringp\[] arv)
- d.
public void static main(Stirng\[] args)
- e.
static public void main(String\[] args)
- a: 가장 일반적으로 보는 형태
- b: 변수명 뒤에 [] 가능
- e: static은 public/private 앞에도 올 수 있다
2-13
다음 중 타입과 기본값이 잘못 연결된 것은?(모두 고르시오)
- a. boolean - false
- b. char - ‘₩u0000’
- c. float - 0.0
- d. int - 0
- e. long - 0
- f. String - “ “
b