类型转换 由于Java是强类型语言,所以要进行有些运算时要进行类型转换 低…高 byte->short->char->long->float->double 运算时,不同类型数据先要转换成同一类型,然后运算. 1.强制转换 2.自动转换 public class demo1 { public static void main(String[] args) { int i = 128; byte b = (byte) i; double c = i; System.out.println(i);//128 System.out.println(b);//-128 //内存溢出 System.out.println(c);//128 //强制转换 (类型)变量名 高---低 //自动转换 低---高 /** 注意点: 1.不能对布尔值进行转换 2.不能把对象不相干的转换 3.再把容量高的转换到低的时,强制转换 4.转换的时候可能存在溢出,或精度问题 * * */ System.out.println((int) 12.1);//12 精度 char c1 = 'a'; int d = c1+1; System.out.println(d); //98 System.out.println((char)d); //b //操作较大的数时,注意溢出问题 int money = 10_0000_0000;//jdk7新特性,数字间下划线分割 int years = 20; int lotal = money*years; long lotal1 = money*((long)years); //先把一个数转换为long System.out.println(lotal);//-1474836480 溢出 System.out.println(lotal1);//20000000000 } }