본문 바로가기
study/Java

[Java] 4. 형변환 예제, 리터널 사용 접미사 (double, float, long)

by 금이패런츠 2022. 3. 10.
728x90
반응형
package chap2;
/*
 * 형변환 예제
 *   1. 기본자료형과 참조자료형 사이의 형변환 불가 (단, Wrapper 클래스는 제외)
 *   2. 기본자료형 중 boolean을 제외한 7가의 자료형은 서로 형변환 가능함.
 *   3. 자동형변환 : 형변환 연산자 생략가능
 *                작은자료형 변수가 큰자료형 변수로 형변환 될때 형변환 연산자 생략가능
 *     명시적형변환 : 형변환 연산자 생략 불가
 *                큰자료형 변수가 작은자료형 변수로 형변환 될때 형변환 연산자 생략불가
 *                  -> 자동형변환               <- 명시적형변환                           
 *     byte(1)-short(2)-int(4)-long(8)-float(4)-double(8)
 *            -char (2)           
 *     
 * 리터널에 사용되는 접미사
 *   d,D : double형 리터널
 *   f,F : float형 리터널
 *   l,L : long형 리터널    
 */
public class VarEx3 {

	public static void main(String[] args) {
		byte b1 = 10;          //정수형 리터널 10 byte형 변수에 저장 가능. -128 ~ 127
		short s1 = 100;        //정수형 리터널 100
		int i1 = (int)1000L;   //정수형 리터널 1000
		long l1 = 10000;       //정수형 리터널 10000
		float f1 =(float)10.5; //실수형 리터널 10.5 기본형 double형으로 취급함.
		f1 = 10.5f;            //10.5f : float형 리터널 10.5
		double d1 = 10.5;      //실수형 리터널 10.5
		
		//연산하기
		// = 오라클 비교연산자. 등가여부
		// = 자바 대입연산자. a=10; 10을 a 변수에 저장
		int i2 = b1 + i1;      //int = byte + int
		System.out.println(i2);
		long l2 = i1 + l1;     //long = int + long
		System.out.println(l2);
		float f2 = f1 + l1;    //float = float + long
		System.out.println(f2);
		
		//char의 형변환
		char c1 = 'A';
		System.out.println(c1 + "=" + (int)c1);
		int i3 = c1;
		System.out.println(i3);
		char c2 = (char)i3;
		System.out.println(c2);
		
		//char 연산
		char c3 = (char) (c1 + 1); // int = char + int
		System.out.println(c3); // 66 = B문자.
		
		//byte 연산 : int형보다 작은자료형 (byte, short, char)사이의 연산의 결과 int형임.
		byte b2 = 10;
		byte b3 = (byte) (b1 + b2); // int = byte + byte
		System.out.println(b3);
		
		int il1 = (int)1000L;
		/*
		 * 1. 1000L : long 리터널
		 * 2. 1000L값이 int형으로 변환
		 * 3. il1 변수 1000값 저장
		 */
	}

}
728x90
반응형