Java中基本数据类型之间的值传递(赋值、传值)规则
一、常量赋值(如:x=1,y=1.1F)
1.int及精度更高的数据类型,使用自身数据类型的常量进行赋值
如:int x=1、double t=1.1
2.int精度以下的量通过int常量赋值,若超出范围使用类型转换运算。
如:byte t=(byte)1000 。将int类型的1000转换为了byte类型
3.int及精度更高的类型的量,若通过比自己高的数据类型赋值,必须使用类型转换运算。
如:int x=(int)5.5 。5.5是double类型,这里转换为了int类型
4.低精度的常量给高精度的量赋值,自动完成类型转换.
如:double x=5 。5是int类型自动转换为double类型
二、变量传值(如:x=t1,y=t2)
1.高精度变量传值给低精度,必须使用类型转换运算,包括int传值给byte,注意和常量赋值区分开
int x=1;
byte t=(byte)x; //这里必须使用类型转换
2.剩下的都没事
三、注意
1.方法(函数)中的参数的值都属于变量传入
如:
byte jia(byte x,byte y){};
return jia(3,4);
是值分别为3和4的变量进行传值的,相当于int类型变量传值给byte,会报错
2.数学运算的结果
- int以下的常量或变量进行数学运算,结果为int类型
如两个byte类型的量相加结果为int类型 - int以上的常量或变量进行数学运算结果为精度最高的数据类型,如int+double=double
int x=1;
double y=2;
double t=x+y; //x+y的结果为double类型
int n=(int)(x+y); //因为x+y结果为double类型,变量传值这里需要使用类型转换
大家如果发现错误和遗漏可以发在评论区
创作不易,大家点赞支持一下吧