一、同种数据类型之间是可以直接进行赋值操作
例如:

int a = 1;
int b = a;
float x = 3.4F;
float y = x;

二、数据类型不同的空间之间的赋值--->转换问题
同种大数据类型之间才能发生转换

基本类型----基本类型之间
可以直接转换(自动、强制)
引用类型----引用类型之间
可以直接转换(自动、强制-称为:上转型、下转型)
基本类型----引用类型之间
不可以直接转换(可以间接--通过包装类/封装类实现)

三、保证大数据类型一致的前提下
(1)小数据类型相同:
  都是整型或都是浮点型

大空间变量可以直接存储小空间的数据
小空间变量不可以直接存储大空间的数据(需要强制类型转换)
转换过程写法都好用,如果转换的过程中数值范围超过边界,可能会有损失

例如:

byte a = 1; int b = a;//自动直接转化
int a = 1; byte b = (byte)a;//需要强制类型转换
float x = 3.4F; double y = x;//自动直接转化
double x = 3.4; float y = (float)x;//强制转换
int a = 1000; byte b = (byte)a;//编译好用,执行后,b存放的值一定发生变化

(2)小数据类型不同
  整型---浮点型

两个比较精确程度,浮点型精确程度更高,可以直接存放整数,反之需要强制转换
任何一个浮点型都可以直接存放一个整型

例如:

int a = 1; float b = a;//自动直接转化
float a =1.0F; int b = (int)a;//强制类型转换

  整型---字符型

每一个字符都对应这一个Unicode码,如a--97

示例:

char x = 'a'; int y = x;//自动转化 y--97
int x = 97; char y = (char)x;//强制的转化

  布尔类型

布尔类型很特殊,不能与其他基本类型之间发生转化

  引用类型之间后续详解

Last modification:May 16th, 2020 at 07:38 am
如果觉得我的文章对你有用,请随意赞赏