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