课程作业2
1.为什么java规定作为程序入口点的main() 方法静态的?
main函数作为java程序的入口,也可以理解为一个接口,这个接口不是提供给程序员使用的,这时提供给用户等使用的,用户等不需要知道程序内部如何实现,只需要知道接口就可以了,如果是非静态的,那么当用户开始使用时,就必须先去创建对象,而用户不知道代码,所以是静态。
2.什么是静态方法?
在外部调用静态方法时,可以使用"类名.方法名"的方式,也可以使用"对象名.方法名"的方式。而实例方法只有后面这种方式。也就是说,调用静态方法可以无需创建对象。
3.把main()方法的返回值由 void 改为 int ,程序能编译通过吗?能运行吗?
经验证不能运行,main方法必须严格的由void声明,不能用int,void表示不返回值
package kechengzuoye;
public class Main1
{
public static int main(String[]args)
{
System.out.println("Hello word!");
}
}
4.;输入该代码会输出什么?
package ke2;
public class Test2
{
public static void main(String[]args)
{
int X=100;
int Y=200;
System.out.println("X+Y="+X+Y);
System.out.println(X+Y+"X+Y=");
}
}
X+Y=100200
300X+Y=
第一行X+Y=时,是将int类型默认的变为string类型,是为字符串的相加,结果为100200
第二个先X+Y可以得到结果
5.执行该代码出现
package ke2;
public class Test2
{
public static void main(String[]args)
{
System.out.println("0.05+0.01="+(0.05+0.01));
System.out.println("1.0-0.42="+(1.0-0.42));
System.out.println("4.015*100="+(4.015*100));
System.out.println("123.3/100="+(123.3/100));
}
}
结果
0.05+0.01=0.060000000000000005
1.0-0.42=0.5800000000000001
4.015*100=401.49999999999994
123.3/100=1.2329999999999999
用double类型进行数据的计算,得到的数据结果不准确
java中十进制与二进制转化时存在问题,double类型的数值占 用64bit,64个二进制数,除去最高位表示正负符号的位,在最低 位上一定会与实际数据存在误差,就是给出的数值,在大多数情况下需要比64bit更多的位数才能准确表示出来,而double类型的数值只有64bit,后面舍去的位数一定会带来误差,无法得到数学上正确的结果
7.Java中的类型变化
int long short byte 表示整数,其数值是精确的,float double表示的是浮点型,计算的数值不精确,表示近似值,在整数变为浮点型时会丢失数据,ASCLL中也是整数,char变为整数是不会出现错误
8。一个文件中可以出现两个类,其中一个是主类,定义时有public,另一个无