码迷,mamicode.com
首页 > 其他好文 > 详细

动手动脑课后感想

时间:2017-10-08 12:58:20      阅读:118      评论:0      收藏:0      [点我收藏+]

标签:动手   进制   第一个   问题   类型   数值   strong   原因   代码   

一.

课后问题:

System.out.println("0.05+0.01="+(0.05+0.01));

System.out.println("1.0-0.42="+(1.0-0.42));

System.out.println("4.105*100="+(4.105*100));

System.out.println("123.3/100="+(123.3/100));

运行结果:

0.05+0.01=0.060000000000000005

1.0-0.42=0.5800000000000001

4.105*100=410.50000000000006

123.3/100=1.2329999999999999

原因:因为计算机在运算时需要先将10进制的数转换为2进制的数,但是在转换过程中2进制的并不能完全等于2的次的和

,有时只能取一个近似的值,所以double类型的数在运算时会出现一些误差。只有在这个数值完全等于2的次方的和时才

能够没有误差。

二。

课后问题:

      int X=100;

      int Y=200;

      System.out.println("X+Y="+X+Y);

      System.out.println(X+Y+"=X+Y");

运行结果:

X+Y=100200

300=X+Y

原因:因为上边的+起到的字符串连接符的作用,并没有进行运算

      下边的第一个+起的作用是 运算符  后一个+起到的字符串连接符的作用

    这这两段代码中 +起到了不同的作用 所以输出结果不同

 

动手动脑课后感想

标签:动手   进制   第一个   问题   类型   数值   strong   原因   代码   

原文地址:http://www.cnblogs.com/shyshy/p/7636972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!