第二章 第一个Java应用
1. 把一个类放在包里有什么用?
答:把类分包的作用:
(1) 能够区分名字相同的类
(2) 有助于实施访问权限控制
(3) 有助于划分和组织Java应用中的各个类
2. JavaDoc文档是不是为软件的终端用户提供的使用指南?
答:不是的,JavaDoc文档是供Java开发人员阅读的,他们通过JavaDoc文档来了解其他开发人员开发的类的用法。Java开发人员应该养成经常阅读JavaDoc文档的良好习惯。
3. 对于com.abc.dollapp.AppMain类,使用以下命令进行编译,编译出来的.class文件位于什么目录下?
java –d C:/classes –sourcepath C:/src C:/src/com/abc/dollapp/AppMain.java
答:将会存放在C:/classes/com/abc/dollapp/下。
4. 对于以上编译出来的AppMain类,以下哪个java命令能正确运行它?
(a) java C:/classes/com/abc/dollapp/AppMain.class
(b) java –classpath C:/classes AppMain
(c) java –classpath C:/classes/com/abc/dollapp AppMain
(d) java –classpath C:/classes com.abc.dollapp.AppMain
答:(b)
5. 以下哪些main()方法的声明能够作为程序的入口方法?
(a) public static void main()
(b) public static void main(String[] string)
(c) public static void main(String args)
(d) static public int main(String[] args)
(e) static void main(String[] args)
答:(b),主函数必须以public static void形式存在,参数必须为String数组形式。
6. 假定以下程序代码都分别放在MyClass.java文件中,哪些程序代码能够编译通过?
(a) import java.awt.*;
package Mypackage;
class MyClass{};
(b) package MyPackage;
import java.awt.*;
class MyClass{};
(c) /*This is comment*/
package MyPackage;
import java.awt.*;
public class MyClass{};
答:(c),程序顺序必须按照import, package, class走,源文件必须以public类型的类命名。
7. 对于以下Myprog类,运行命令”java Myprog good morning”,将会得到打印结果?
public class Myprog
{
public static void main(String argv[])
{
System.out.println(argv[2]);
}
}
答:打印结果为空。argv[0] = “good”, argv[1] = “morning”。
8. 下面哪些是Java的关键字?
(a) default
(b) NULL
(c) String
(d) throws
(e) long
(f) true
答:(a), (d),(e), (f),java中所有的关键字都是小写。
9. 当AppMain类的main()方法创建了5个Doll对象时,运行时数据区的数据如何分布的?参考2.4节的图2-13,画出此时运行时数据区的状态图。
运行时数据区(内存) |
Java栈区 |
执行main()方法的主线程的方法调用栈 |
局部变量beibei |
局部变量jingjing |
局部变量huanhuan |
局部变量yingying |
局部变量nini |
堆区 |
Doll实例 name:贝贝 |
Doll实例 name:晶晶 |
Doll实例 name:欢欢 |
Doll实例 name:迎迎 |
Doll实例 name:妮妮 |
方法区 |
Doll类型信息 |
AppMain类型信息 (包含main()方法信息) |
10. 下面哪些是合法的Java标识符?
(a) #_pound
(b) _underscore
(c) 5Interstate
(d) Interstate5
(e) _5_
(f) class
答:(b), (d), (e)标识符命名规则如下:
(1) 标识符首字母必须为字母、下划线“_”、美元“$”、人民币“¥”
(2) 标识符由数字、大写字母、小写字母、下划线以及美元等组成
(3) 不能把关键字和保留字作为标识符
(4) 标识符没有长度的限制
(5) 标识符是大小写敏感的