연습문제
- 형변환이란?
프로그램에서 특정 자료형을 다른 자료형으로 변환하는 것을 의미
- 캐스팅 연산자란?
형변환을 하기 위한 연산자
- 자동형변환과 명시적 형변환을 설명하시오.
자동형변환은 프로그램 내에서 자동으로 형변환되고
강제 형변환은 개발자가 원하는 형태로 강제로 형변환하는 것을 의미한다.
- 명시적 형변환시 주의할 점은 무엇인가?
명시적 형 변환(강제 형변환) 할 때는 캐스팅 연산자를 사용하여 기술 해야 하고 큰 데이터를 작은 공간에 강제로 넣는 작업을 진행 할 때에 데이터 손실이 발생할 수 있다.
- 자료형변환 고려사항 6가지를 기술해서 물음표를 체우자.
a. 정수 실수 자료형의 저장 범위크기 순으로 기술하시오.
int(4byte)<long(8byte)<float(4byte)<double(8byte)
b. int이하 자료형은 int형으로 자동형 변환 된다.
c. byte + byte는 int형이 된다.
d. int는 long로 자동 형변환 된다.
e. long은 double로 자동형 변환된다.
f. float은 double로 자동 형변환 된다.
g. boolean자료형은 몇몇 언어에서는 true면 1, false면 0으로 자동 형변환 되기도 하지만 자바에서는 boolean형의 자동 형변환 및 강제 형변환이 불가능 하다.
- 캐스팅 연산자는 산술연산자보다 우선순위가 높다.
(int)11.1+11.1
과(int)(11.1+11.1)
의 연산결과는 무엇이고 이유를 설명하시오.
(int)11.1+11.1 => 22.1, 캐스팅 연산자의 순위가 더 높음
(int)(11.1+11.1) => 22.2, 11.1+11.1 이 순위가 더 높음
- 다른 두가지 자료형이 연산되는 방법을 기술한것이다 물음표를 채우자.
a. 같은 자료형을 연산한 결과는 같은 자료형이 나온다.
b. 연산시 기본적으로 둘 중 더 큰 자료형으로 자동형 변환 된다.
c. 자동 형변환을 통해 연산 결과를 같은 자료형으로 만들 수 없다면 에러가 난다.
d. boolean 자료형은 문자열 자료형을 제외하고는 연산할 수 없다.
e. int 자료형보다 작은 byte 자료형과 short 자료형은 연산 결과 int형이된다.
f. long + (byte,short,char,int)==long형 자료형이 된다.
g. long + float == float, long + double == double형 자료형이 된다.
h. double + (문자열과 boolean를 제외한 모든 자료형)의 결과는 double이 된다.
i. float + (문자열과 boolean,double 를 제외한 모든 자료형)의 결과는 float이 된다.
j. 문자열 + 모든 자료형은 결과는 문자열이다.
k. 문자열 연산은 +연산만 가능하다.
l. 문자열은 다른 자료형으로 변환하기 위해서 캐스팅 연산자를 사용할수 없다.
m. 문자열 “11” 를 int형변환 할때사용하는 메소드는? Integer.parseInt
n. 문자열를 double형변환 할때사용하는 메소드는? Double.parseDouble
o. 문자열를 boolean형변환 할때사용하는 메소드는? Boolean.parseBoolean
p. 다양한 자료형을 문자열로 변경 하려면 “”+자료형 하면 된다.