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

课程中的所有动手动脑的问题以及课后实验性的问题的博文

时间:2017-10-07 18:39:11      阅读:154      评论:0      收藏:0      [点我收藏+]

标签:结果   big   oid   存在   浮点数   一个   课程   二进制   改变   

mian方法:

     main方法必须严格像这样声明 “public static void main(String[] args)”。

     把mian()方法的返回值由void改为int,否则程序无法通过编译也无法运行。

     原因是对于java中的mian方法,jvm有限制,不能有返回值,因此返回值类型只能是void。

 

变量的作用域:

      在Java中,变量的作用域分为四个级别:类级、对象实例级、方法级、块级。

      类级变量又称全局级变量或静态变量,需要使用static关键字修饰。类级变量在类定义后

     就已经存在,占用内存空间,可以通过类名来访问,不需 要实例化。 对象实例级变量就是

     成员变量,实例化后才会分配内存空间,才能访问。 方法级变量就是在方法内部定义的变

      量,就是局部变量。在一个类里面,如果一个方法里的变量的名字和类里的成员变量的名字

      相同,那么这个类里的成员变量会被屏蔽掉,JAVA里面出现变量同名的情况,局部的哪一个将

      会屏蔽掉全局的哪一个。

 

浮点数计算不精确的原因:

     原因在于浮点数由两部分组成:指数和尾数,由于计算机只能识别二进制的数,因此在计

     算的时候都会先将十进制的数转换成二进制的数,如果在这个转换的过程中,浮点数参与

     了计算,那么转换的过程就是我们不可预知的,并且这个过程变得不可逆。  这个过程中就

      有可能产生了误差,从导致了最后的结果不准确,,而这个误差我们无法避免并且没办法去

      改变它。

 

BigDecimal构建对象时不能用double数值的原因:

     参数类型为double的构造方法的结果有一定的不可预知性,例如一个double类型的变量

     的数值是0.2,但传入到BigDecimal方法之后的值实际上可能不是0.2,这是因为0.2无法

     准确地表示为 double或者说对于该情况,不能表示为任何有限长度的二进制小数,中间

     可能会有误差,从而在计算之后,我们得到的结果可能不是数学计算之后准确的结果。

int X=100;int Y=200;System.out.println("X+Y="+X+Y);System.out.println(X+Y+"=X+Y");结果不同的原因:YI

      因为""后面的内容不加引号的部分会被当作字符串处理,从而不会得到两数相加之后的

      一个结果而是把两个数的值当作字符串直接输出出来,而引号前面的内容则不会受到这

      个作用的影响,因此输出的是两个数相加之后的结果。所以System.out.println("X+Y="+X+Y);

      这行代码输出的是X+Y=100200,System.out.println(X+Y+"=X+Y");这行代码输出的

      是300=X+Y;

 

课程中的所有动手动脑的问题以及课后实验性的问题的博文

标签:结果   big   oid   存在   浮点数   一个   课程   二进制   改变   

原文地址:http://www.cnblogs.com/musong1998/p/7635287.html

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