数据类型转化问题
整型 byte shiet long
浮点 float double
字符 char
布尔 boolean
byte a=1;//8bit -128~127
int b=a;//32bit
类型之间转换问题
1 同种数据类型可以进行赋值操作
int a=1;intb=a;|| float x=3.4; float y=x;
2 数据类型不同空间 之间的赋值-->转换问题
同种大数据类型才能转换
两大类
基本类型---基本类型之间 可以直接转换(自动 强制)
引用类型---引用类型之间 可以直接转换(自动 强制--上转型 下转型)
基本类型---引用类型之间 不可以直接转换(间接--包装类/封装类)
3 在保证大数据类型一致的前提下
基本类型--基本类型
小数据类型相同
都是整形 都是浮点
大空间变量可以直接存储小空间变量的数据 小空间数据不可以直接存储大空间数据
自动 byte a=1; int b=a;
小转大自动 大转小强制
强制 int a=1; byte b=(byte)a;
float x=3.4f;diuble y=x;//自动
double x=3.4; float y=(float)x;//强制
如果发现强制转换之前的数值比较大
int a=1000; byte b=(byte)a; //编译好用 执行后 存放的值一定发生变化
小数据类型不同
int a=1;
floa b=1;//可以 b==1.0 精确程度
long a=1; //64bit
fioat b=a;// 32bit
整型---浮点 两个比较精确程度 浮点型精确程度更高可以直接存放整数 反之需要强制转换
任何一个浮点型都可以直接存放一个整型
int a=1; float b=a;//自动直接转化
float a=1; int b=(int)a;//强制转化
整型--字符型
每一个字符都对应一个Unicode码 a--97
char x='a'; int y=x;//自动转化 y--97
int x=97; char y=(char)x;//强制转化
布尔型 不能和其他类型发生转换