[Java] 형변환

정재현·2024년 1월 3일

Java

목록 보기
9/43
post-thumbnail

형변환이란

  • 어떤 변수형을 다른 형으로 변환시키는 방법
  • 형변환은 주로 기본형 변수인 정수 ↔ 실수 ↔ 문자 들 사이에서 일어난다.

형변환 방법

Double, Float → Int

  • (Int)캐스팅 방식으로 실수를 정수로 치환하는 방법
  • 이때 실수형의 소수점아래자리는 버려짐
	double doubleNumber = 10.101010;
	float floatNumber = 10.1010

	int intNumber;
	intNumber = (int)doubleNumber; // double -> int 형변환
	intNumber = (int)floatNumber; // float -> int 형변환

Int → Double, Float

  • (Double,Float) 캐스팅으로 정수형을 실수형으로 변환하는 방법
	int intNumber = 10;

	double doubleNumber = (double)intNumber; // int -> double 형변환
	float floatNumber = (float)intNumber;  // int -> float 형변환

자동 형변환

작은 타입 > 큰 타입 형변환 (자동 형변환)

  • 작은 크기의 타입에서 큰 크기의 타입으로 저장될때 큰 크기로 형변환이 발생
  • 값의 손실이 없음
변수 타입별 크기 순서
	byte(1) → short(2) → int(4) → long(8) → float(4) → double(8)
  • 예시
	byte byteNumber = 10;
	int intNumber = byteNumber;    // byte -> int 형변환
	System.out.println(intNumber); // 10

	char charAlphabet = 'A';
	intNumber = charAlphabet;   // char -> int 형변환
	System.out.println(intNumber); // A의 유니코드 : 65

	intNumber = 100;
	long longNumber = intNumber; // int -> number 형변환
	System.out.println(longNumber); // 100

	intNumber = 200;
	double doubleNumber = intNumber; // int -> double 형변환
	System.out.println(doubleNumber); // 200.0  (소수점이 추가된 실수출력)

큰 타입 > 작은 타입 형변환 (강제 형변환 = 캐스팅)

  • 작은 크기의 타입큰 크기의 타입계산될때 자동으로 큰 크기의 타입으로 형변환이 발생
  • 값의 손실이 생김
	int intNumber = 10;
	double doubleNumber = 5.5;
	double result = intNumber + doubleNumber; // result 에 15.5 저장됨 (int -> double)

	intNumber = 10;
	int iResult = intNumber / 4; // iResult 에 2 저장됨 (int형 연산 -> 소수점 버려짐)

	intNumber = 10;
	double dResult = intNumber / 4.0; // dResult 에 2.5 저장됨 (double형 연산 -> 소수점 저장)
profile
공부 기록 보관소

0개의 댓글