java/코드 리뷰
2. datatype - (5) DataTypeDemo5
Astaroth아스
2020. 3. 20. 08:54
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
package datatype;
public class DataTypeDemo5 {
public static void main(String[] args) {
/* 기본자료형의 형변환 */
//자동 형변환
//--> 컴파일러가 알아서 타입을 변환한다.
//--> 크기가 작은 타입을 값의 크기가 큰 타입으로 변환시키는 것이다.
//--> 정밀도가 낮은 타입의 정밀도가 높은 타입으로 변환시키는 것이다.
//--> 값의 손실이 발생하지 않는 타입변환이다.
//정수(int) → 실수(double) : 4Byte 정수를 8Byte 실수에 담기
double a = 3; // 3 → 3.0
//정수(int) → 정수(long) : 4Byte 정수를 8Byte long형 정수에 담기
int b = 30;
long c = b; //30 → 8Byte 30으로 변환 → c에 대입
//정수(int) → 실수(float) : 4Byte 정수(낮은 정밀도)를 4Byte 실수형(높은 정밀도)변수에 담기
float d = b; //30 → 30/0으로 변환 → d에 대입
//연산의 결과는 연산에 참여한 값의 타입과 동일한 타입의 값이 나온다.
System.out.println(2/3); // 정수/정수 → 결과 : 정수
System.out.println(2/3.0); // 정수/실수 → 결과 : 실수
//수동 형변환
//--> 개발자가 직접 변환할 타입을 지정해서 형변환을 시킨다.
//실수 → 정수로 변환하는 것
//데이터의 손실이 발생하는 변환임. 컴파일러가 3.14를 3으로 변환하지 않고 오류를 표시함
//(int)로 형변환 의사를 직접 표시한다.
//double → float → long → int → char → short → byte
int x = (int) 3.14;
System.out.println(x);
int y = (int) (67.5/3.14);
System.out.println(y);
double z = (double)(70 + 42 + 88)/3;
System.out.println(z);
}
}
|