—— 本文参照 Learn Java for Android Development (第三版)
除了常量可以直接赋值给变量以外,我们也可以把变量或者函数的返回值赋值给变量。例如:
int counter2 = counter; // 把变量counter的值赋值给counter2
boolean isLeap = isLeapYear(2012); // 把isLeapYear函数的返回的布尔值赋值给isLeap
在上面的例子中我们可以看到等号两边的值的类型其实是一样的。通常情况下我们会把相同类型的值赋给同类型的变量。但是在实际的编程过程中也并不完全都这样子。我们可能在不同类型的变量之间进行赋值。在java里面允许将一个短整形的变量赋值给一个整形。比如:
short s = 20;
int i = s;
上面的这段什么和定义不会报错,是因为20可以用一个短整形的变量来存储,并且不会丢失数据。但是如果我们这样定义:short s = 40000,这就会报错了,因为40000已经超出了短整形的最大范围最大的短整形数是32767。java允许上面的不同类型的数据间的赋值是因为数据在转换的过程中不会丢失,也就是说java允许小范围类型的数据向大范围类型进行转换。
java支持的基本数据类型间的转换是通过向上转换规则来实现的:
字节整形可以转换为整形,长整形,浮点型,双精度浮点型。
短整形可以转换为整形,长整形,浮点型,双精度浮点型。
字符可以转换为整形,长整形,浮点型,双精度浮点型。
整形可以转换为长整形,浮点型,双精度浮点型。
浮点型可以转换为双精度浮点型,
Page 47
网友评论