A选项,Eclipse具备所谓“即时编译”功能,即在源文件编写的同时Eclipse会自动的调用Java编译器编译该文件,如果出现任何编译错误,Eclipse会立刻发现,并提示给用户。
B选项,“工作区”(Workspace)。所谓“工作区”是指Eclipse用于存储工程的路径。Eclipse通过“工程”(Project)来组织资料。程序员编写的源文件、编译生成类文件等以特定的目录结构存储在工程文件夹中。
C选项,在Linux系统下可以使用./eclipse启动执行程序eclipse。 D选项,Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。
9 根据Cookbook文档实现JAVA HelloWorld(Eclipse)
参考答案
请根据Cookbook文档实现JAVA HelloWorld(Eclipse)。
1 指出下面程序中的编译错误,并更正
1. int lenght=10;
2. System.out.println(length);
参考答案
上述代码中,第二行会出现编译错误。length变量没有声明,就被使用了,因此,会出现编译错误。咋一看代码会感觉length变量被初始化了,但仔细查看会发现第一句声明
的变量为lenght,th两个字母写反了,导致了length变量没有被声明。因此,有时出现的变量没有被声明的问题,引起的原因可能是变量名拼写错误。更正后的代码如下所示:
1. int length=10;
2. System.out.println(length);
2 指出下面程序中的编译错误,并更正
1. int &size=20;
2. System.out.println(&size);
参考答案
上述代码中,定义的变量&size不符合Java变量的命名规范,Java变量只能包含数字、字母、下划线和$,而&不能在变量命名中使用,因此会出现编译错误。更正后的代码如下所示:
1. int size=20;
2. System.out.println(size);
3 指出下面程序中的编译错误,并更正
1. int age;
2. System.out.println(age);
参考答案
上述代码会出现编译错误,因为,变量age未进行初始化,就在第二行中被使用了。在Java中,变量在使用之前,必须进行初始化。更正的代码如下所示:
1. int age=2;
2. System.out.println(age);
4 运行下面程序,指出变量的输出结果
1. int count=30; 2. count=60;
3. System.out.println(count);
参考答案
输出结果为60。
上述代码中,首先声明并初始化int类型变量count为30;然后,将变量count的值改变为60;最后,输出count的值。输出的count值为改变以后的值,即为60。
5 指出下面程序中的编译错误,并更正
1. int balance; 2. balance =218.50;
参考答案
上述代码中,变量balance声明时的类型为int,后续赋值为218.50,而218.50是浮点类型,因此导致编译错误。整数类型变量不可以赋予浮点类型的值。更正后的代码如下所示:
1. double balance; 2. balance =218.50;
6 指出下面程序的编译或运行结果,并解释原因
1. int i=128; 2. i = 10000000008; 3. System.out.println(i);
参考答案
上述代码的第二行处,会出现编译错误。
原因是10000000008是个整数直接量,整数的直接量的类型默认为int类型,而直接写出的整数10000000008超过了int的表达范围,所以会出现编译错误。
7 通过代码计算一段程序运行的时间
参考答案
以下代码的功能为计算1累加到1000000的所耗的时间,代码如下所示:
1. public static void main(String[] args) { 2. //开始时间
3. long startTime = System.currentTimeMillis(); 4. //计算从1加到1000000的和 5. int sum = 0;
6. for (int i = 1; i <= 1000000; i++) { 7. sum+=i; 8. }
9. //结束时间
10. long endTime = System.currentTimeMillis(); 11. //输出耗时
12. System.out.println(\耗时:\+(endTime-startTime)+\毫秒
\); 13. }
上述代码中,使用了JDK提供的 System.currentTimeMillis() 方法,该方法返回1970年1月1日零点到此时此刻所经历的毫秒数,其数据类型为long,经常用于计时操作。
另外,计算从1加到1000000的和的代码,了解即可,后续课程中会讲解到for循环的。
8 指出下面程序的运行输出结果
1. double width = 6.0; 2. double length = 4.9;
3. System.out.println(width - length);
参考答案
上述代码的输出结果为:1.0999999999999996。
上述代码的运行结果存在舍入误差问题。由于计算机内部采用2进制,人使用10进制,不是每一个2进制的小数都可以用10进制为表示的。2进制系统中无法精确的表示1/10,就好像十进制系统中无法精确的表示1/3一样。所以,2进制表示10进制会有一些舍入误差,对于一些要求精确运算的场合会导致代码的缺陷。
9 指出下面程序的输出结果
1. char ascii=98;
2. System.out.println(ascii);
参考答案
上述代码的输出结果为:b
原因是如果把0~65535范围内的一个int整数直接量赋给char类型变量,系统会自动把这个int类型整数当成char类型来处理。本题中,说明系统自动把整数类型98当成char类型来处理,处理的结果为b。98是b的unicode码。