문자열에있는 숫자를 계산하고 싶은경우, 스트링변수에 Int값을 넣고싶은 경우 등등,
코딩을 하다보면 어떤 변수형을 다른 형으로 강제 치환해야 할 경우가 많다.
그럴 때 유용하게 쓰이는 형변환에 대해 알아보자.
▶문자 -> 숫자
▶문자 -> 숫자
package main;
public class mainClass {
public static void main(String[] args) {
/*
[우선순위]
(자료형) 변환
boolean 1
byte 1
short 2
int 4
long 8
float 4 // 소수점형이 우선순위는 더 높음
double 8
(자동 형 변환, 강제 형(cast) 변환)
*/
// 자동형 변환 (작은 그릇에서 큰 그릇으로 변환)
short sh = 10;
int num;
num = sh; // 자동 형변환
System.out.println("num = " + num);
// 반대 되는 경우
num = 20;
sh = (short)num; // 강제(cast) 형변환
System.out.println(" sh = " + sh);
num = 128; // byte 범위를 넘어섰다
byte by = (byte)num;
System.out.println("by = " + by);
float f1;
f1 = (float) 3 / 2;
// 1.0이 나오는 경우는 int 값으로 읽었기 때문.
계산 먼저 한 다음에 자동형 저장된다.
'정확한 계산값 요구될 때' 강제형 변환이 필요하다.
System.out.println("f1 = " + f1);
// 이런 경우 잘 사용이 된다
// 우선순위 TEST
long lo = 12121231311L;
float fl;
fl = lo;
double d;
d = lo;
System.out.println("fl = " + fl);
System.out.println("d = " + d);
// 1.21212314E10 (결과값)
// E = *10 이라는 의미, E10 = 10의 10승, * 10000000000
// E3 : *10을 3번 한 것이다
// E-2 : * (1/10) * (1/10)
double value = 123.4567;
// 대체로 소수점은 뒤에 짜르고 사용한다. 보기 편하기 위해, 이런 경우 잘 사용된다
int n;
n = (int)value;
System.out.println("n =" + n);
}
}
'개발 > JAVA' 카테고리의 다른 글
[JAVA] PreparedStatement(pstmt)와 Statement(stmt)의 차이점 (0) | 2020.07.30 |
---|---|
[JAVA] #02. [SQL] StringBuffer, StringBuilder, String 의 차이점 (0) | 2020.07.29 |
[JAVA] #09. 비트 연산자(bitwise operator), 시프트 연산자 (0) | 2020.07.28 |
[JAVA] #08. 자료형(Java Data Type) :: boolean, int, char, double 등 (0) | 2020.07.28 |
[JAVA] #07. 논리 연산자 & 삼항 연산자 (0) | 2020.07.28 |