一.以下代码的输出结果是什么?
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"=X+Y");
为什么会有这样的输出结果?
答:结果X+Y=300; 300=X+Y;
二.为什么double类型的数值进行运算得不到数学上精确的结果?
答:double是浮点型,浮点数在计算机内部保存的实质是浮点数的计算公式,而不是确定的值,因此数值计算得不到精确的结果。
三.运行代码TestDouble.java,得到了怎样的输出。
答:
double是浮点型,计算结果不精确。
四.查询java中每个数据类型所占的位数,和表示数值的范围,能得出什么结论?
答:byte8位,表示数值-128-127。int32位,表示数值-2^31-2^31-1。long64位,表示数值-2^63-2^63-1。float32位,表示数值,754-1985。double64位,表示数值754-1985。char16位。整型到整型之间的转换,浮点型到浮点型之间的转换无精度损失,整型到浮点型之间的转换有精度损失。
五.java变量遵循同名变量的屏蔽原则,阅读相关资料弄清楚相关知识,编写一些测试代码,在不同地方定义一些同名变量,看看输出的是哪个值。
答:java中父类的实例变量和类变量能被子类的同名变量隐藏。子类的静态变量可以隐藏父类的实例变量,子类的实例变量可以隐藏父类的静态变量。变量只会被隐藏不会被覆盖,无论是实例变量还是静态变量。
六.弄清楚反码,补码和原码的概念,编写事例程序,对正数,负数进行各种位操作,观察输出结果,与手工计算的结果进行对比,看java中的数是采用哪种码表示的。
答:原码:一个数的二进制存储。正数的原码,补码,反码都是本身。负数的原码最高位为符号位。负数的反码除最高位不变其他位变反。负数的补码为反码+1。
七.运行事例分析结果,能得到什么结论?
答: