动手动脑问题
一.把main()方法的返回值由 void 改为 int ,程序能编译通过吗?能运行吗?
程序编译不能通过,不能运行。
二.为什么java规定作为程序入口点的main() 方法静态的?
- 正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。
- 因为C和C++同样有类似的main方法作为程序执行的入口。
- 如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器可以被重载,JVM就没法确定调用哪个main方法。
- 静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才能调用,如果main方法是静态的,那么它就会被加载到JVM上下文中成为可执行的方法。
三.
public class Test{
private static int value=1;
public static void main(String[] args){
int value=2;
Sydtem.out.println(value);
}
}
输出结果为: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
posted on 2017-10-07 11:57 面向bug的程序设计 阅读(122) 评论(0) 编辑 收藏 举报