🤯TIL/JAVA

[이것이 자바다 - 연습문제] chapter 02. 변수와 타입

Dorothy_YANG 2022. 10. 10. 18:42
728x90

 

책 버전

0. 문제
➡ 정답

(설명)


1. 자바에서 변수에 대한 설명 중 틀린 것은 무엇입니까?

➡ 변수는 초기값이 저장되지 않은 상태에서 읽을 수 있다.

 

(설명)

변수는 초기화가 되어야 읽을 수 있다.


2. 변수 이름으로 사용 가능한 것을 모두 선택하세요.

➡ modelName / $value / age

 

(설명)

사용 불가 : 예약어, 숫자로 시작
사용 가능 : $와 _로 시작하는 것은 가능함


3. 다음 표의 빈칸에 자바의 기본 타입(Primitive Type) 8개를 적어보세요.

암기하기!!

크기 / 타입 1byte 2 byte 4 byte 8 byte
정수타입 byte char(+)
short
int long
실수타입     float double
논리타입 boolean      

 

(설명)

크기별로 타입을 정리하면 다음과 같다. (정수형 < 실수형 개념으로 정의)

byte(1) < char(+)/short(2) < int(4) < long(8) < float(4) < double(8)


4. 다음 코드에서 타입, 변수 이름, 리터럴에 해당하는 것을 적어 보세요.

    int age;

    age = 10;

    double price = 3.14;

 

➡ 타입 : int, double

    변수 이름 : age, price

    리터럴 : 10, 3.14


5. 자동 타입 변환 / 컴파일 에러가 발생하는 것은 무엇입니까?

    byte byteValue = 10;

    char charValue = 'A';

➡ short shortValue = charValue;

 

(설명)

*char는 음수범위에 따른 예외 주의! char는 2byte의 크기를 가지지만, 범위는 0~65535이므로 음수가 저장될 수 없다.
따라서 음수가 저장될 수 있는 byte 타입이나 short 타입은 char타입으로 자동 변환시킬 수 없다.


6. 강제 타입 변환(Casting) / 컴파일 에러가 발생하는 것은 무엇입니까?

    int intValue = 10;

    char charValue = 'A';

    double doubleValue = 5.7;

    String strValue = "A";

➡ char var = (char) strValue;

 

(설명)

문자열 ➡ 문자 (X)


7. 변수를 잘못 초기화한 것은 무엇입니까?

➡ char var3 = ''; // 작은 따옴표 두 개가 붙어 있음

 

(설명)

char 타입의 변수에 어떤 문자를 대입하지 않고 단순히 초기화를 할 목적으로

작은 따옴표 두개를 연달아 붙인 빈 문자를 대입하면 컴파일 에러가 발생한다.

*때문에 공백 하나를 포함해서 초기화해야 한다. (char c = ' ';)


8. 연산식에서의 타입 변환 내용 / 컴파일 에러가 생기는 것은 무엇입니까?

    byte byteValue = 10;

    float floatValue = 2.5F;

    double doubleValue = 2.5;

➡ byte result = byteValue + byteValue;

 

(설명)

자바는 정수 연산일 경우 int 타입을 기본으로 한다.
byte 타입 + byte 타입의 결과 result는 int result가 된다.

728x90