package exam;
    public class Exam_02 {
        public static void main(String[] args){
             
    /*
             [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라는 이름의 변수를 선언하고 자신의 주민등록번호로
             초기화 하는 한 줄의 코드를 적으시오.
             
             [풀이]       
            주민등록번호는 8710301111111으로 13자리의 수로서 인트형의 (2^31)-1=2147483647, (자세한 풀이는 상용로그를 활용하여 31xlog2=9.331...10의 자리수를 가진다.) 10자리 수의 범위를 초과한다. 따라서 long float double 타입으로 수행하여야 한다.
             long regNo = 8710301111111L;  
             
             
             
             [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
             
             [풀이]       
             b. Byte
             
             [2-5] 다음 문장들의 출력결과를 적으세요. 오류가 있는 문장의 경우, 괄호 안에 ‘오
             류’라고 적으시오.
                              
             [풀이]
             System.out.println(“1” + “2”) → (12 )
             System.out.println(true + “”) → ("true"+null -> true)
             System.out.println(‘A' + 'B') → (A와 B는 문자열 값을 가지므로 65+66=131 )
             System.out.println('1' + 2) → (문자열 49와 2를 더하므로 51 )
             System.out.println('1' + '2') → ( 문자열49와 문자열 50을 더하므로 99)
             System.out.println('J' + “ava”) → (Java )
             System.out.println(true + null) → (true 기본값 + null 은 불가 => 오류)
             6 Java의 정석定石 3판 - 연습문제 풀이
             
             
             [2-6] 다음 중 키워드가 아닌 것은?(모두 고르시오)
             a. if
             b. True
             c. NULL
             d. Class
             e. System
                     
             [풀이]
             대소문자 구분이 되지 않았다. bcd
             e 는 키워드가 아닌 식별자이다.
             bcde 이클립스에 작성해보았다.
             
             
             [2-7] 다음 중 변수의 이름으로 사용할 수 있는 것은? (모두 고르시오) (이유 작성)
                     
             [풀이]
             a. $ystem -> 특수문자 $는 사용가능. o
             b. channel#5 -> #은 사용할 수 없는 특수문자이다. x
             c. 7eleven -> 숫자는 맨 앞에 나올 수 없다 x
             d. If -> 키워드가 아니기 때문에 나올 수 있다. o
             e. 자바 -> 한글도 사용은 가능하나 권장하지 않는다 o
             f. new -> 키워드기 때문에 나올 수 없다. x
             g. $MAX_NUM -> 특수문자 $는 사용가능. o
             h. hello@com -> @은 사용할 수 없는 특수문자 x
             
             adeg
             
             
             [2-8] 참조형 변수(참조형은 4byte 체계)(reference type)와 같은 크기의 기본형(primitive type)은? (모두 고르시오)
             a. int
             b. long
             c. short
             d. float
             e. double
                     
             [풀이]
             a는 정수형 4byte의 기본형이다.
             d는 실수형 4byte의 기본형이다.
             
             
             
             [2-9] 다음 중 형변환(casting)을 생략할 수 있는 것은? (모두 고르시오) (좌변>우변 인 경우에 가능하다.)
             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;
             
             [풀이]
             d,e
             
             bsilfd 혹은 cilfd 의 순서이다.
             a. 변수i는 인트형이기 때문에 더 작은 byte캐스팅 생략불가
             b. char형인 변수ch는 byte형 변수b과의 포함관계가 형성되지 못하기 때문에 char캐스팅 생략불가
             c. short형인 변수s는 char형인 변수ch와 포함관계가 형성되지 못하기 때문에 short캐스팅 생략불가
             d. float형인 변수f는 long형인 변수l을 포함하는 관계이기 때문에 생략가능하다.
             e. int형인 변수i는 char형인 ch를 포함하는 관계이기 때문에 생략가능하다.
             
             [2-10] char타입의 변수에 저장될 수 있는 정수 값의 범위는? (10진수 혹은 2의 지수로 표현)
             Java의 정석定石 3판 - 연습문제 풀이 7
             
             [풀이]
             char는 문자값을 가지기 때문에 +-판단 비트가 소모되지 않는다. 따라서 2byte의 16비트를 가지며 0~[(2^16)-1의 범위값을 가진다]
             따라서 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
             [풀이]
             a. byte는 8비트이며 +-의 판단으로 1비트를 소모하기 때문에 -(2^7)~[(2^7)-1]의 범위를 지닌다다. 따라서 256은 범위를 초과하는 값이라 오버플로우가 발생한다.
             b. char은 ''내부에 반드시 하나의 문자값을 저장하여야 하며 아무것도 지정하지 않을 수 없다.
             c. char은 ''내부에 반드시 하나의 문자값을 저장하여야 하며 하나를 초과하는 값은 저장할 수 없다.
             d. float는 실수값을 저장할 수 있지만 ;으로 마무리를 하지 않았기 때문에 초기화가 성립하지 않는다.
             e. double은 f를 포함하는 관계이기 때문에 초기화가 가능하다.
             
             [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번 이다.
             모르겠음.
             
             
             [2-13] 다음 중 타입과 기본값이 잘못 연결된 것은? (모두 고르시오)
             a. boolean - false
             b. char - '\u0000'
             c. float - 0.0
             d. int - 0
             e. long - 0
             f. String - ""
             
             [풀이]
             c. float의 기본은 0.0f로 표기한다.
             e. long의 기본형은 0L로 표기한다.
             f. String의 기본형은 null이다
                     
     */
             
        }
        
    }






    '개발 및 빅데이터 공부로그/대덕인재개발원' 관련 글 more
    Posted by 주식탐구영역 poca'