楼主晚上自己写了个代码如下:
class Demo
{
public static void main(String[] args)
{
byte a=3;
byte a1=4;
byte a2=5;
a=(byte)(a1+a2);
//a=a1+a2;
int c=a1+a2;
int d1=5;
int d2=6;
int d=d1+d2;
System.out.println(d);
}
}为何到后面的运行结果上 int类型的不会在dos中出现错误,而byte类型的中的:
byte a=3; 跟byte a=3;
byte a1=4; a=(byte)(a+7);有什么去区别吗
byte a2=5;
a=a1+a2;运行后出现什么精度丢失?为啥我改为a=(byte)(a1+a2);就不会算错?
里面的思想我实在是模糊了,我小白一个,搞不明白了,有没有懂的人说下道理啊 ,我郁闷了很久。
|
|