java期末考试题

温柔似野鬼°
557次浏览
2020年08月03日 01:03
最佳经验
本文由作者推荐

探险的作文-民事起诉状范本


第1章 Java开发入门
习题
一、填空题
1. 将.java源文件编译为.class文件的是【 】命令。
2. 在Eclipse窗口中选择菜单【 】→New→Java Project创建Java项目。
3. 在安装JDK的过程中,有三个功能模块可供选择,它们分别是【 】,【 】
和【 】。
4. 将文件编译为class文件,需要键入【 】命令。
5. JRE是Java程序的【 】。
二、判断题
1. Eclipse只是一个框架和一组服务,所有功能都是将插件组件加入到Eclipse框架中
来实现 的。( )
2. JDK安装成功后,需要将bin目录的路径配置在环境变量path中。( )
3. Java配置环境变量path的目的是为了可以查找到.class文件。( )
4. JDK安装成功后,classpath环境变量必须配置。( )
5. 在命令行窗口中,编译文件可以输入javac Demo。( )
三、选择题
1. 如果jdk的安装路径为:c:jdk,若想在命令窗口中任何当前路径下,都可以直接使
用javac 和java命令,需要将环境变量path设置为以下哪个选项( )
A: c:jdk
B: c:jdkbin
C: c:jrebin
D: c:jre
2. 下列关于classpath环境变量的说法中,说法正确的是( )
A: classpath配置一次后可永久使用
B: 没有classpath环境变量就不能运行Java程序
C: classpath环境变量可以让虚拟机找到class文件的目录
D: 查看当前classpath配置的命令是:classpath
3. 下面哪种类型的文件可以在Java虚拟机中运行( )
A: .java
B: .jre
C: .exe
D: .class
4. Java属于以下哪种语言( )
A: 机器语言
B: 汇编语言
C: 高级语言
D: 以上都不对
5. 下列关于Java特点的描述中,错误的是( )。


A: Java是一门面向对象的语言
B: Java具有自动垃圾回收的机制
C: Java可以运行在Window和Linux等不同平台上
D: Java中只支持单线程序运行
答案
一、填空题
1. javac
2. File
3. 开发工具;源代码;公共JRE
4. javac
5. 运行环境
二、判断题
1. 对
2. 对
3. 错
4. 错
5. 错
三、选择题
1. B
2. C
3. D
4. C
5. D
第2章 Java编程基础
习题
一、填空题
1. 可以通过【 】循环使程序能够多次键盘输入。
2. Java中可以通过【 】类来获取随机数。
3. 定义一个方法时,要有访问修改符、返回值类型、方法名、【
4. 当方法中的返回值类型是【 】时,可以不写return语句。
5. 十进制数12转换成二进制的结果是【 】。
二、判断题
1. 数组的最大下标的值比它的长度小1。( )
2. 二维数组中的元素还是一个数组。( )
3. 在表达式中,乘法和除法运算优先级别最高。( )
4. 若x = 5,则表达式(x + 5)3的值是3。( )
。 】


5. 常量就是程序中常常变化的数据。( )
三、选择题
1. 阅读下面的代码片段
public static int add(int a,int b) {
return a + b;
}
2.
3.
4.
5.
下列选项中,可以在main()方法中调用add()方法的是( )
A: int num = add(1.0,2.0);
B: int num = add(1,2);
C: int num = add(true,flase);
D: int num = add(
下面关于布尔类型变量的定义中,正确的是( )
A: boolean a=TRUE;
B: boolean b=FALSE;
C: boolean c='true';
D: boolean d=false;
下面浮点型数据的定义中,错误的是( )
A: float a=1.23;
B: double b=1.23;
C: double c=1.5E4;
D: float d='a';
以下关于三元运算符的说法中,正确的是( )
A: 三元运算符第一个表达式的结果必须是boolean类型值。
B: 三元运算符第一个表达式的结果可以是任意类型的值。
C: 三元运算符只能得到基本类型的结果。
D: 以上说法都不对。
while语句的循环体中不能包含的语句是( )
A: while语句
B: 方法定义语句
C: if语句
D: switch语句
答案
一、填空题
1. while
2. Random
3. 参数列表
4. void
5. 1100
二、判断题
1. 对
2. 对
3. 错


4. 对
5. 错
三、选择题
1. B
2. D
3. A
4. A
5. B
第3章 面向对象(上)
习题
一、填空题
1. 在Java中使用【 】类型的实例对象表示一个字符串。
2. 在Java中解决成员变量与局部变量名称冲突时,可以使用【 】关键字。
3. 类的封装是指在定义一个类时,将类中的属性私有化,即使用【 】关键字来
修饰。
4. 在一个Java类中,可以使用【 】关键字来修饰成员变量,该变量被称作静态
变量。
5. 在垃圾回收机制中,可以通过调用【 】方法来通知Java虚拟机立即进行垃圾
回收。
二、判断题
1. 在Java中,对象是通过类创建出来的。( )
2. 垃圾回收机制保证了Java程序不会出现内存溢出。( )
3. 在成员方法中可以使用“this([参数1,参数2…])”来调用其它的构造方法。( )
4. static关键字可以修饰成员变量,也可以修饰局部变量。( )
5. 成员内部类,就是将一个类定义在另一个类的成员的位置。( )
三、选择题
1. 请阅读下面的程序,关于程序的运行结果说法正确的是( )
class Demo{
private static int x
public static void main(String[] args){
}
}
A: 结果为0
B: 结果为1
C: 无结果
D: 编译失败
2. 下列程序的运行结果是( )
class Demo{
private String name;


Demo(String name){ = name;}
private static void show(){
}
public static void main(String[] args){
Demo d = new Demo(“lisa”);
();
}
}
A: 输出lisa
B: 输出null
C: 输出name
D: 编译失败,无法从静态上下文中引用非静态变量name
3. 下面关于构造方法的调用,正确的是( )
A: 构造方法在类定义的时候被调用
B: 构造方法在创建对象的时候被调用
C: 构造方法在调用对象方法时被调用
D: 构造方法在使用对象的变量时被调用
4. 下列关于成员变量默认值的描述中,错误的是( )
A: byte类型的数据默认值是0
B: int类型的数据默认值是0
C: long类型的数据默认值是0
D: float类型的数据默认值是0.0f
5. “隐藏对象的属性和实现细节,仅对外提供公有的方法”描述的是面向对象的哪个
特征( )
A: 封装
B: 继承
C: 多态
D: 以上都不是
答案
一、填空题
1. String
2. this
3. private
4. static
5. ()
二、判断题
1. 对
2. 错
3. 错
4. 错
5. 对
三、选择题


1.
2.
3.
4.
5.
A
D
B
C
A
第4章 面向对象(下)
习题
一、填空题
1. RuntimeException类及其子类都是【 】异常。
2. throw关键字用于在方法中声明抛出异常的【 】。
3. 自定义异常需要继承【 】类。
4. 定义一个抽象类的关键字是【 】。
5. final修饰的方法,不能被子类【 】。
二、判断题
1. RuntimeException类及其子类用于表示运行时异常。( )
2. Java中的异常类都继承自类。( )
3. throws关键字用于对外声明方法可能发生的 异常,这样调用者在调用方法时,可以
明确知道该方法有异常,并进行相关处理。( )
4. protected修饰的类,类中的所有方法只能给子类使用。( )
5. Object是所有类的父类。( )
三、选择题
1. 下列符号中,哪个用于分隔throws关键字抛出的多个异常( )
A:
B: ,
C: &
D: |
2. 下面程序运行的结果是( )
class Demo{
public static void main(String[] args){
try{
int x = div(1,2);
}catch(Exception e){
}
}
public static int div(int a,int b){
return a b
}
}
A: 输出1


B: 输出0
C: 输出0.5
D: 编译失败
3. 以下关于编译异常说法正确的是( )
A: 编译异常就是指Exception以及其子类
B: 编译异常如果产生,可以不用处理
C: 编译异常如果产生,必须处理,要么捕获,要么抛出
D: 编译异常指的就是Error
4. 下列关于protected的说法中,正确的是( )
A: protected修饰的方法,只能给子类使用
B: protected修饰的类,类中的所有方法只能给子类使用
C: 如果一个类的成员被prote cted修饰,那么这个成员既能被同一包下的其它类访
问,也能被不同包下该类的子类访问。
D: 以上都不对
5. 下列关于对象的类型转换的描述,说法错误的是( )
A: 对象的类型转换可通过自动转换或强制转换进行
B: 无继承关系的两个类的对象之间试图转换会出现编译错误
C: 由new语句创建的父类对象可以强制转换为子类的对象
D: 子类的对象转换为父类类型后,父类对象不能调用子类的特有方法
答案
一、填空题
1. 运行时
2. 实例对象
3. Exception
4. abstract
5. 重写
二、判断题
1. 对
2. 对
3. 对
4. 错
5. 对
三、选择题
1. B
2. C
3. C
4. C
5. C


第5章 Java API
习题
一、填空题
1. 在程序,获取字符串长度的方法是【 】。
2. StringBuffer类的默认容量是【 】个字符。
3. Math类中,用于获取一个数的绝对值的方法是【 】。
4. String类中,将字符串转换为字符数组的方法是【 】。
5. Random类的【 】方法可以随机生成Int类型的随机数。
二、判断题
1. switch语句不支持字符串类型。( )
2. String类的append()方法可以将数组元素和空格连接成字符串。( )
3. ceil()和floor()方法返回的都是double类型的数。( )
4. Random类的nextInt( )方法会生成一个int类型的随机数。( )
5. JAVA中拆箱是指将基本数据类型的对象转为引用数据类型。( )
三、选择题
1. 阅读下面的代码,输出结果是( )
public static void main(String[] args) {
Random random1 = new Random(10);
Random random2 = new Random(10);
for(int i=0;i<5;i++){
}
for(int i=0;i<5;i++){
}
}
2. 下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引( )
A: charcharAt(intindex)
B: intindexOf(intch)
C: intlastIndexOf(intch)
D: booleanendsWith(Stringsuffix)
3. 假如indexOf()方法未能找到所指定的子字符串,那么其返回值为( )
A: false
B: 0
C: -1
D: 以上答案都不对
4. 下列对于Runtime的描述中,错误的是( )
A: 每一个Java应用程序运行时都产生一个Runtime类实例
B: Runtime实例可以将应用程序和运行环境相结合
C: Runtime类中的方法是多例的
D: Runtime实例不需要创建,直接通过getRuntime()方法获取
5. 阅读下列代码


public class Example {
public static void main(String[] args) {
int[] srcArray = { 11, 12, 13, 14 };
int[] destArray = { 21, 22, 23, 24 };
opy(srcArray, 1, destArray, 2, 2);
for (int i = 0; i < i++) {
}
}
}
下列选项中,程序的运行结果是( )
D: 发生数组角标越界异常
答案
一、填空题
1. length()
2. 16
3. abs()
4. toCharArray ()
5. nextInt ()
二、判断题
1. 错
2. 错
3. 对
4. 对
5. 错
三、选择题
1. A
2. B
3. C
4. C
5. A
第6章 集合类
习题
一、填空题
1. 键和值对象之间存在一种对应关系,称为【 】。
2. 接口的主要作用是对【 】进行迭代的迭代器。(写顶级接口)。
3. Map接口的主要实现类有【 】和【 】。


4. ArrayList集合中大部分方法都是从父类Collection和List继承过来的,其中【 】
方法和【 】方法用于实现元素的存取。
5. 当向HashSet集合中添加一个对象时,首先会调用该对象的【 】方法来计算
对象的哈希值。
二、判断题
1. HashSet是根据对象的哈希值来确定元素在集合中的存储位置,因此性能较差。( )
2. 可以通过Scanner类的next()方法来接受控制台的信息。( )
3. Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value。
( )
4. Iterator接口是Java集合框架中的成员。( )
5. 集合是长度可变的数组。( )
三、选择题
1. 阅读下面代码
public class Demo {
public static void main(String[] args) {
ArrayList list = new ArrayList();
(
(
(
for (Object obj : list) {
if ((
(obj);
}
}
}
}
下列选项中,哪一个是程序执行后的结果( )
A: [aaa,ccc]
B: [aaa,bbb,ccc]
C: []
D: 以上都不对
2. 下列方法中,不能用于删除Collection集合中元素的是( )
A: clear()
B: isEmpty()
C: remove()
D: removeAll()
3. Java语言中,集合类都位于哪个包中( )
A:
B:
C:
D: tions
4. 下列关于ArrayList的描述中,错误的是( )
A: ArrayList集合可以看作一个长度可变的数组。
B: ArrayList集合不适合做大量的增删操作。


C: ArrayList集合查找元素非常便捷。
D: ArrayList集合中的元素索引从1开始。
5. 下面哪个对象不能直接获取迭代器进行迭代( )
答案
一、填空题
1. 映射
2. Collection
3. HashMap;TreeMap
4. add();get()
5. hashCode()
二、判断题
1. 错
2. 错
3. 对
4. 对
5. 错
三、选择题
1. A
2. B
3. A
4. D
5. D
第7章 IO(输入输出)
习题
一、填空题
1. File类中用于删除文件或整个目录的方法是【 】。
2. 是【 】的子类,它是操作文件的字节输出流。
3. IO流通常都是成对出现的,即【 】流和【 】流一起使用。
4. 字节流缓冲区实际上是一个【 】数组。
5. 包中可以用于从文件中直接读取字符的是【 】类。
二、判断题
1. BufferedReader和BufferedWriter是具有缓冲功能的流,使用它们 和使用其他流没有
任何区别。( )
2. 在操作文件时,如果需要删除整个目录,只需File类的delete()方法直接删除目录
即可。( )
3. Java中的数据传输“流”都位于包中,称为IO(输入输出)流( )


4. FileOutputStream是操作文件的字节输出流,专门用于把数据写入文件。( )
5. FileWriter用于向文件中写入字符,它属于字符输出流。( )
三、选择题
1. 以下选项中,哪一个是File类delete()方法返回值的类型( )
A: boolean
B: int
C: void
D: Integer
2. 当文件不存在或不可读时,使用FileInputStream读取文件会报下列哪一种错误( )
A: NullPointerException
B: NoSuchFieldException
C: FileNotFoundException
D: RuntimeException
3. Java流被分为字节流、字符流两大流类,两者都作为( )类的直接子类。
A: Exception
B: Object
C: Throwable
D: 以上都不是
4. 下面关于字节流缓冲区的说法错误的是( )
A: 使用字节流缓冲区读写文件是一个字节一个字节的读写。
B: 使用字节流缓冲区读写文件时,可以一次性读取多个字节的数据。
C: 使用字节流缓冲区读写文件,可以大大的提高文件的读写操作。
D: 字节流缓冲区就是一块内存,用于存放暂时输入输出的数据。
5. 下列选项中,哪个是文本文件读取类( )
A: FileReader
B: FileWriter
C: BufferReader
D: BufferWriter
答案
一、填空题
1. delete()
2. OutputStream
3. 输入;输出
4. 字节
5. FileReader
二、判断题
1. 错
2. 错
3. 对
4. 对
5. 对
三、选择题


1.
2.
3.
4.
5.
A
C
B
A
A
第8章 GUI
习题
一、填空题
1. 在【 】包中专门提供了一个【 】类,它相当于一个抽象的画笔,其中
提供了各种绘制图形的方法。
2. 如果不希望通过【 】来对容器进行布局,也可以调用容器的setLayout(null)
方法,将布局管理器取消。
3. 创建下拉式菜单需要JMenuBar、JMenu和【 】三个组件。
4. JTextField有一个子类【 】,它表示一个密码框。
5. 处理ActionEvent事件的监听器对象需要实现【 】接口。
二、判断题
1. TableModel是用来存储列表数据的,数据包括表体的标题数据与表头的实体数据。
( )
2. 在包中专门提供了一个JmenuItem类,它相当于一个抽象的画笔,其中提
供了各 种绘制图形的方法,使用JmenuItem类的方法就可以完成在组件上绘制图形。
( )
3. 弹出式菜单是通过JPopup实现的。( )
4. JText是一个操作文本的组件。( )
5. ActionEvent类表示动作事件。( )
三、选择题
1. JComboBox中用于在指定的索引处插入选项的方法是( )
A: ObjctgetItemAt(intindex)
B: intgetItemCount()
C: voidaddItem(ObjectanObject)
D: voidinsertItemAt(ObjectanObject,intindex)
2. JTextField的构造方法中,方法JTextField(String text,int column)的作用是( )
A: 创建一个空的文本框,初始字符串为null
B: 创建一个具有指定列数的文本框,初始字符串为null
C: 创建一个显示指定初始字符串的文本框
D: 创建一个具有指定列数、并显示指定初始字符串的文本框
3. JTextArea的构造方法中,用于创建显示指定初始文本并指定了行列的文本域的是
( )
A: JTextArea()
B: JTextArea(Stringtext)


C: JTextArea(introws,intcolumns)
D: JTextArea(Stringtext,introws,intcolumns)
4. 下列选项中,关于流式布局管理器(FlowLayout)的说法错误的是( )
A: 在流式布局下,当到达容器的边界时,会自动将组件放到下一行的开始位置
B: FlowLayout布局管理器的特点就是可以将所有组件像流水一样依次进行排列
C: 流式布局管理器是最简单的布局管理器
D: 流式布局管理器将容器划分为五个区域
5. 处理鼠标事件时,通过( )方法将监听器绑定到事件源对象。
A: mousePressed()
B: addMouseListener()
C: mouseEntered()
D: mouseClicked()
答案
一、填空题
1. ;Graphics
2. 布局管理器
3. JMenuItem
4. JPasswordText
5. ActionListener
二、判断题
1. 错
2. 错
3. 错
4. 错
5. 对
三、选择题
1. D
2. D
3. D
4. D
5. B
第9章 JDBC
习题
一、填空题
1. ResultSet接口中的常量CONCUR_READ_ONLY,所代表的含义是【
2. ResultSet接口中,能将游标移动到此 ResultSet 对象的最后一行的方法是【

】。


3. PreparedStatement是Statement的子接口,用于执行【 】的SQL语句。
4. Statement接口的executeUpdate(String sql)方法用于执行SQL中的insert、【 】
和delete语句。
5. JDBC常用API 中,【 】类用于加载JDBC驱动并且创建与数据库的连接。
二、判断题
1. 对于相同的SQL语句,Statement对象只会对其编译执行一次。( )
2. 使用erDriver进行驱动注册时,数据库驱动会被注册2次。( )
3. ResultSet接口表示select查询语句得到的结果集,该结果集封装在一个逻辑表格中。
( )
4. Statement接口的executeUpdate(String sql)返回值是int,它表示数据库中受该SQL
语句影响的记录的数目。( )
5. JDBC的全称是Java数据库连接,它是一套用于执行HTML语句的Java API。( )
三、选择题
1. 下列选项,可用于存储结果集的对象是( )
A: ResultSet
B: Connection
C: Statement
D: PreparedStatement
2. 下面选项中,能够将游标从当前位置向下移一行的方法是( )
A: next()
B: absolute(introw)
C: previous()
D: last()
3. 下面关于executeQuery(String sql)方法,说法正确的是( )
A: 可以执行insert语句
B: 可以执行update语句
C: 可以执行select语句
D: 可以执行delete语句
4. 下面Statement接口的方法中,用于执行各种SQL语句的是( )
A: executeUpdate(Stringsql)
B: executeQuery(Stringsql)
C: execute(Stringsql)
D: executeDelete(Stringsql)
5. 下面选项中,用于将参数化的SQL语句发送到数据库的方法是( )
A: prepareCall(Stringsql)
B: prepareStatement(Stringsql)
C: registerDriver(Driverdriver)
D: createStatement()
答案
一、填空题
1. 以只读形式打开结果集
2. last()


3. 预编译
4. update
5. DriverManager
二、判断题
1. 错
2. 对
3. 对
4. 对
5. 错
三、选择题
1. A
2. A
3. C
4. C
5. B
第10章 多线程
习题
一、填空题
1. 同步代码块中的锁对象可以是任意类型的对象,但多个线程共享的锁对象必须是
【 】的。
2. Java中有两种创建线程的方式,但大部分的多线程应用都会采用【 】方式来
创建线程。
3. Java中thread类的sleep()方法可以让让当前线程进入【 】状态。
4. 在Thread类中提供了一个【 】方法来实现线程插队。
5. 同步锁可以是任意【 】。
二、判断题
1. 使用synchronized关键字修饰的代码块,被称作同步代码块。( )
2. 如果两个线程访问不同类中的静态同步方法,这两个线程是不需要等待的。( )
3. Java 多线程中,如果某个资源在一段时间内只能由一个进程占有,不能同时被两个
或两个以上的进程占有。必 须在占有该资源的进程主动释放它之后,其它进程才能
占有该资源,这样就一定会出现死锁。( )
4. Runnable接口中只有一个run()方法。( )
5. 处于等待的线程,必须被其他线程唤醒后才能继续运行。( )
三、选择题
1. 下列有关Java多线程中静态同步方法的说法错误的是( )
A: 静态方法必须使用class对象来同步
B: 在使用synchronized块来同步方法时,非 静态方法可以通过this来同步,而静态
方法必须使用class对象来同步
C: 静态同步方法和以当前类为同步监视器的同步代码块不能同时执行


2.
3.
4.
5.
D: 静态同步方法不可以和以this为同步监视器的同步代码块同时执行
以下关于Runnable接口的描述错误的是( )
A: 通过实现Runnable接口可以创建多线程程序
B: Runnable接口是在包下
C: 实现Runnable接口必须重写run()方法
D: 通过Runnable接口中的start()方法可以开启线程
下列有关线程的两种创建方式说法错误的是( )
A: 通过继承Thread类与实现Runnable接口都可以创建多线程程序
B: 实现Runnab le接口相对于继承Thread类来说,可以避免由于Java的单继承带
来的局限性
C: 通过继承Thread类与实现Runnable接口创建多线程这两种方式没有区别
D: 大部分的多线程应用都会采用实现Runnable接口方式创建
下列关于线程优先级的描述,错误的是( )
A: NORM_PRIORITY代表普通优先级,默认值是5
B: 一般情况下,主函数具有普通优先级
C: 新建线程的优先级默认为最低
D: 优先级高的线程获得先执行权的几率越大
下面关于yield方法描述正确的是( )
A: yield方法是用于合并线程
B: yield方法是用于启动线程
C: yield方法是用于线程让步
D: yield方法是用于线程同步
答案
一、填空题
1. 唯一
2. 实现Runnable接口
3. 休眠
4. join
5. 对象
二、判断题
1. 对
2. 对
3. 错
4. 对
5. 对
三、选择题
1. D
2. D
3. C
4. C
5. C


第11章 网络编程
习题
一、填空题
1. 基于TCPIP的参考模型将协议分成四个层次,分别是【 】【 】、【、 】
和【 】。
2. 【 】指本机地址,该地址一般用来测试使用。
3. 在JDK中,提供了一个与IP地址相关的【 】类,该类用于封装一个IP地址。
4. 【 】是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻
辑连接。
5. DatagramPacket类的【 】方法用于返回发送端或者接收端的端口号。
二、判断题
1. 目前应用最广泛的网络通信协议是UDP协议。( )
2. IP地址用于唯一标识一台计算机,它有IPv4和Ipv6两个版本。( )
3. 在TCP程序中,ServerSocket类的实例对象可以实现一个服务器端的程序。( )
4. 端口号的取值范围是0~65535。( )
5. TCP是一种用户数据报协议。( )
三、选择题
1. 下列层次中,哪一层是整个TCPIP协议的核心( )
A: 应用层
B: 传输层
C: 网络层
D: 链路层
2. HTTP协议服务的默认端口号是( )
A: 8080
B: 8090
C: 8009
D: 80
3. 在TCPIP 网络中,为各种公共服务和系统保留的端口号范围是( )
A: 0~65525
B: 0~1024
C: 0~1023
D: 0~80
4. 下列说法中,错误的是( )
A: UDP在数据传输时,数据的发送端和接收端不建立逻辑连接
B: TCP协议是面向连接的通信协议
C: 使用UDP协议传送数据保证了数据的完整性
D: TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求
5. 以下哪个类用于实现TCP通信的客户端程序( )
A: ServerSocket
B: Socket


C: Client
D: Server
答案
一、填空题
1. 链路层;网络层;传输层;应用层
2.
3. InetAddress
4. UDP
5. getPort()
二、判断题
1. 错
2. 对
3. 对
4. 对
5. 错
三、选择题
1. C
2. D
3. C
4. C
5. B


第1章 Java开发入门
习题
一、填空题
1. 将.java源文件编译为.class文件的是【 】命令。
2. 在Eclipse窗口中选择菜单【 】→New→Java Project创建Java项目。
3. 在安装JDK的过程中,有三个功能模块可供选择,它们分别是【 】,【 】
和【 】。
4. 将文件编译为class文件,需要键入【 】命令。
5. JRE是Java程序的【 】。
二、判断题
1. Eclipse只是一个框架和一组服务,所有功能都是将插件组件加入到Eclipse框架中
来实现 的。( )
2. JDK安装成功后,需要将bin目录的路径配置在环境变量path中。( )
3. Java配置环境变量path的目的是为了可以查找到.class文件。( )
4. JDK安装成功后,classpath环境变量必须配置。( )
5. 在命令行窗口中,编译文件可以输入javac Demo。( )
三、选择题
1. 如果jdk的安装路径为:c:jdk,若想在命令窗口中任何当前路径下,都可以直接使
用javac 和java命令,需要将环境变量path设置为以下哪个选项( )
A: c:jdk
B: c:jdkbin
C: c:jrebin
D: c:jre
2. 下列关于classpath环境变量的说法中,说法正确的是( )
A: classpath配置一次后可永久使用
B: 没有classpath环境变量就不能运行Java程序
C: classpath环境变量可以让虚拟机找到class文件的目录
D: 查看当前classpath配置的命令是:classpath
3. 下面哪种类型的文件可以在Java虚拟机中运行( )
A: .java
B: .jre
C: .exe
D: .class
4. Java属于以下哪种语言( )
A: 机器语言
B: 汇编语言
C: 高级语言
D: 以上都不对
5. 下列关于Java特点的描述中,错误的是( )。


A: Java是一门面向对象的语言
B: Java具有自动垃圾回收的机制
C: Java可以运行在Window和Linux等不同平台上
D: Java中只支持单线程序运行
答案
一、填空题
1. javac
2. File
3. 开发工具;源代码;公共JRE
4. javac
5. 运行环境
二、判断题
1. 对
2. 对
3. 错
4. 错
5. 错
三、选择题
1. B
2. C
3. D
4. C
5. D
第2章 Java编程基础
习题
一、填空题
1. 可以通过【 】循环使程序能够多次键盘输入。
2. Java中可以通过【 】类来获取随机数。
3. 定义一个方法时,要有访问修改符、返回值类型、方法名、【
4. 当方法中的返回值类型是【 】时,可以不写return语句。
5. 十进制数12转换成二进制的结果是【 】。
二、判断题
1. 数组的最大下标的值比它的长度小1。( )
2. 二维数组中的元素还是一个数组。( )
3. 在表达式中,乘法和除法运算优先级别最高。( )
4. 若x = 5,则表达式(x + 5)3的值是3。( )
。 】


5. 常量就是程序中常常变化的数据。( )
三、选择题
1. 阅读下面的代码片段
public static int add(int a,int b) {
return a + b;
}
2.
3.
4.
5.
下列选项中,可以在main()方法中调用add()方法的是( )
A: int num = add(1.0,2.0);
B: int num = add(1,2);
C: int num = add(true,flase);
D: int num = add(
下面关于布尔类型变量的定义中,正确的是( )
A: boolean a=TRUE;
B: boolean b=FALSE;
C: boolean c='true';
D: boolean d=false;
下面浮点型数据的定义中,错误的是( )
A: float a=1.23;
B: double b=1.23;
C: double c=1.5E4;
D: float d='a';
以下关于三元运算符的说法中,正确的是( )
A: 三元运算符第一个表达式的结果必须是boolean类型值。
B: 三元运算符第一个表达式的结果可以是任意类型的值。
C: 三元运算符只能得到基本类型的结果。
D: 以上说法都不对。
while语句的循环体中不能包含的语句是( )
A: while语句
B: 方法定义语句
C: if语句
D: switch语句
答案
一、填空题
1. while
2. Random
3. 参数列表
4. void
5. 1100
二、判断题
1. 对
2. 对
3. 错


4. 对
5. 错
三、选择题
1. B
2. D
3. A
4. A
5. B
第3章 面向对象(上)
习题
一、填空题
1. 在Java中使用【 】类型的实例对象表示一个字符串。
2. 在Java中解决成员变量与局部变量名称冲突时,可以使用【 】关键字。
3. 类的封装是指在定义一个类时,将类中的属性私有化,即使用【 】关键字来
修饰。
4. 在一个Java类中,可以使用【 】关键字来修饰成员变量,该变量被称作静态
变量。
5. 在垃圾回收机制中,可以通过调用【 】方法来通知Java虚拟机立即进行垃圾
回收。
二、判断题
1. 在Java中,对象是通过类创建出来的。( )
2. 垃圾回收机制保证了Java程序不会出现内存溢出。( )
3. 在成员方法中可以使用“this([参数1,参数2…])”来调用其它的构造方法。( )
4. static关键字可以修饰成员变量,也可以修饰局部变量。( )
5. 成员内部类,就是将一个类定义在另一个类的成员的位置。( )
三、选择题
1. 请阅读下面的程序,关于程序的运行结果说法正确的是( )
class Demo{
private static int x
public static void main(String[] args){
}
}
A: 结果为0
B: 结果为1
C: 无结果
D: 编译失败
2. 下列程序的运行结果是( )
class Demo{
private String name;


Demo(String name){ = name;}
private static void show(){
}
public static void main(String[] args){
Demo d = new Demo(“lisa”);
();
}
}
A: 输出lisa
B: 输出null
C: 输出name
D: 编译失败,无法从静态上下文中引用非静态变量name
3. 下面关于构造方法的调用,正确的是( )
A: 构造方法在类定义的时候被调用
B: 构造方法在创建对象的时候被调用
C: 构造方法在调用对象方法时被调用
D: 构造方法在使用对象的变量时被调用
4. 下列关于成员变量默认值的描述中,错误的是( )
A: byte类型的数据默认值是0
B: int类型的数据默认值是0
C: long类型的数据默认值是0
D: float类型的数据默认值是0.0f
5. “隐藏对象的属性和实现细节,仅对外提供公有的方法”描述的是面向对象的哪个
特征( )
A: 封装
B: 继承
C: 多态
D: 以上都不是
答案
一、填空题
1. String
2. this
3. private
4. static
5. ()
二、判断题
1. 对
2. 错
3. 错
4. 错
5. 对
三、选择题


1.
2.
3.
4.
5.
A
D
B
C
A
第4章 面向对象(下)
习题
一、填空题
1. RuntimeException类及其子类都是【 】异常。
2. throw关键字用于在方法中声明抛出异常的【 】。
3. 自定义异常需要继承【 】类。
4. 定义一个抽象类的关键字是【 】。
5. final修饰的方法,不能被子类【 】。
二、判断题
1. RuntimeException类及其子类用于表示运行时异常。( )
2. Java中的异常类都继承自类。( )
3. throws关键字用于对外声明方法可能发生的 异常,这样调用者在调用方法时,可以
明确知道该方法有异常,并进行相关处理。( )
4. protected修饰的类,类中的所有方法只能给子类使用。( )
5. Object是所有类的父类。( )
三、选择题
1. 下列符号中,哪个用于分隔throws关键字抛出的多个异常( )
A:
B: ,
C: &
D: |
2. 下面程序运行的结果是( )
class Demo{
public static void main(String[] args){
try{
int x = div(1,2);
}catch(Exception e){
}
}
public static int div(int a,int b){
return a b
}
}
A: 输出1


B: 输出0
C: 输出0.5
D: 编译失败
3. 以下关于编译异常说法正确的是( )
A: 编译异常就是指Exception以及其子类
B: 编译异常如果产生,可以不用处理
C: 编译异常如果产生,必须处理,要么捕获,要么抛出
D: 编译异常指的就是Error
4. 下列关于protected的说法中,正确的是( )
A: protected修饰的方法,只能给子类使用
B: protected修饰的类,类中的所有方法只能给子类使用
C: 如果一个类的成员被prote cted修饰,那么这个成员既能被同一包下的其它类访
问,也能被不同包下该类的子类访问。
D: 以上都不对
5. 下列关于对象的类型转换的描述,说法错误的是( )
A: 对象的类型转换可通过自动转换或强制转换进行
B: 无继承关系的两个类的对象之间试图转换会出现编译错误
C: 由new语句创建的父类对象可以强制转换为子类的对象
D: 子类的对象转换为父类类型后,父类对象不能调用子类的特有方法
答案
一、填空题
1. 运行时
2. 实例对象
3. Exception
4. abstract
5. 重写
二、判断题
1. 对
2. 对
3. 对
4. 错
5. 对
三、选择题
1. B
2. C
3. C
4. C
5. C


第5章 Java API
习题
一、填空题
1. 在程序,获取字符串长度的方法是【 】。
2. StringBuffer类的默认容量是【 】个字符。
3. Math类中,用于获取一个数的绝对值的方法是【 】。
4. String类中,将字符串转换为字符数组的方法是【 】。
5. Random类的【 】方法可以随机生成Int类型的随机数。
二、判断题
1. switch语句不支持字符串类型。( )
2. String类的append()方法可以将数组元素和空格连接成字符串。( )
3. ceil()和floor()方法返回的都是double类型的数。( )
4. Random类的nextInt( )方法会生成一个int类型的随机数。( )
5. JAVA中拆箱是指将基本数据类型的对象转为引用数据类型。( )
三、选择题
1. 阅读下面的代码,输出结果是( )
public static void main(String[] args) {
Random random1 = new Random(10);
Random random2 = new Random(10);
for(int i=0;i<5;i++){
}
for(int i=0;i<5;i++){
}
}
2. 下面哪个方法可以实现获取字符在某个字符串中第一次出现的索引( )
A: charcharAt(intindex)
B: intindexOf(intch)
C: intlastIndexOf(intch)
D: booleanendsWith(Stringsuffix)
3. 假如indexOf()方法未能找到所指定的子字符串,那么其返回值为( )
A: false
B: 0
C: -1
D: 以上答案都不对
4. 下列对于Runtime的描述中,错误的是( )
A: 每一个Java应用程序运行时都产生一个Runtime类实例
B: Runtime实例可以将应用程序和运行环境相结合
C: Runtime类中的方法是多例的
D: Runtime实例不需要创建,直接通过getRuntime()方法获取
5. 阅读下列代码


public class Example {
public static void main(String[] args) {
int[] srcArray = { 11, 12, 13, 14 };
int[] destArray = { 21, 22, 23, 24 };
opy(srcArray, 1, destArray, 2, 2);
for (int i = 0; i < i++) {
}
}
}
下列选项中,程序的运行结果是( )
D: 发生数组角标越界异常
答案
一、填空题
1. length()
2. 16
3. abs()
4. toCharArray ()
5. nextInt ()
二、判断题
1. 错
2. 错
3. 对
4. 对
5. 错
三、选择题
1. A
2. B
3. C
4. C
5. A
第6章 集合类
习题
一、填空题
1. 键和值对象之间存在一种对应关系,称为【 】。
2. 接口的主要作用是对【 】进行迭代的迭代器。(写顶级接口)。
3. Map接口的主要实现类有【 】和【 】。


4. ArrayList集合中大部分方法都是从父类Collection和List继承过来的,其中【 】
方法和【 】方法用于实现元素的存取。
5. 当向HashSet集合中添加一个对象时,首先会调用该对象的【 】方法来计算
对象的哈希值。
二、判断题
1. HashSet是根据对象的哈希值来确定元素在集合中的存储位置,因此性能较差。( )
2. 可以通过Scanner类的next()方法来接受控制台的信息。( )
3. Map接口是一种双列集合,它的每个元素都包含一个键对象Key和值对象Value。
( )
4. Iterator接口是Java集合框架中的成员。( )
5. 集合是长度可变的数组。( )
三、选择题
1. 阅读下面代码
public class Demo {
public static void main(String[] args) {
ArrayList list = new ArrayList();
(
(
(
for (Object obj : list) {
if ((
(obj);
}
}
}
}
下列选项中,哪一个是程序执行后的结果( )
A: [aaa,ccc]
B: [aaa,bbb,ccc]
C: []
D: 以上都不对
2. 下列方法中,不能用于删除Collection集合中元素的是( )
A: clear()
B: isEmpty()
C: remove()
D: removeAll()
3. Java语言中,集合类都位于哪个包中( )
A:
B:
C:
D: tions
4. 下列关于ArrayList的描述中,错误的是( )
A: ArrayList集合可以看作一个长度可变的数组。
B: ArrayList集合不适合做大量的增删操作。


C: ArrayList集合查找元素非常便捷。
D: ArrayList集合中的元素索引从1开始。
5. 下面哪个对象不能直接获取迭代器进行迭代( )
答案
一、填空题
1. 映射
2. Collection
3. HashMap;TreeMap
4. add();get()
5. hashCode()
二、判断题
1. 错
2. 错
3. 对
4. 对
5. 错
三、选择题
1. A
2. B
3. A
4. D
5. D
第7章 IO(输入输出)
习题
一、填空题
1. File类中用于删除文件或整个目录的方法是【 】。
2. 是【 】的子类,它是操作文件的字节输出流。
3. IO流通常都是成对出现的,即【 】流和【 】流一起使用。
4. 字节流缓冲区实际上是一个【 】数组。
5. 包中可以用于从文件中直接读取字符的是【 】类。
二、判断题
1. BufferedReader和BufferedWriter是具有缓冲功能的流,使用它们 和使用其他流没有
任何区别。( )
2. 在操作文件时,如果需要删除整个目录,只需File类的delete()方法直接删除目录
即可。( )
3. Java中的数据传输“流”都位于包中,称为IO(输入输出)流( )


4. FileOutputStream是操作文件的字节输出流,专门用于把数据写入文件。( )
5. FileWriter用于向文件中写入字符,它属于字符输出流。( )
三、选择题
1. 以下选项中,哪一个是File类delete()方法返回值的类型( )
A: boolean
B: int
C: void
D: Integer
2. 当文件不存在或不可读时,使用FileInputStream读取文件会报下列哪一种错误( )
A: NullPointerException
B: NoSuchFieldException
C: FileNotFoundException
D: RuntimeException
3. Java流被分为字节流、字符流两大流类,两者都作为( )类的直接子类。
A: Exception
B: Object
C: Throwable
D: 以上都不是
4. 下面关于字节流缓冲区的说法错误的是( )
A: 使用字节流缓冲区读写文件是一个字节一个字节的读写。
B: 使用字节流缓冲区读写文件时,可以一次性读取多个字节的数据。
C: 使用字节流缓冲区读写文件,可以大大的提高文件的读写操作。
D: 字节流缓冲区就是一块内存,用于存放暂时输入输出的数据。
5. 下列选项中,哪个是文本文件读取类( )
A: FileReader
B: FileWriter
C: BufferReader
D: BufferWriter
答案
一、填空题
1. delete()
2. OutputStream
3. 输入;输出
4. 字节
5. FileReader
二、判断题
1. 错
2. 错
3. 对
4. 对
5. 对
三、选择题


1.
2.
3.
4.
5.
A
C
B
A
A
第8章 GUI
习题
一、填空题
1. 在【 】包中专门提供了一个【 】类,它相当于一个抽象的画笔,其中
提供了各种绘制图形的方法。
2. 如果不希望通过【 】来对容器进行布局,也可以调用容器的setLayout(null)
方法,将布局管理器取消。
3. 创建下拉式菜单需要JMenuBar、JMenu和【 】三个组件。
4. JTextField有一个子类【 】,它表示一个密码框。
5. 处理ActionEvent事件的监听器对象需要实现【 】接口。
二、判断题
1. TableModel是用来存储列表数据的,数据包括表体的标题数据与表头的实体数据。
( )
2. 在包中专门提供了一个JmenuItem类,它相当于一个抽象的画笔,其中提
供了各 种绘制图形的方法,使用JmenuItem类的方法就可以完成在组件上绘制图形。
( )
3. 弹出式菜单是通过JPopup实现的。( )
4. JText是一个操作文本的组件。( )
5. ActionEvent类表示动作事件。( )
三、选择题
1. JComboBox中用于在指定的索引处插入选项的方法是( )
A: ObjctgetItemAt(intindex)
B: intgetItemCount()
C: voidaddItem(ObjectanObject)
D: voidinsertItemAt(ObjectanObject,intindex)
2. JTextField的构造方法中,方法JTextField(String text,int column)的作用是( )
A: 创建一个空的文本框,初始字符串为null
B: 创建一个具有指定列数的文本框,初始字符串为null
C: 创建一个显示指定初始字符串的文本框
D: 创建一个具有指定列数、并显示指定初始字符串的文本框
3. JTextArea的构造方法中,用于创建显示指定初始文本并指定了行列的文本域的是
( )
A: JTextArea()
B: JTextArea(Stringtext)


C: JTextArea(introws,intcolumns)
D: JTextArea(Stringtext,introws,intcolumns)
4. 下列选项中,关于流式布局管理器(FlowLayout)的说法错误的是( )
A: 在流式布局下,当到达容器的边界时,会自动将组件放到下一行的开始位置
B: FlowLayout布局管理器的特点就是可以将所有组件像流水一样依次进行排列
C: 流式布局管理器是最简单的布局管理器
D: 流式布局管理器将容器划分为五个区域
5. 处理鼠标事件时,通过( )方法将监听器绑定到事件源对象。
A: mousePressed()
B: addMouseListener()
C: mouseEntered()
D: mouseClicked()
答案
一、填空题
1. ;Graphics
2. 布局管理器
3. JMenuItem
4. JPasswordText
5. ActionListener
二、判断题
1. 错
2. 错
3. 错
4. 错
5. 对
三、选择题
1. D
2. D
3. D
4. D
5. B
第9章 JDBC
习题
一、填空题
1. ResultSet接口中的常量CONCUR_READ_ONLY,所代表的含义是【
2. ResultSet接口中,能将游标移动到此 ResultSet 对象的最后一行的方法是【

】。


3. PreparedStatement是Statement的子接口,用于执行【 】的SQL语句。
4. Statement接口的executeUpdate(String sql)方法用于执行SQL中的insert、【 】
和delete语句。
5. JDBC常用API 中,【 】类用于加载JDBC驱动并且创建与数据库的连接。
二、判断题
1. 对于相同的SQL语句,Statement对象只会对其编译执行一次。( )
2. 使用erDriver进行驱动注册时,数据库驱动会被注册2次。( )
3. ResultSet接口表示select查询语句得到的结果集,该结果集封装在一个逻辑表格中。
( )
4. Statement接口的executeUpdate(String sql)返回值是int,它表示数据库中受该SQL
语句影响的记录的数目。( )
5. JDBC的全称是Java数据库连接,它是一套用于执行HTML语句的Java API。( )
三、选择题
1. 下列选项,可用于存储结果集的对象是( )
A: ResultSet
B: Connection
C: Statement
D: PreparedStatement
2. 下面选项中,能够将游标从当前位置向下移一行的方法是( )
A: next()
B: absolute(introw)
C: previous()
D: last()
3. 下面关于executeQuery(String sql)方法,说法正确的是( )
A: 可以执行insert语句
B: 可以执行update语句
C: 可以执行select语句
D: 可以执行delete语句
4. 下面Statement接口的方法中,用于执行各种SQL语句的是( )
A: executeUpdate(Stringsql)
B: executeQuery(Stringsql)
C: execute(Stringsql)
D: executeDelete(Stringsql)
5. 下面选项中,用于将参数化的SQL语句发送到数据库的方法是( )
A: prepareCall(Stringsql)
B: prepareStatement(Stringsql)
C: registerDriver(Driverdriver)
D: createStatement()
答案
一、填空题
1. 以只读形式打开结果集
2. last()


3. 预编译
4. update
5. DriverManager
二、判断题
1. 错
2. 对
3. 对
4. 对
5. 错
三、选择题
1. A
2. A
3. C
4. C
5. B
第10章 多线程
习题
一、填空题
1. 同步代码块中的锁对象可以是任意类型的对象,但多个线程共享的锁对象必须是
【 】的。
2. Java中有两种创建线程的方式,但大部分的多线程应用都会采用【 】方式来
创建线程。
3. Java中thread类的sleep()方法可以让让当前线程进入【 】状态。
4. 在Thread类中提供了一个【 】方法来实现线程插队。
5. 同步锁可以是任意【 】。
二、判断题
1. 使用synchronized关键字修饰的代码块,被称作同步代码块。( )
2. 如果两个线程访问不同类中的静态同步方法,这两个线程是不需要等待的。( )
3. Java 多线程中,如果某个资源在一段时间内只能由一个进程占有,不能同时被两个
或两个以上的进程占有。必 须在占有该资源的进程主动释放它之后,其它进程才能
占有该资源,这样就一定会出现死锁。( )
4. Runnable接口中只有一个run()方法。( )
5. 处于等待的线程,必须被其他线程唤醒后才能继续运行。( )
三、选择题
1. 下列有关Java多线程中静态同步方法的说法错误的是( )
A: 静态方法必须使用class对象来同步
B: 在使用synchronized块来同步方法时,非 静态方法可以通过this来同步,而静态
方法必须使用class对象来同步
C: 静态同步方法和以当前类为同步监视器的同步代码块不能同时执行


2.
3.
4.
5.
D: 静态同步方法不可以和以this为同步监视器的同步代码块同时执行
以下关于Runnable接口的描述错误的是( )
A: 通过实现Runnable接口可以创建多线程程序
B: Runnable接口是在包下
C: 实现Runnable接口必须重写run()方法
D: 通过Runnable接口中的start()方法可以开启线程
下列有关线程的两种创建方式说法错误的是( )
A: 通过继承Thread类与实现Runnable接口都可以创建多线程程序
B: 实现Runnab le接口相对于继承Thread类来说,可以避免由于Java的单继承带
来的局限性
C: 通过继承Thread类与实现Runnable接口创建多线程这两种方式没有区别
D: 大部分的多线程应用都会采用实现Runnable接口方式创建
下列关于线程优先级的描述,错误的是( )
A: NORM_PRIORITY代表普通优先级,默认值是5
B: 一般情况下,主函数具有普通优先级
C: 新建线程的优先级默认为最低
D: 优先级高的线程获得先执行权的几率越大
下面关于yield方法描述正确的是( )
A: yield方法是用于合并线程
B: yield方法是用于启动线程
C: yield方法是用于线程让步
D: yield方法是用于线程同步
答案
一、填空题
1. 唯一
2. 实现Runnable接口
3. 休眠
4. join
5. 对象
二、判断题
1. 对
2. 对
3. 错
4. 对
5. 对
三、选择题
1. D
2. D
3. C
4. C
5. C


第11章 网络编程
习题
一、填空题
1. 基于TCPIP的参考模型将协议分成四个层次,分别是【 】【 】、【、 】
和【 】。
2. 【 】指本机地址,该地址一般用来测试使用。
3. 在JDK中,提供了一个与IP地址相关的【 】类,该类用于封装一个IP地址。
4. 【 】是无连接通信协议,即在数据传输时,数据的发送端和接收端不建立逻
辑连接。
5. DatagramPacket类的【 】方法用于返回发送端或者接收端的端口号。
二、判断题
1. 目前应用最广泛的网络通信协议是UDP协议。( )
2. IP地址用于唯一标识一台计算机,它有IPv4和Ipv6两个版本。( )
3. 在TCP程序中,ServerSocket类的实例对象可以实现一个服务器端的程序。( )
4. 端口号的取值范围是0~65535。( )
5. TCP是一种用户数据报协议。( )
三、选择题
1. 下列层次中,哪一层是整个TCPIP协议的核心( )
A: 应用层
B: 传输层
C: 网络层
D: 链路层
2. HTTP协议服务的默认端口号是( )
A: 8080
B: 8090
C: 8009
D: 80
3. 在TCPIP 网络中,为各种公共服务和系统保留的端口号范围是( )
A: 0~65525
B: 0~1024
C: 0~1023
D: 0~80
4. 下列说法中,错误的是( )
A: UDP在数据传输时,数据的发送端和接收端不建立逻辑连接
B: TCP协议是面向连接的通信协议
C: 使用UDP协议传送数据保证了数据的完整性
D: TCP连接中必须要明确客户端与服务器端,由客户端向服务端发出连接请求
5. 以下哪个类用于实现TCP通信的客户端程序( )
A: ServerSocket
B: Socket


C: Client
D: Server
答案
一、填空题
1. 链路层;网络层;传输层;应用层
2.
3. InetAddress
4. UDP
5. getPort()
二、判断题
1. 错
2. 对
3. 对
4. 对
5. 错
三、选择题
1. C
2. D
3. C
4. C
5. B

江西师范大学录取分数线-项目总结报告范文


冬至的意思-幼儿园教师个人总结


武汉纺织大学外经贸学院-团委工作总结


草虫的村落-祝寿贺词


饮食安全手抄报-二级建造师注册系统


国民经济学-嫖娼心得


重庆邮电学院移通学院-一二九运动


武汉理工大学研究生招生信息网-新春祝语