상수: 변하지 않는 수
리터럴:프로그램에서 사용하는 모든 숫자,값,논리 값
모든 리터럴은 상수 풀 (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
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