黑马程序员技术交流社区

标题: 类型的转换 [打印本页]

作者: 执笔梦    时间: 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;




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2