double avg1=78.5;
int rise=5;
double avg2=avg1+rise;
我想问一下 double 和int自动型转化的关 :是否只能int转化为double型 反过来double型一定不能转化为int型。 这样理解对吗? 还是double行也可以转化为int行 只不过要满足int的字节数必须大于double?
坐等大神回答! 新手疑问比较多 勿喷!!
2 如果是只能int转化为double 是否必须满足目标类型大于源类型?
double型可以通过强制类型转换而转换为int型变量,但是因为double本身有8个字节的长度,而int只有4个字节,所以会造成高位字节的丢失。比如:
double avg1=78.5; int avg2=(int)avg1; System.out.println(avg2);
会输出78,后面的0.5就被丢失了。
不是很明白你的这句话:
目标类型大于源类型
这里的大于应该理解成存储的字节长度吗?如果是,那么目标是不发生数据丢失的情况的话,目标类型的确应该大于源类型