이것이 자바다 2장 확인문제

  1. 자바에서 변수에 대한 설명 중 틀린 것은 무엇입니까?
    ① 변수는 하나의 값만 저장할 수 있다.
    ② 변수는 선언 시에 사용한 타입의 값만 저장할 수 있다.
    ③ 변수는 변수가 선언된 중괄호 {} 안에서만 사용 가능하다.
    ④ 변수는 초기값이 저장되지 않은 상태에서 읽을 수 있다.

    1번 정답

    답 : ④

    변수는 초기화가 되어야 읽을 수가 있고, 초기화되지 않은 변수는 읽을 수가 없다.
    이것이 자바다 35p 참고


  2. 변수의 이름으로 사용 가능한 것을 모두 선택하세요.
    ① modelName
    ② class
    ③ 6hour
    ④ $value
    ⑤ _age
    ⑥ int

    2번 정답

    답 : ①, ④, ⑤

    작성 규칙 ex
    첫 번째 글자는 문자이거나 ‘$’, ‘_‘이어야 하고
    숫자로 시작할 수 없다. (필수)
    - 가능: price, $price, _companyName
    - 안됨 : 1v, @speed, $#value
    영어 대소문자가 구분된다. (필수) firstname 과 firstName 은 다른 변수
    첫 문자는 영어 소문자로 시작하되,
    다른 단어가 붙을 경우 첫 문자를 대문자로 한다. (관례)
    maxSpeed, firstName, carBodyColor
    문자 수(길이)의 제한은 없다.  
    자바 예약어는 사용할 수 없다. (필수) boolean, byte, private, class, new, void 등

    이것이 자바다 31p 참고


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

    크기/타입 1byte 2byte 4byte 8byte
    정수타입 (     ) (     )
    (     )
    (     ) (     )
    실수타입     (     ) (     )
    논리타입 (     )      
    3번 정답

    답 :

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

    이것이 자바다 38p 참고


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

    1
    2
    3
    
     int age;
     age = 10;
     double price = 3.14;
    

    타입 : (     ), (     )
    변수이름 : (     ), (     )
    리터럴 : (     ), (     )

    4번 정답

    답 :

    타입 : ( int ), ( double )
    변수이름 : ( age ), ( price )
    리터럴 : ( 10 ), ( 3.14 )

    이것이 자바다 32p 참고


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

    1
    2
    
     byte byteValue = 10;
     char charValue = 'A';
    

    ① int intValue = byteValue;
    ② int intValue = charValue;
    ③ short shortValue = charValue;
    ④ double doubleValue = byteValue;

    5번 정답

    답 : ③ short shortValue = charValue;

    자동 타입 변환
    작은 크기 타입이 큰 크기 타입에 저장될 때 발생

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

    자동 타입 변환에서 단 하나의 예외
    char는 2byte의 크기를 가지지만, char의 범위는 0~65535 이므로 음수가 저장될 수 없다.
    따라서 음수가 저장될 수 있는 byte 타입을 char 타입으로 자동 변환시킬 수 없다.
    이것이 자바다 51p 참고


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

    1
    2
    3
    4
    
     int intValue = 10;
     char charValue = 'A';
     double doubleValue = 5.7;
     String strValue = "A";
    

    ① double var = (double) intValue;
    ② byte var = (byte) intValue;
    ③ int var = (int) doubleValue;
    ④ char var = (char) strValue;

    6번 정답

    답 : ④ char var = (char) strValue;

    강제 타입 변환
    (작은 크기 타입) 큰 크기 타입 → 작은 크기 타입으로 강제 타입 변화

    1
    2
    
     int intValue = 10302970;
     byte byteValue = (byte) intValue;   //강제 타입 변환(캐스팅)
    

    char 타입 변수는 단 하나의 문자만 저장한다.
    String 은 문자열을 저장하는 변수 타입으로 char 형으로 변환을 할 수 없다. 이것이 자바다 52p 참고


  7. 변수를 잘못 초기화한 것은 무엇입니까?
    ① int var1 = 10;
    ② long var2 = 10000000000L;
    ③ char var3 = ‘’;
    ④ double var4 = 10;
    ⑤ float var5 = 10;

    7번 정답

    답 : ③ char var3 = ‘’;

    char 타입 변수에 어떤 문자를 대입하지 않고 단순히 초기화를 할 목적으로
    다음과 같이 작음 따옴표(‘) 두 개를 연달아 붙인 빈(empty) 문자를 대입하면
    컴파일 에러가 발생한다.

    공백(유니코드:32) 하나를 포함해서 초기화해야 한다.

    1
    2
    
     // char c = '';  컴파일 에러  
     char c = ' ';
    

    이것이 자바다 44p 참고


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

    1
    2
    3
    
     byte byteValue = 10;
     float floatValue = 2.5F;
     double doubleValue = 2.5;
    

    ① byte result = byteValue + byteValue;
    ② int result = 5 + byteValue;
    ③ float result = 5 + floatValue;
    ④ double result = 5 + doubleValue;

    8번 정답

    답 : ① byte result = byteValue + byteValue;

    자바는 정수 연산일 경우 int 타입을 기본으로 한다.
    그 이유는 피연산자를 4byte 단위로 저장하기 때문이다.

    크기가 4byte 보다 작은 타입(byte, char, short) 은 4byte 인 int 타입으로 변환된 후 연산이 수행된다.
    따라서 연산의 결과도 int 타입이 된다.

    이것이 자바다 58p 참고


🌞 정보 : 공부 기록용 블로그입니다. 오타나 내용 오류가 있을 경우 알려주시면 감사하겠습니다.

댓글남기기