一、同种数据类型之间是可以直接进行赋值操作
例如:
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;//强制的转化
布尔类型
布尔类型很特殊,不能与其他基本类型之间发生转化
引用类型之间后续详解