JAVA_타입 변환

JW__1.7·2022년 7월 22일
0

JAVA 공부일지

목록 보기
2/30

자동 타입 변환 (Promotion)

  • 작은 타입이 큰 타입으로 변하는 경우 자동 변환된다.
  • 서로 다른 타입으로 연산하는 경우 동일한 타입으로 자동 변환된다.
public class Promotion {
	public static void main(String[] args) {
		
        double a = 1.5;
		int b = 5;	
		System.out.println(a + b);	// 6.5 출력
	}
}
1.5는 8바이트 double 타입이고, 5는 4바이트 int 타입이기 때문에 이대로는 연산이 불가능하다.
java는 5를 8바이트 double 타입 5.0으로 자동 변환한 뒤 1.5 + 5.0으로 연산을 진행한다.

강제 타입 변환 (Casting)

  • 큰 타입이 작은 타입으로 변하는 경우 개발자가 강제로 진행해야 한다.
    강제로 타입을 변환시 변수 앞에 ( )를 붙이고 변환할 타입을 지정해준다.
  • 실수를 정수로 강제 타입 변환하면 소수점은 모두 손실된다.
public class Casting {
	public static void main(String[] args) {

  		double a = 1.7;
		int b = (int)a;
		System.out.println(b);  // 1 출력
	}
}
변수 b에 저장되는 값은 소수점 이하 0.7가 손실된 1이 저장된다.

문자열을 숫자데이터로 변환하기

public class parse01 {
	public static void main(String[] args) {
		
		String strScore = "100";
		String strMoney = "10000000000";
		String strGrade = "4.5";
		
		int score = Integer.parseInt(strScore);
		long money = Long.parseLong(strMoney);
		double grade = Double.parseDouble(strGrade);
		
		System.out.println(score);
		System.out.println(money);
		System.out.println(grade);
	}
}

숫자 데이터를 문자열로 변환하기

public class parse02 {
	public static void main(String[] args) {
    
        int age = 100;
		String strAge = String.valueOf(age);
		System.out.println(strAge);
	}
}

0개의 댓글