java 데이터 타입 변환, 형변환 - casting

limchard·2023년 10월 25일
0

java

목록 보기
8/48
double a = 1.1;
double b = 1;
double b2 = (double) 1;
System.out.println(b);

// int c = 1.1;
double d = 1.1;
int e = (int) 1.1;
System.out.println(e);

// 1 to String
String f = Integer.toString(1);
System.out.println(f.getClass());
	}
}

데이터를 변환해보자.

실수를 이용해 1을 기입 시 결과는 1.0이 나온다. 정수 1을 기입해도 알아서 실수로 변환하여 1.0이 나온다.

double b = 1;

1.0

하지만 정수 1.1을 기입하면 에러가 난다.

int c = 1.1;

이유는 1.1을 정수로 표현 시 1이 되어야 하는데 이때 0.1이 손실되기 때문에 에러가 난다.

이를 해결하기 위해서는 정수로 표현해달라고 지정을 해줘야 한다.

int e = (int) 1.1;

위와 같이 값 앞에 괄호를 하여 데이터 타입을 명시적으로 변경해줘야 한다.

정수를 문자열로 변환 시 아래와 같이 해야 한다.

String f = Integer.toString(1);

그리고 결과를 볼 때 1이 숫자인지, 문자인지 명확히 보려면 아래와 같이 ".getClass()'를 추가하면 알 수 있다.

System.out.println(f.getClass());
// String타입을 int타입으로 변경하려면
// Integer.parseInt("10"); 문자열이10이 정수10으로 반환
// Double.parseDouble("12.23); 문자열 12.23이 실수타입 12.23으로 반환


String num1="300";
String num2="20";

System.out.println("두수 더하기 : "+(num1+num2));

// 문자열 num1, num2를 정수타입 int로 변환 후 계산
 
//System.out.println(Integer.parseInt(num1+num2));

int su1=Integer.parseInt(num1);
int su2=Integer.parseInt(num2);
profile
java를 잡아...... 하... 이게 맞나...

0개의 댓글