标题: 类型的转换 [打印本页] 作者: 执笔梦 时间: 2013-11-20 17:07 标题: 类型的转换 long l = 20l ,int a =2;
double d = l/2;
点解一个long型和一个int 型运算后的结果会是 double型或是 long型? 作者: 雨过丶天已晴 时间: 2013-11-20 17:31
long下面是一个代码:
long l = 20l;
int i = 2;
int c = l / i;
会报错,说无法将long转化为int,因此结果为long作者: 执笔梦 时间: 2013-11-20 18:08
你试下将 int c 改为double c 应该也行。我不太明白作者: 赵许星 时间: 2013-11-20 18:52
java中规定,短类型可以被自动转换为长类型,包含了隐形转换。
再给你说几道类似的题。
byte b = 1 + 1; //对,(1+1)没有超过byte数值范围
byte b = 1; b = b + 1; //错,java中规定长类型无法自动转换为短类型,需要强制类型转换,b=(byte)(b+1);
byte b = 1; b = b += 1; //对,包含一个隐形的类型转换,等价于,b=(byte)(b+1);b=b;