【Java】- 基本数据类型转换

类型之间转换问题:
  1.同种数据类型之间是可以直接进行赋值操作
    int a = 1 ; int b =a ;   float x = 3.4;  float y = x;
  2.数据类型不同的空间之间的赋值--->转换问题
    同种大数据类型之间才能转换
      基本类型  ------  基本类型之间  可以直接转换(自动/强制)
      引用类型  ------  引用类型之间  可以直接转换(自动/强制--上转型/下转型)
      基本类型  ------  引用类型之间  不可以直接转换(间接  --  包装类/封装类)
  3.在保证大数据类型一致的前提下
    基本类型  -----  基本类型
      byte a = 1;   int b = a   //可以直接转换
      int a = 1; byte b = (byte)a //强制类型转换,将int类型转换为byte类型
      float a = 3.4F;  double b = a //可以直接转换
      double a = 3.4;  float b = (double)a   //强制类型转换,将int类型转换为byte类型
    注:强制转换之前的数值过大,强制转换编译可以,但是执行后的值肯定不是之前的大值
      int a = 1000;  byte b = (byte)a    强制保留后面8个bit位的值
      00000000  00000000  00000011  11101000  //计算机中的1000
      11101000  //强制转换后的数   -24
      小数类型不同
        整型  -----  浮点
          两个比较的是精确程度,浮点型精确程度更高可以直接存放整数,反之则要强制转换
          任何一个浮点型都可以存放一个整型
          int a = 1;  float b = a   // 1.0
          float a = 1.0F  int b = (int)a  // 1
        整型  -----  字符型
          每一个字符都对应一个Unicode码  a -- 97
          char x = 'a';  int b = x;  // 97
          int x = 97;  char b = (char)x;  // 报错需要强制转换

原文地址:https://www.cnblogs.com/tar8087/p/11909060.html