动手动脑

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了动手动脑相关的知识,希望对你有一定的参考价值。

问题一:

一个Java类文件中真的只能有一个公有类吗?

一个Java类只能有一个共有类。

问题二:

请看左边的示例代码,输出结果是什么?

编译可以通过,但是不可以运行。

问题三:

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

如果main方法不声明为静态的,jvm就必须创建main类的实例,因为构造器可以重载,jvm就没法确定调用哪个main方法。静态方法和静态数据加载到内存就可以直接调用而不需要像实例方法一样创建实例后才可以调用,如果main方法是静态的,那么它就会被加载到jvm上下文中成为引用方法。

问题四:

请看左边的示例代码,输出结果是什么?

代码输出结果为2

问题五:

 

动手动脑:

技术分享

                         看着这个图,再查查Java中每个数据类型所占的位数,和表示数值的范围,你能得出什么结论?

不同的数据类型转换时可能会有精度损失,因此要注意各个类型的取值范围。

问题六:

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

计算机不可以识别除二进制以外的任何数据,无论我们使用什么编程语言,在何种语言环境下,都需要把源程序转换成二进制后才可以被计算机识别。事实上,浮点数并不适合用于精确计算,而适用于进行科学计算。Float和double型用来表示带有小数点的数,这些数都是以科学计数法的形式存储。当一个数如50.534转换成科学计数法形式是5.053e1,

他的小数点移动到了一个新的位置可见,浮点数本来就是用来科学计算的,用来进行精确计算不太适合。

问题七:

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

     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

结论:

在System.out,println()中,如果string字符串后面是+和变量,会自动把变量转换成string类型,则加号起连接作用,然后把两个字符串连接成一个新的字符串输出;如果先有变量的加减乘除运算再有字符串,那么会从左到右先计算变量的加减,然后再与后面的string结合成一个新的字符串

以上是关于动手动脑的主要内容,如果未能解决你的问题,请参考以下文章

动手动脑-4

动手动脑,无法自拔

方法的动手动脑

第三次实验及动手动脑

第八周动手动脑

动手动脑,第六次Tutorial——数组