Java程序设计习题集(含答案) 下载本文

内容发布更新时间 : 2024/12/23 10:00:26星期一 下面是文章的全部内容请认真阅读。

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 - 第 页