Java程序设计习题集
B、 创建线程的两种方法中,从Thread类中继承的创建方式可以防止出现多父类问题。
C、 Thread类属于java.util程序包。 D、 以上说法无一正确。
三、填空题
1.一个复杂的应用系统必然包括有多个对象,这些对象间可能存在的关系有三种,它们是: 继承 、 关联 和 包含 。
2.设x = 2 ,则表达式 ( x + + ) * 3 的值是 6 。
3.若x = 5,y = 10,则x > y和x <= y的逻辑值分别为 false 和 true 。 4.据程序的构成和运行环境的不同,Java源程序分为两大类:
application 程序和 applet 程序。 5.如果一个Java源程序文件中定义有4个类,则使用Sun公司的JDK编译器javac编译该源程序文件将产生 4 个文件名与类名相同而扩展名为
class 的字节码文件。
6.开发与运行Java程序需要经过的三个主要步骤为 编码、编译 、 和 执行 。
7.如果一个Java Applet源程序文件只定义有一个类,该类的类名为MyApplet,则类MyApplet必须是 applet 类的子类并且存储该源程序文件的文件名必须为 MyApplet.java 。
8.一个Java Application源程序文件名为MyJavaApplication.java,如果使用Sun公司的Java开发工具JDK编译该源程序文件并使用其虚拟机运算这个程序的字节码文件,应该顺序执行如下两个命令:
javac MyJavaApplication.java 、 java MyJavaApplication 。 9.在Java的基本数据类型中,char型采用Unicode编码方案,每个Unicode码字符占用 2 字节内存空间,这样,无论是中文字符还是英文字符,每个都是占用 2 字节内存空间。 10.在Java程序中定义的类有两种成员: 变量 、 访法 。
11.Java源程序是由类定义组成的,每个程序中可以定义若干个类,但是只有一个类是主类。在Java Application中,这个主类是指包含 main() 方法的类;在Java Applet里,这个主类是一个系统类 applet 的子类。
- 16 - 第 页
Java程序设计习题集
12.创建一个名为MyPackage 的包的语句是 package MyPackage ,该语句应该放在程序的位置为: 程序代码的第一句 。
13. 方法是一种仅有方法头,没有具体方法体和操作实现的方法,该方法必须在抽象类之中定义。 方法是不能被当前类的子类重新定义的方法。
14.多态是指 ,在Java中有两种多态,一种是使用方法的 实现多态,另一种是使用方法的 实现多态。
15.在Java程序中,通过类的定义只能实现 重继承,但通过接口的定义可以实现 重继承关系。
16.子类重新定义一个与从父类那里继承来的域变量完全相同的变量,这种面向对象程序设计特性称为域的 。
17.字符串分为两大类,一类是字符串常量,使用 类的对象表示;另一类是字符串变量,使用 类的对象表示。
18.设有数组定义:int MyIntArray[ ] = { 10 , 20 , 30 , 40 , 50 , 60 , 70 , 80 , 90 , 100 };
则执行以下几个语句后的输出结果是 。 int s = 0 ;
for ( int i = 0 ; i < MyIntArray.length ; i + + ) s += MyIntArray[i] ; System.out.println( s );
19.执行下列代码后的结果是什么? int x,a=2,b=3,c=4; x=++a+b+++c++; ________
20. ________包包含了Collection的接口和类的API.
21.main方法的声明格式包括 ________
22.下列程序中构造了一个SET并且调用其方法add(),输出结果是 ________
public class A{
public int hashCode(){return 1;}
public Boolean equals(Object b){return true}
public static void main(String args[]){ Set set=new HashSet();
set.add(new A()); set.add(new A()); set.add(new A());
System.out.println(set.size()); } }
- 17 - 第 页
Java程序设计习题集
23.下列程序的运行结果是 ________ class A{
class Dog{
private String name;
private int age; public int step; Dog(String s,int a) {
name=s; age=a; step=0; }
public void run(Dog fast) {
fast.step++; }
}
public static void main (String args[]) {
A a=new A();
Dog d=a.new Dog(\ d.step=25; d.run(d);
System.out.println(d.step); } }
24.Collection的 四种主要接口是 ________、 ________、 ________、 ________
25.运行下列程序第 ________行出错。
1.class Outer{
2.private int size=5;
3.public Object makeInner(final int finalLocalVar){ 4.int LocalVar=6; 5.class Inner{
6.public String toString(){
7.return (\size=\localVar=\finalLocalVar =\
8.return new Inner(); }
- 18 - 第 页
Java程序设计习题集
9. }
10. public class OuterTest{
11. public static void main(String[] args){ 12. Outer outer=new Outer (); 13. Object obj=outer.makeInner(56);
14. System.out.println(\26.下列代码不能编译的原因是 ________ Class A{
Private int x;
Public static void main(String args[]) {
new B();
}
class B{
B(){System.out.println(x); }
} }
27.Java中类成员的限定词有以下几种:private, public, ________, ________。其中, ________的限定的范围最大。 28.Java中所有类都是类 ________的子类。
29.请填出在java.lang包中与下列基本数据类型相对应的封装类: float:java.lang.Float, char: ________, boolean: ________。 30.请写出下面程序的运行结果。
public class Test extends TT{
public void main(String args[]){ Test t = new Test(\ }
public Test(String s){
super(s);
System.out.println(\ }
public Test(){
this(\ } }
class TT{ public TT(){
- 19 - 第 页
Java程序设计习题集
System.out.println(\ }
public TT(String s){ this();
System.out.println(\ } }
结果: ________
31.给定下面的未完成的代码片断:
public class Example{ int x,y;
public Example(int a){ ?
x = a; }
public Example(int a, int b){
//和上面一个参数的构造方法做同样的操作,包括赋值 x=a y = b; } }
如果要用最简捷的一行代码实现\和上面一个参数的?\指出的功能,请写出你认为最合适的一行代码: ________
32.如果有一个类MyFrame是Frame的子类,能够被不同包中的类所使用,同时又能够为线程提供运行代码(run()方法),请写出该类的声明头。 你的解答: ________
33.将主方法的参数逐个打印输出,文件名为mtest.java //类的声明 {
main(String args [ ] ) {
int n=args. ; //n为数组长度 if(n==0)
System.out.println(“没有参数”); else {
System.out.println(“参数个数:”+n);
for(int i=0; ) //循环
System.out.println(“args[”+i+”]=”+ ; //打印数组元素
- 20 - 第 页