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

课后实验性问题

时间:2017-10-09 00:36:25      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:alt   png   作用域   width   bsp   程序   system   out   屏蔽   

一、一个java类文件中只能有一个公有类吗?

测试代码:

public class Test{
public static void main(String[] args){

}
public class InnerClass{

 }
}

结果:可以有其他公有类

技术分享

二、把main方法的返回值由void改为int 编译能通过吗?能运行吗?

测试代码:

public class Test{
public static int main(String[] args){
 }
}

结果:不能运行。

技术分享

技术分享

三、为什么java规定作为程序入口点的main方法静态的?

  1. 正因为main方法是静态的,JVM调用这个方法就不需要创建任何包含这个main方法的实例。
  2. 因为C和C++同样有类似的main方法作为程序执行的入口。
  3. 如果main方法不声明为静态的,JVM就必须创建main类的实例,因为构造器可以被重载,JVM就没法确定调用哪个main方法。
  4. 静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才能调用,如果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(X+Y=和两个字符串连接后输出)

300=X+Y (两个数相加后和=X+Y一起输出)

七、类型转换

技术分享

技术分享

 

课后实验性问题

标签:alt   png   作用域   width   bsp   程序   system   out   屏蔽   

原文地址:http://www.cnblogs.com/luohaochi/p/7639043.html

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