본문 바로가기
JAVA/변수

자료형변환(1)

by pms93 2022. 7. 18.
package variables;

public class Casting {
	
	public static void main(String[] args) {
		
		// 형변환(Casting)
		// 특정 변수에 대한 자료형을 형변환 할 수 있다.
		short tmpS; // 임시 저장변수
		char tmpC; // 임시 저장변수
		byte b = 97;
		short s = 20;
		char c = 'A';
		float f = 1.23f;
		
		tmpS = s;
		s = b;
		// b = s의 경우의 수도 비교하기 위해 s값을 임시변수에 저장.
		System.out.println(s);
		// 자료형 short변수에 byte형 데이터 대입연산
		
		s = tmpS;
		b = s; 
		//  -> byte(1byte)는 short(2byte)보다 작은 크기의 자료형이기 때문에 대입이 불가능하다.
		//  -> (byte)를 붙여줌으로서 형변환 후 대입이 가능하다.
		b = (byte)s;
		
		tmpC = c;
		c = b; 
		// char(1byte)에 byte(1byte)를 대입하는데 있어 크기에는 문제 없어보이나
		// char 표현가능 범위(0 ~ 65535), byte 표현가능 범위(-128 ~ 127)를 비교해 봤을 때
		// 음수를 char형 변수에 저장하는것은 불가능하다.
		
		c = (char)b;
		// byte형 변수 b를 char형으로 형변환 함으로서 대입연산이 가능해진다.
		
		s = (short)c;
		// 위 같은 경우도 표현범위(short(-32768 ~ 32767), char(0 ~ 65535))에 있어
		// 예외가 있으므로 형변환 후 대입연산이 가능하다.
		
		// java에서 실수 데이터는 기본적으로 double로 취급한다.
		// float = double은 대입하는데 있어 데이터 크기상에 문제가 있으므로 아래 두가지 방법으로 대입이 가능하다.
		f = 2.34f;
		f = (float)2.34;
		
		
		// 형변환을 통한 정수 + 단일문자 연산 및 출력
		int integerData = 123;
		int result;
		char ch = 'D';
		
		integerData += 10; // integerData = integerData + 10
		ch = (char)(ch + 3);
		result = integerData + ch;
		
		System.out.println(ch);
		System.out.println(result);
		System.out.println((char)result);
					
	}
}

'JAVA > 변수' 카테고리의 다른 글

자료형변환(2)  (0) 2022.07.18
변수 예제  (0) 2022.07.18
단일문자/문자열 간의 연산 및 출력  (0) 2022.07.18
Variables  (0) 2022.07.18