VariableTest2.java 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. /*
  2. 基本数据类型之间的运算规则:
  3. 前提:这里讨论只是7种基本数据类型变量间的运算,不包含boolean类型的。
  4. 1、自动类型提升
  5. 结论:当容量小的数据类型变量与容量大的数据类型的变量做运算时,
  6. 结果自动提升为容量大的数据类型
  7. byte、char、short ---> int ---> long ---> float ---> double
  8. 特别的:当byte、short、char三种类型的变量做运算时,其结果都为int类型。
  9. 2、强制类型转换
  10. 说明:此时的容量大小,指的是表示数的范围的大和小,比如:float容量要大于long的容量
  11. */
  12. class VariableTest2{
  13. public static void main(String[] args){
  14. byte b1 = 2;
  15. int i1 = 129;
  16. //byte b2 = b1 + i1;//编译不通过
  17. int i2 = b1 + i1;
  18. long l1 = b1 + i1;
  19. System.out.println(i2);
  20. float f = b1 + i1;
  21. System.out.println(f);
  22. short s1 = 123;
  23. double d1 = s1;
  24. System.out.println(d1);//123.0
  25. //**************** 特别的 ***************
  26. char c1 = 'a';//97
  27. int i3 = 10;
  28. int i4 = c1 + i3;
  29. System.out.println(i4);
  30. short s2 = 10;
  31. //char c2 = c1 + s2;//编译不通过
  32. byte b2 = 10;
  33. //char c3 c3 = c1 + b2;//编译不通过
  34. //short s3 = b2 + s2;//编译不通过
  35. //short s4 = b1 + b2;//编译不通过
  36. //*******************************
  37. }
  38. }