Java 상수와 리터럴,형 변환

DONGHYUN KOO·2020년 12월 6일
0

Java

목록 보기
5/13
post-thumbnail

|상수와 리터럴

상수: 변하지 않는 수

리터럴:프로그램에서 사용하는 모든 숫자,값,논리 값

모든 리터럴은 상수 풀 (constant pool)에 저장되어 있음

상수 풀에 저장될 떄 정수는 int, 실수는 double로 저장됨

형 변환

서로 다른 자료형의 값이 대입되는 경우 형 변환이 일어남

묵시적 형 변환(implicit type conversion):

작은수에서 큰 수로
덜 정밀한 수에서 더 정밀한 수로 대입되는 경우

명시적 형 변환(explicit type conversion):
변환 되는 자료 형을 명시
자료의 손실이 발생 할 수 있음

package variable;

public class ImplicitConversion {
	
	public static void main(String[] args) {
		
		byte bNum = 10;
		int iNum = bNum;
		
		System.out.println(bNum);
		System.out.println(iNum);
		
		int iNum2 = 20;
		float fNum = iNum2;
		
		System.out.println(fNum);
		
		double dNum;
		dNum = fNum + iNum;//float로 변동
		
		System.out.println(dNum);
		
	}
}
10
10
20.0
30.0
package variable;

public class ExplicitConversion {

	public static void main(String[] args) {
		
		int i = 1000;
		byte bNum = (byte)i;
		System.out.println(bNum);
		
		double dNum1 = 1.2;
		float fNum = 0.9F;
		
		int iNum1 = (int)dNum1 + (int)fNum;
		int iNum2 = (int)(dNum1 + fNum);
		
		System.out.println(iNum1);
		System.out.println(iNum2);
		
	}

-24
1
2

|2진수, 8진수, 16진수

10을 각 진법으로 쓰면...

2진수 0B1010;

8진수 012;

16진수 0XA;

package variable;

public class BinaryTest {

	public static void main(String[] args) {

		int num = 10;
		int bNum = 0B1010;
		int oNum = 012;
		int xNum = 0XA;
		
		System.out.println(num);
		System.out.println(bNum);
		System.out.println(oNum);
		System.out.println(xNum);
	}

}
10
10
10

0개의 댓글