课程作业02.2

一.为什么double类型的数值进行运算得不到“数学上精确”的结果?

double类型的数值只有64bit,由于后面舍去的位数会带来误差,所有无法得到“数学上精确”的结果.

二.以下代码的输出结果是什么?

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

三.

 public class Test{

  private static int value=1;

  public static void main(String[] args){

    int value=2;

    Sydtem.out.println(value);

}

}

输出结果为:2

四.为什么java规定作为程序入口点的main 方法是静态的?

因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。

如果main方法不声明为静态的,JVM就必须创建main类的实例,构造器可以被重载,JVM就没法确定调用哪个main方法。

静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才能调用,如果main方法是静态的,那么它就会被加载到JVM上下文中成为可执行的方法。

五.把main()方法的返回值由 void 改为 int ,程序能编译通过吗?能运行吗?

只要在main方法里加入返回值为0,return 0,就可运行,编译通过.

posted @ 2017-10-07 21:35  月影小歪  阅读(97)  评论(0编辑  收藏  举报