【Java问题】double grade= input.nextInt();这条语句!!

问题描述:

为什么double grade= input.nextInt();这条语句在eclipse可以正常运行?不是应该为double grade= input.nextDouble();吗?两句语句有区别吗?分别怎么用?

可以正常运行。input.nextInt();接收的是int型数据,会自动转换成double;如果是int grade = input.nextDouble();就不行,因为int转double是向上转型,会自动转;double转int是向下转型,需要强转。区别就是一个接收的是int,一个接受的double,但是由于grade,所以int会自动转成double。

。。。分编译通过 和运行通过 自己调试下嘛