package z_exam;
public class exam02 {
public static void main(String[] args){
/*[2-1] 다음 표의 빈 칸에 8개의 기본형(primitive type)을 알맞은 자리에 넣으시오.*/
System.out.println(" [1번 답]");
System.out.println(" 1bite 2byte 4byte 8byte ");
System.out.println(" 논리형 boolean ");
System.out.println(" 문자형 char");
System.out.println(" 정수형 byte short int long");
System.out.println(" 실수형 float double");
System.out.println("\n");
/*[2-2] 주민등록번호를 "숫자"로 저장하고자 한다.
이 값을 저장하기 위해서는 어떤 자료형(data type)을 선택해야 할까?
regNo라는 이름의 변수를 선언하고 자신의 주민등록번호로
초기화 하는 한 줄의 코드를 적으시오. */
long regNo = 820528123456L ;
//regNo라는 이름의 변수를 선언, L을 안쓰면 int로 인식. 범위를 넘어서기 때문에 에러
System.out.println(" [2번 답]");
System.out.println(" regNo : " + regNo);
System.out.println("\n");
//딴 생각 01
String reg2 = "820528";
String No2 = "1*****";
String regNo2 = reg2 + No2; //regNo라는 이름의 변수를 선언
System.out.println(" //+ 딴 생각1 : " + regNo2);
//딴 생각 02 자료형별 숫자 + 문자
int reg3 = 820528;
byte sex3 = 1;
String No3 = "*****";
String regNo3 = sex3 + No3; //regNo라는 이름의 변수를 선언
System.out.println(" //+ 딴 생각2 : " + reg3 + regNo3);
//딴 생각 03 자료형별 숫자 + 문자
int regNo4 = 820528; //regNo라는 이름의 변수를 선언
char sex4 = '1';
String No4 = "*****";
System.out.println(" //+ 딴 생각3 : " + regNo4 + "-" + sex4 + No4);
System.out.println("\n");
/*[2-3] 다음의 문장에서 리터럴, 변수, 상수, 키워드(//예약어)를 적으시오.
int i = 100;
long l =100L;
final float PI = 3.14f; */
System.out.println(" [3번 답]");
System.out.println(" 리터럴 : 100(정수형), 100L(정수형), 3.14f(실수형) ");
System.out.println(" 변수 : i, l ");
System.out.println(" 키워드 : int, long, float, final ");
System.out.println(" 상수 : PI ");
System.out.println("\n");
/*[2-4] 다음 중 기본형(primitive type)이 아닌 것은?
a. int
b. Byte
c. double
d. boolean*/
System.out.println(" [4번 답]");
System.out.println(" 'b' of cause '클래스일 수도 있고 변수일 수도 있고 값일 수도 있다.' ");
System.out.println("\n");
/*[2-5] 다음 문장들의 출력결과를 적으세요. 오류가 있는 문장의 경우, 괄호 안에 ‘오
류’라고 적으시오. */
System.out.println(" [5번 답]");
System.out.println(" System.out.println(“1” + “2”) → ( 12 ) ");
// 형 변환이 일어난 후 연산이된다. JVM은 4byte보다 작은 자료형은 4byte로 변환
System.out.println(" System.out.println(true + “”) → ( "true" ) ");
// 형 변환(String, 큰걸로 변환)이 일어나기 때문에
// -> "true" = string true가 되는 것이다
// JVM의 피연산자 스택이 피연사들을 4byte 단위로 저장되기 때문에
// 4byte형보다 작은 자료형의
// '연산 시' 4byte형으로 변환하여 연산된다
System.out.println(" System.out.println(‘A' + 'B') → ( 131 ) ");
//= char는 자동 형변환이 되기 때문에 -> 65 + 66
System.out.println(" System.out.println('1' + 2) → ( 51 ) ");
//= char 1 + 2 = 49 + 2 (둘 중에 하나만 4byte보다 작으면 큰 값을 따른다)
System.out.println(" System.out.println('1' + '2') → ( 99 ) ");
//= char 1 + char 2 = 49 + 50
System.out.println(" System.out.println('J' + “ava”) → ( "Java" ) ");
//형 변환(String, 큰걸로 변환)이 일어난 후 -> 연산이된다
System.out.println(" System.out.println(true + null) → ( 오류 ) ");
//= 논리 + 참조형의“null” = 기본형과 참조형의 기본형은 더할 수 없다.
// null =! String
System.out.println("\n");
/*[2-6] 다음 중 키워드가 아닌 것은?(모두 고르시오)
a. if
b. True
c. NULL
d. Class
e. System*/
System.out.println(" [6번 답]");
System.out.println(" (b)True -> true는 예약어, (c)NULL은 값-> null는 예약어, (d) Class 그냥 문자&권장 클래스 -> class는 예약어, (e)System은 원래 클래스");
System.out.println("\n");
/*[2-7] 다음 중 변수의 이름으로 사용할 수 있는 것은? (모두 고르시오)
a. $ystem
b. channel#5 //특수문자는 $, _만 사용가능
c. 7eleven //숫자는 맨앞에 못 옮
d. If //첫 글자가 대문자는 클래스(권장) , 소문자 if 는 예약어 이다
e. 자바 //권장하지는 않음
f. new
g. $MAX_NUM
h. hello@com //특수문자는 $, _만 사용가능 */
System.out.println(" [7번 답]");
System.out.println(" a, d(권장), e(권장은 아님), f, g " );
System.out.println("\n");
/*[2-8] 참조형 변수(reference type)와 같은 크기의 기본형(primitive type)은?
(모두 고르시오)
a. int
b. long
c. short
d. float
e. double*/
System.out.println(" [8번 답]");
System.out.println(" 'a, d 이다' of cause '참조형 변수는 4 byte'");
System.out.println("\n");
/*[2-9] 다음 중 형변환을 생략할 수 있는 것은? (모두 고르시오)
byte b = 10; //8bit(byte)
char ch = 'A'; //16bit(char) *주의 char -> int 만 가능
int i = 100; //32bit(int)
long l = 1000L; //64bit(long)
a. b = (byte)i; //8bit(byte) < 32bit(int)
b. ch = (char)b; //16bit(char) ! 8bit(byte)
c. short s = (short)ch; //8bit(short) ! 16bit(char)
//캐스트 연산자는 오버플로우를 해결하는 것이 아니라 경고를 하기 위함이다.
d. float f = (float)l; //32bit(float) > 64bit(long)
e. i = (int)ch; //32bit(int) > 16bit(char) */
System.out.println(" [9번 답]");
System.out.println(" d, e 이다. ");
System.out.println("\n");
/*[2-10] char타입의 변수에 저장될 수 있는 정수 값의 범위는? (10진수로 적으시오)*/
System.out.println(" [10번 답]");
System.out.println(" 2^16-1");
//문자이기 때문에 0부터 시작, char = 2 byte = 16 bit =
//2^16-1
System.out.println("\n");
/*[2-11] 다음중 변수를 잘못 초기화 한 것은? (모두 고르시오)
a. byte b = 256; //x 8bit = 127까지 쓸 수 있다 ????
b. char c = ''; // '기본형 타입 변수'의 경우 값을 필요로 한다. 없어서 오류
// & 만약 스페이스바 가 있으면! '126'으로 인식)
c. char answer = 'no'; //x 한 개의 문자만 쓸 수 있다
d. float f = 3.14 //x 뒤에 f 가 없으면 3.14로 인식. 그리고 ;가 없다
e. double d = 1.4e3f; //o 자료형은 다르지만 -> 방향이라 캐스트() 생략 가능
//*참고 : 10의 지수 형태(Exponential Format) - http://www.allcalc.tk/2383 */
System.out.println(" [11번 답]");
System.out.println(" 'a,b,c,d' of cause '형변환이지만 -> 방향이라 ()생략 가능하다 ");
System.out.println("\n");
/*[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)*/
System.out.println(" [12번 답]");
System.out.println(" 'a' of cause '익숙하다' ");
System.out.println("\n");
/*[2-13] 다음 중 타입과 기본값이 잘못 연결된 것은? (모두 고르시오)
a. boolean - false
b. char - '\u0000'
c. float - 0.0
d. int - 0
e. long - 0
f. String - "" */
System.out.println(" [13번 답]");
System.out.println(" 'c, e' of cause '0.0f'이고 long의 기본형은 0.0L이다 ");
//참조형(String)의 기본값은 주소가 존재하지 않아 null이 기본값이다
System.out.println("\n");
/* 참고 내용 */
System.out.println(Integer.SIZE);
//참조형 변수의 사이즈는 4byte ** https://dzone.com/articles/java-getting-size-object
}
}
'새로워지기 > 서른의 생활코딩' 카테고리의 다른 글
5일차) java 연산자 및 예제(2) _20180601 am (0) | 2018.06.01 |
---|---|
4일차) 기본 연산자 및 연산 순위 20180531 am (0) | 2018.05.31 |
3일차) 데이터 모델링으로 가기위한 요구사항 분석 _20180530 pm (0) | 2018.05.30 |
3일차) 변수에 대해 알기2(논리,문자,정수,실수,문자열,형변환) _20180530 am (0) | 2018.05.30 |
2일차) 짝궁 id로 짝꿍 ip 접속하기, 내 id로 짝꿍 ip접속하기 _201805 29_pm (0) | 2018.05.30 |
댓글