package 第1章.java概要;
public class _3_类型转换与越界 {
//类型转换
public static void testConversion(){
int i = Integer.MAX_VALUE;
System.out.println("max int =" + i);
short j = (short)i;
System.out.println("max int to short =" + j);
long k = i;
System.out.println("max int to long =" + k);
float x = i;
System.out.println("max int to float =" + x);
double y = i;
System.out.println("max int to double =" + y);
}
//越界
public static void testOutRange(){
int i = Integer.MAX_VALUE;
System.out.println("max int =" + i);
i = i + 1;
System.out.println("max int + 1 =" + i);
int j = Integer.MIN_VALUE;
System.out.println("min int =" + j);
j = j - 1;
System.out.println("max int - 1 =" + j);
double x = Double.MAX_VALUE;
System.out.println("max double =" + x);
x = x + Double.MAX_VALUE;
System.out.println("max double + max double =" + x);
double y = -Double.MAX_VALUE;
System.out.println("max double =" + y);
y = y - Double.MAX_VALUE;
System.out.println("- max double - max double =" + y);
double z = Double.MIN_VALUE;
System.out.println("min double =" + z);
z = z + Double.MIN_VALUE;
System.out.println("min double + min double =" + z);
}
//运算中的转换与赋值
public static void testOperation(){
int i = 6,j = 5;
int k = i/j;
System.out.println("int i/j =" + k);
double x = i/j;
System.out.println("double i/j =" + x);
double y = (double)i/j;
System.out.println("double (double)i/j =" + y);
double z = i*1.0/j;
System.out.println("double i*1.0/j =" + z);
}
public static void main(String[] args) {
// TODO Auto-generated method stub
System.out.println("类型转换...");
testConversion();
System.out.println("越界...");
testOutRange();
System.out.println("运算中的转换与赋值...");
testOperation();
}
}
运行结果如下:
类型转换...
max int =2147483647
max int to short =-1
max int to long =2147483647
max int to float =2.14748365E9
max int to double =2.147483647E9
越界...
max int =2147483647
max int + 1 =-2147483648
min int =-2147483648
max int - 1 =2147483647
max double =1.7976931348623157E308
max double + max double =Infinity
max double =-1.7976931348623157E308
- max double - max double =-Infinity
min double =4.9E-324
min double + min double =1.0E-323
运算中的转换与赋值...
int i/j =1
double i/j =1.0
double (double)i/j =1.2
double i*1.0/j =1.2
编写代码如下:package 第1章.java概要;public class _3_类型转换与越界 { //类型转换 public static void testConversion(){ int i = Integer.MAX_VALUE; System.out.println("max int =" + i); short j = (short)i; System....