低—->高
byte,short,char->int->long->float->double

  1. 低到高,自动类型转换
  2. 高到低,强制类型转换

强制类型转换

  1. int i1=1;
  2. byte i2=3;
  3. i2= (int) i2;

注意溢出

  1. public class Demo1 {
  2. public static void main(String[] args) {
  3. //溢出问题
  4. int money=10_0000_0000;
  5. int year=20;
  6. int gain1=money*year;
  7. System.out.println(gain1);
  8. long gain2=money*year; //默认是int,转换前就出问题了
  9. long gain3=money*(long) year; //先把一个数变成long
  10. System.out.println(gain2);
  11. System.out.println(gain3);
  12. }
  13. }