55问答网
所有问题
Java语言中int a=10;double b=a/4;b的值为什么是2.0 ,从结果上看double a=10;int b=a/4;b的值也是2.0,
关于精度丢失,以及怎么理解上两种写法的区别
举报该问题
推荐答案 推荐于2016-08-11
a/4参加运算的两个数都是整型的,所以按照整型的进行计算得到的数会取整,然后再赋值给double型的b,这时小数已经丢失了。
int b=a/4;虽然计算是double型的,但由于赋值给整型的b所以取整后再赋的值。
double b=(double)a/4;或者b=a/4.0;即可得到浮点结果。
温馨提示:答案为网友推荐,仅供参考
当前网址:
http://55.wendadaohang.com/zd/IeRcFGG8IQG4GLL84F4.html
其他回答
第1个回答 2015-10-16
int a=10;double b=a/4中a/4实际就是取整,你然后把这个数又转化成小数,所以输出的是2.0
double a=10;int b=a/4;a/4算出来应该是2.5,但是你强制转化成整型,就成了2.0
相似回答
java中
如何把一个String类型的变量转换成
double
型的?
答:
Double
.parseDouble(String类型变量)例如定义String变量A为“10”,将String转化为Double变量。我写出来了,你可以看一下,如下图:
java语言中
如何判断 一个
double
形变量a 是否是整数
答:
lic static void main(String[] args) { Scanner sc = new Scanner(System.in);System.out.println("请输入double类型的数字:")
;double
d = sc.nextDouble();if((
int
)d == d){ //强制转换后会丢失精度,如果丢失精度的数和原数相等,说明就是整数 System.out.println("输入的数字是整数...
华师在线09面向对象程序设计作业答案
答:
选项:A、A) public operator this B、 B)shod string static C、 C)it while>= D、 D)private cout printf 学员答案:A 题号:4 题型:单选题 本题分数:2 内容:设
int
a=10,b=
11,c=12;,表达式(a+b) 的值为( )选项:A、A)2 B、 B)0 C、 C)-2 D、 D)1 学员答案:B 题...
java的
基本数据类型有哪些
答:
java的
基本数据类型有:1、布尔型(boolean)取值范围:True 或 False 2、字节型(byte)取值范围:0 - 255 3、短整型(short)取值范围:-32,768 ~ 32767 4、整型(
int
)取值范围:-2,147,483,648 ~ 2,147,483,647 5、长整型(long)取值范围:-9223372036854775808~9223372036854775807 6、单...
在
Java语言中,
以下哪项代码会引起语法编译错误( )?
答:
选A。new
double
的[]中应指定数组长度。
大家正在搜
相关问题
java中,double a=10/4;输出a却是2.0?
java里double a=2/4,结果是0.0,我改成2....
int a=2,b=3,c=4,d; d=++a+b+++c...
java中为什么byte a=4;可以而 int a=4; ...
初学java ,这里 int a=1; a=a++ + ++...
java中表达式 10/4*5 的结果为( B )。 A. ...
java int a[]={100,200,300}; in...
java int a=3; b=a++-a b为什么取值为-...