Java程序设计复习题库

本文是一份Java编程的基础知识复习题库,涵盖了数组、构造函数、异常处理、字符串、接口、异常、类的继承与多态、线程状态、内存管理、文件操作等核心概念。题目包括了对Java特性的判断、理解与应用,适合初学者和备考者进行自我检测。

1-1

Java中数组的元素只能是简单数据类型。 (1分)

 F

1-2

构造函数名应与类名相同,返回类型为void。 (1分)

 F

1-3

一个try语句可以有多个catch语句与之对应。 (1分)

1-4

可以使用throw语句来抛出异常。 (1分)

T

1-5

Java中数组的元素可以是简单数据类型的量,也可以是某一类的对象。 (1分)

T

1-6

一个接口可以继承其他接口。 (1分)

T

1-7

用户可以自定义自己的异常类。 (1分)

T

1-8

String字符串在创建后可以被修改。 (1分)

F

1-9

final类不能派生子类,final方法不能被覆盖。 (1分)

T

1-10

如果一个类的声明中没有使用extends关键字,这个类被系统默认为是继承Object类。 (1分)

T

1-11

do-while循环的while后的分号可以省略。 (1分)

F

1-12

一个数组可以存放不同类型的数值。 (1分)

F

1-13

数组也是对象。 (1分)

T         

1-14

Java语言中,变量名可以用汉字表示。 (1分)

T

1-15

一个类的静态方法不可以访问该类的非静态成员变量。 (1分)

T

1-16

子类不继承父类的构造方法。 (1分)

T

1-17

一个类可以实现多个接口。 (1分)

T

1-18

抽象类必须有抽象方法。 (1分)

F

抽象类可以没有抽象方法,但是如果你的一个类已经声明成了抽象类,即使这个类中没有抽象方法,它也不能再实例化,即不能直接构造一个该类的对象。

如果一个类中有了一个抽象方法,那么这个类必须声明为抽象类,否则编译通不过。

1-19

对象是类的实例(instance)。 (1分)

T

1-20

一个类只能有一个父类,但一个接口可以有一个以上的父接口。 (1分)

T

1-21

静态变量是被同一个类的所有实例所共享的。 (1分)

T

1-22

java.lang包是Java的核心类库,它包含了运行Java程序必不可少的系统类。 (1分)

T

1-23

一个类的非静态方法可以访问静态成员变量。 (1分)

T

1-24

抽象类中不能有private的成员,所有的抽象方法必须存在于抽象类中。 (1分)

F

1-25

不允许使用final来修饰abstract方法。 (1分)

T

1-26

异常也是一个对象。 (1分)

1-27

使用TCP协议通信时,通信的两端以IO的方式进行数据的交互。 (1分)

1-28

Java的字符类型采用的是Unicode编码,每个Unicode码占16个比特。 (1分)

java中JFrame和JPanel的缺省布局管理器是什么?

BorderLayout     FlowLayout

缺省布局管理器=默认布局管理器

类也是一种数据类型(type)。 T

如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象(FileInputStream)

下列方法头中哪一个不与其他方法形成重载(overload)关系?( 4) (2分)

  1. void mmm(String s)
  2. void mmm(int i)
  3. void mmm()
  4. int mm()

下列哪一项不属于布局管理器? ( 3) (2分)

  1. GridLayout
  2. BorderLayout
  3. BagLayout
  4. CardLayout

String类中返回部分字符串的方法 substring()

设String对象s=”H”,运行语句System.out.println(s.concat(“ello!”));后String对象s的内容为”Hello!”,所以语句输出为”Hello!”。(X)

返回值是后面字符串。

2-1

一个线程在任何时刻都处于某种线程状态(thread state),例如运行状态、阻塞状态、就绪状态等。一个线程可以由选项中的哪种线程状态直接到达运行状态?( ) (2分)

  1. 死亡状态

  2. 阻塞状态(对象lock池内)

  3. 阻塞状态(对象wait池内)

  4. 就绪状态

2-2

以下选项中没有语法错误的是( ) 。 (2分)

  1. while (int i<7) {

    i++;

    System.out.println(“i is “+i);

    }

  2. int j=3; while(j) {

    System.out.println(“ j is “+j);

    }

  3. int j=0;

    for(int k=0; j + k !=10; j++,k++) {

    System.out.println(“ j is “+ j + “k is”+ k);

    }

  4. int j=0;

    do{

    System.out.println( “j is “+j++);

    if (j == 3) {

    continue loop;

    }

    }while (j<10);

2-3

用( )方法可以改变线程的优先级。 (2分)

  1. run()

  2. setPrority()

  3. yield()

  4. sleep()

2-4

Java语言具有许多优点和特点,哪个反映了Java程序并行机制的特点?( ) (2分)

  1. 安全性

  2. 多线性

  3. 跨平台

  4. 可移植

在Java中,"456"属于( )类的对象。 (2分)

  1. int

  2. String

  3. Integer

  4. Number

2-6

关于垃圾收集的哪些叙述是对的。 (2分)

  1. 垃圾收集能够在期望的时间释放被java对象使用的内存。

  2. 垃圾收集将检查并释放不再使用的内存。

  3. 垃圾收集允许程序开发者明确指定并立即释放该内存。

  4. 程序开发者必须自己创建一个线程进行内存释放的工作。

2-7下面程序的运行结果是( ) (2分)

main() {

int x=30;

int[] numbers=new int[x];

x=60;

System.out.println(numbers.length);

}

  1. 60

  2. 20

  3. 30

  4. 50

2-8

在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序的特性称为( )。 (2分)

  1. 隐藏

  2. 覆盖

  3. 重载

  4. Java不支持此特性

2-9

有语句String s=”hello world”; ,以下操作哪个是不合法的?( ) (2分)

  1. int i=s.length();

  2. s>>>=3;

  3. String ts=s.trim();

  4. String t=s+”!”;

2-10

要创建一个新目录,可以用下面( )类实现。 (2分)

  1. FileInputStream

  2. FileOutputStream

  3. RandomAccessFile

  4. File

2-11

有关线程的哪些叙述是对的? (2分)

  1. 一旦一个线程被创建,它就立即开始运行。

  2. 当一个线程因为抢先机制而停止运行,它被放在可运行队列的前面。

  3. 一个线程可能因为不同的原因停止(cease)并进入就绪状态。

  4. 使用start()方法可以使一个线程成为可运行的,但是它不一定立即开始运行。

线程有五个状态:

创建状态:线程被创建

就绪状态:线程一旦被创建,等待CPU的调用—形成就绪队列

运行状态:就绪状态的线程被CPU选中被执行,当时间片轮转调度到期后 线程由运行状态进行就绪状态

等待状态:线程运行过过程中由于缺少资源或者其他原因将中途被迫退出 ,即进入等待状态。当满足资源条件的时候,线程由等待状态进行就绪状态,重新等待CPU的调度(就绪状态不能回到等待状态)

结束状态:线程正常执行完毕,进入结束状态(等待状态可以直接进入结束状态 如果发生死锁,计算机不加与干预,系统根据策略将等待状态的进程直接转到结束状态 —非正常结束)

2-12

有一个类A,以下为其构造方法的声明,其中正确的是()。 (2分)

  1. void A(int x){...}

  2. A(int x){...}

  3. a(int x){...}

  4. void a(int x){...}

2-13

以下关于构造函数的描述错误的是( )。 (1分)

  1. 构造函数的返回类型只能是void型。

  2. 构造函数是类的一种特殊函数,它的方法名必须与类名相同。

  3. 构造函数的主要作用是完成对类的对象的初始化工作。

  4. 一般在创建新对象时,系统会自动调用构造函数。

2-14

下列选项中,用于实现接口的关键字是 ( )。 (2分)

  1. interface

  2. implements

  3. abstract

  4. class

2-15

在Java中,能实现多重继承效果的方式是( )。 (2分)

  1. 接口

  2. 继承

  3. 内部类

  4. 适配器

2-16

如果要使条件method( -4.4 ) == -4成立,则用到java.lang.Math 类中哪个方法? (2分)

  1. round()

  2. min()

  3. trunc()

  4. abs()

  5. floor()

  6. ceil()

round(参数)是最接近参数的整数是几,通俗讲就是四舍五入.

但是负数要注意,五入的时候要往大的数入.比如-12.5 就变-12而不是-13因为-12比-13大.

2-17

下列不可作为java语言标识符的是()。(1分)

  1. a2

  2. $2

  3. _2

  4. 22

2-18

当访问无效的数组下标时,会发生( )。 (2分)

  1. 中止程序

  2. 抛出异常

  3. 系统崩溃

  4. 直接跳过

2-19

在类中若要处理ActionEvent事件,则该类需要实现的接口是( ) (2分)

  1. Runnable

  2. ActionListener

  3. Serializable

  4. Event

2-20

以下哪个类用于实现TCP通信的客户端程序。 (2分)

  1. ServerSocket

  2. Socket

  3. Client

  4. Server

内容简介 《Java程序设计习题集》是同作者所编写的清华大学教材《Java程序设计》相配套的习题集。习题集内容覆盖面广,包括:Java言的基本常识、基本语法、面向对象的基本概念、数组、字符串、异常处理、文件和数据流、图形用户界面设计、小应用程序、线程、编程规范、网络程序设计、多媒体民图形学程序设计以及数据库程序设计等。全书共分为习题、参考答案和测试要点与解题说明3个部分。习题包括判断正误、填空题、选择题、简答题、编程题和趣味题等6种题型,并按难易程序分为3 个等级,采用星号注明。本习题集收集了Java程序编写常见问题,并以习题形式总结和归纳Java程序设计知识要点,同时兼顾了SCJP(Sun公司 Java程序员认证考试),从而降低学习难度,减少编写程序出现错误的枘地,也便于掌握各个知识要点或测试对Java程序设计的掌握熟练程度。这些特点有利于初学者在学习过程中少走弯路。对知识点的总结以及内容的全面性也使得《Java程序设计习题集》具有一定的手册特性,非常适合复习,同时也方便教师出题,使得各章节的试题容易在试卷中分布均匀合理。在本习题集中的编程题和趣味题还有可能采用其他计算机语言实现,从而本习题集也有可能成为学习其他计算机语言的实践素材。 编辑推荐 内容全面:习题全面覆盖了Java程序设计(J2SE)的基本知识要点和重要知识要点。以习题的形式对JaVa程序设计方法和常见问题进行了总结与归纳,从而方便复习。   实用性:《Java程序设计习题集》每章都含有一些趣味题,营造了一种轻松而快乐的学习氛围,努力培养和提高学生的学习乐趣,同时也使学生容易产生学习成就感。   趣味性:习题基本上覆盖了程序员在编写Java程序时经常出现的问题Java程序设计知识要点,各习题也列出其测试要点,从而方便教师从中挑选或改编考题以及方便学生进行实战模拟练习或测试,同时也可以为SCJP考试作准备。   简洁性:每道习题者晖力求典型而简洁,这样既方便初学者,也有利于提高学习效率,在较短的时间内测试并领会较多的知识要点。 作者简介 雍俊海1991年到2000年就读于清华大学计算机科学与技术系,获学士。硕士和博士学位,被评为清华大学优秀博士毕业生,博士论文被评为全国优秀博士论文。从2000年3月到2000年6月在香港科技大学计算机系担任访问研究员,从2000年11月到2002年9月在美国肯塔基大学计算机系做博士后,现为清华大学软件学院教师。参与或负责多个国家自然科学基金项目。国家863项目。973项目和美国自然科学基金项目。在2003-2004学年度在清华大学开设了"Java程序设计"课程,获得学生一致好评。根据清华大学2003-2004学年秋季学期教学评估结果,教学成绩在全校名列前茅,在清华大学软件学院所有参评教师中取得教学成绩第一名,在所有讲授Jaya课程的清华大学参评教师中获得教学成绩第一名。因此还获得了清华大学软件学院教学工作优秀奖、大学生研究训练计划(SRT)优秀指导教师一等奖。 目录 第一部分习题 第1章 绪论 第2章 结构化程序设计 第3章 面向对象程序设计 第4章 数组、字符串与异常处理 第5章 文件与数据流 第6章 图形用户界面设计 第7章 小应用程序 第8章 多线程程序设计 第9章 编程规范 第10章 网络程序设计 第11章 多媒体与图形学程序设计 第12章 数据库程序设计 第二部分 参考答案 第1章 绪论 第2章 结构化程序设计 第3章 面向对象程序设计 第4章 数组、字符串与异常处理 第5章 文件与数据流 第6章 图形用户界面设计 第7章 小应用程序 第8章 多线程程序设计 第9章 编程规范 第10章 网络程序设计 第11章 多媒体与图形学程序设计 第12章 数据库程序设计 第三部分 测试要点与解题说明 第1章 绪论 第2章 结构化程序设计 第3章 面向对象程序设计 第4章 数组、字符串与异常处理 第5章 文件与数据流 第6章 图形用户界面设计 第7章 小应用程序 第8章 多线程程序设计 第9章 编程规范 第10章 网络程序设计 第11章 多媒体与图形学程序设计 第12章 数据库程序设计 参考文献
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值