double dou = −273.15;
int num = (int)dou;
//Sample09_14.java class Sample09_14 { public static void main(String[] args){ double dou = -273.15; int num = (int)dou; System.out.println("num = " + num); System.out.println("dou = " + dou); } }
>javac Sample09_14.java
>java Sample09_14
num = -273 ← 切り捨てが発生
dou = -273.15
//Sample09_16.java //NG class Sample09_16 { public static void main(String[] args){ int int_value = 2147446517; short short_value = (short)int_value; System.out.println("int_value:\t" + int_value); System.out.println("short_value:\t" + short_value); System.out.println( "int_bin:\t" + Integer.toBinaryString(int_value) ); System.out.println( "short_bin:\t" + Integer.toBinaryString(short_value) ); } }
>javac Sample09_16.java >java Sample09_16 int_value: 2147446517 short_value: 28405 int_bin: 1111111111111110110111011110101 short_bin: 110111011110101
//Sample09_17.java class Sample09_17 { public static void main(String[] args){ double dou_max = 1.7976931348623157E308; double dou_min = -1.7976931348623157E308; System.out.println( "double to float over " + (float)dou_max ); System.out.println( "double to float under " + (float)dou_min ); } }
>javac Sample09_17.java >java Sample09_17 double to float over Infinity double to float under -Infinity