본문 바로가기

Java/혼공자 java 공부

타입변환

byte < short < int < long < float < double

 

자동타입변환 :

1. 작은 허용범위타입 -> 큰 허용범위타입

2. 정수타입이 실수타입으로 저장되는 경우

3. char 타입이 int 타입에 저장되는 경우(유니코드 값 저장)

byte byteValue = 10;
int intValue = byteValue;

강제 타입변환 :

작은 허용 범위 타입 = (작은 허용 범위 타입) 큰 허용 범위 타입
실수 타입(float,double)은 정수타입(byte,short,int,long)으로 변환 시 소수점 이하는 버림. 정수 부분만 저장됨

double doubleValue = 3.14;
int intValue = (int) doubleValue; // 3

정수 연산에서의 자동 타입 변환(int)

int 보다 큰 경우, 두 피연산자 중 허용 범위가 큰 타입으로 변환된다.
실수 연산은 double타입으로 자동 변환된다.

 

정수 산술연산결과 = 정수
실수 산술연산결과 = 실수

int x = 1;
int y = 2;
double result = x / y;
이 때 result를 출력하면 0.0이 출력된다.

실수값이 나오게 하려면? double타입으로 변환한다,

int x = 1;
int y = 2;
double result = (double) x / y;
result 는 0.5로 출력됨

문자열은 앞에서 순서대로 + 연산 수행함.
만약 먼저 수행된 연산이 결합 연산이라면 이후 + 연산은 모두 결합 연산이다.

String str = 1 + 2 + "3"; -> String str 3 + "3"; -> String str = "33";
String str = 1 + "2" + 3; -> String str "12"+3; -> String str = "123";

 

기본타입의 값을 문자열로 변경 하는 경우

(byte,short,char,int,long,float,double,boolean)
String.valueOf(기본타입값)

문자열을 기본 타입으로 강제타입변환

String -> int

String str = "3000000";
int value = Integer.parseInt(str);

String -> double

String str = "12.345";
double value = Double.parseDouble(str);

'Java > 혼공자 java 공부' 카테고리의 다른 글

연산자, 반복문  (0) 2023.09.14
자바 실행 과정  (0) 2023.09.14
내가 만든 객체를 메모리에서 제거하는 법  (0) 2023.01.02
자바에서 error, exception  (0) 2023.01.02
자바 프로그램 개발과정  (0) 2022.12.22