智慧树知到《面向对象程序设计(山东联盟)》章节测试答案
第一章单元测试
1、下列关于JDK的说法中,错误的是?
A.JDK是Java开发工具包的简称
B.JDK包括Java编译器、Java文档生成工具、Java打包工具等
C.安装JDK后,还需要单独安装JRE
D.JDK是整个Java的核心
正确答案:安装JDK后,还需要单独安装JRE
2、下列关于classpath环境变量的说法中,哪一个是正确的?
A.classpath配置一次后可永久使用
B.没有classpath环境变量就不能运行Java程序
C.classpath环境变量可以让虚拟机找到class文件的目录
D.查看当前classpath配置的命令是:classpath
正确答案:classpath配置一次后可永久使用
3、下列目录中,哪一个是用来存放JDK核心源代码的?
A.lib目录
B.src目录
C.jre目录
D.include目录
正确答案:src目录
4、Java属于以下哪种语言?()
A.机器语言
B.汇编语言
C.高级语言
D.以上都不对
正确答案:高级语言
5、配置classpath环境变量的目的是为了可以查找到java文件。()
A.正确
B.错误
正确答案:错误
6、下列关于JDK的说法中,错误的是?()
A.JDK是Java开发工具包的简称
B.JDK包括Java编译器、Java文档生成工具、Java打包工具等
C.安装JDK后,还需要单独安装JRE
D.JDK是整个Java的核心
正确答案:安装JDK后,还需要单独安装JRE
7、下列关于classpath环境变量的说法中,哪一个是正确的?()
A.classpath配置一次后可永久使用
B.没有classpath环境变量就不能运行Java程序
C.classpath环境变量可以让虚拟机找到class文件的目录
D.查看当前classpath配置的命令是:classpath
正确答案:classpath配置一次后可永久使用
8、Java属于以下哪种语言?()
A.机器语言
B.汇编语言
C.高级语言
D.以上都不对
正确答案:高级语言
9、下列目录中,哪一个是用来存放JDK可执行程序的。()
A.db目录
B.jre目录
C.lib目录
D.bin目录
正确答案:bin目录
10、下列哪个是Java应用程序主类中正确的main方法?
A.public void main(String args())
B.static void main(String args())
C.public static void Main(String args[])
D.public static void main(String args())
正确答案:public static void main(String args())
11、如果jdk的安装路径为:
C.jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项()
A.
C.jdk
B.
C.jdk bin
C.
C.jre bin
D.
C.jre
正确答案:
C.jdk bin
12、下列目录中,哪一个是用来存放JDK核心源代码的?()
A.lib目录
B.src目录
C.jre目录
D.include目录
正确答案:src目录
13、JDK安装成功后,可以将bin目录的路径配置在环境变量path中。()
A.正确
B.错误
正确答案:正确
14、配置classpath环境变量的目的是为了可以查找到java文件。()
A.正确
B.错误
正确答案:错误
15、JDK工具中自带了一个JRE工具()。
A.正确
B.错误
正确答案:正确
16、在任意命令行窗口中执行javac命令,如果都能正常地显示帮助信息,说明系统path环境变量配置成功。()
A.正确
B.错误
正确答案:正确
17、使用javac命令,可以将Hello.java文件编译成Hello.class文件()。
A.正确
B.错误
正确答案:正确
18、path环境变量是系统环境变量中的一种,它用于保存一系列的路径。()
A.正确
B.错误
正确答案:正确
19、javac.exe命令文件存放在JDK安装目录的lib目录下。()
A.正确
B.错误
正确答案:错误
20、在不同的操作系统中可以使用同一个JDK。()
A.正确
B.错误
正确答案:错误
第二章单元测试
1、下列选项中,属于字符常量的是()
A.“a”
B.‘ab'
C.‘1'
D.1
正确答案:‘1'
2、下面关于字符变量的定义中,错误的是()
A.char a=';a'
B.char b=97
C.char c=0x61
D.char d=A
正确答案:char d=A
3、下列选项中,哪一个不能通过编译()
A.byte a=1
B.short b=100
C.int c=';a'
D.long d=8888888888
正确答案:long d=8888888888
4、下列数据类型进行运算时,哪一个会发生自动类型提升()
A.int + int
B.long + long
C.byte + byte
D.double + double
正确答案:byte + byte
5、数组的最大下标的值比它的长度小1()。
A.正确
B.错误
正确答案:正确
6、下列选项中,属于字符常量的是
A.“a”
B.‘ab'
C.‘1'
D.1
正确答案:‘1'
7、下面关于字符变量的定义中,错误的是
A.char a=';a'
B.char b=97
C.char c=0x61
D.char d=A
正确答案:char d=A
8、下列选项中,哪一个不能通过编译
A.byte a=1
B.short b=100
C.int c=';a'
D.long d=8888888888
正确答案:long d=8888888888
9、下列关于浮点型数据的定义,哪一个不能通过编译
A.double a=12.45
B.float b=12.45
C.double c=100
D.float d=100
正确答案:float b=12.45
10、下列关于int类型变量的定义,错误的是
A.int a=10
B.int b,c=20
C.int d=e=30
D.int f=40
正确答案:int d=e=30
11、关于表达式1234/1000 * 1000的运算结果,下列哪个选项是正确的
A.1234
B.1000
C.1234.0
D.以上都不对
正确答案:1000
12、下列选项中,哪一个是十进制数6的二进制值
A.111
B.101
C.110
D.011
正确答案:110
13、若int[][] arr= {{1,2,3}},则arr[0][1]的结果为
A.0
B.1
C.2
D.3
正确答案:2
14、表达式3510/1000的运算结果为
A.3
B.3.51
C.3.510
D.4
正确答案:3
15、下面选项中,哪一个是合法的标识符
A.hello world
B.1Demo
C.()3()
D.class
正确答案:()3()
16、字符串常量既可以用双引号引起来,也可以用单引号引起来。
A.正确
B.错误
正确答案:错误
17、byte类型所占存储空间为1个字节,取值范围0~255。
A.正确
B.错误
正确答案:错误
18、比较运算符用于对两个数值或变量进行比较,其结果为true或false。
A.正确
B.错误
正确答案:正确
19、数组的最大下标的值比它的长度小1。
A.正确
B.错误
正确答案:正确
20、在为float类型的变量赋值时,后面必须加字母f或F。
A.正确
B.错误
正确答案:正确
第三章单元测试
1、若有如下语句;int x=3;do{ System.out.println(x);x-=2;}while(--x>;0)。
A.输出的是1
B.输出的是1和-2
C.输出的是3
D.是死循环
正确答案:输出的是1和-2
2、下面语句执行结果为();public static void main(String[] args){;int i=4;if(i<;0){;i=1;}
A.0
B.1
C.2
D.4
正确答案:2
3、当方法中的返回值类型是void时,可以不写return语句()。
A.正确
B.错误
正确答案:正确
4、一个类中可以定义多个同名的方法,只要他们的返回值类型不同即可()。
A.正确
B.错误
正确答案:错误
5、方法递归次数过多会导致内存溢出()。
A.正确
B.错误
正确答案:正确
6、当int x = 3 , y = 4时,表达式boolean b =x == y ? true :false的结果是false()。
A.正确
B.错误
正确答案:正确
7、在进行赋值运算时,将运算符右边的值赋给左边的变量()。
A.正确
B.错误
正确答案:正确
8、比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值()。
A.正确
B.错误
正确答案:正确
9、在switch语句中,每个case关键字后面必须有break()。
A.正确
B.错误
正确答案:错误
10、若有如下语句;int x=3;do{ System.out.println(x);x-=2;}while(--x>;0)。
A.输出的是1
B.输出的是1和-2
C.输出的是3
D.是死循环
正确答案:输出的是1和-2
11、执行下面程序后,哪个结论是正确的()int a,b,c; a=1 ; b=3 ; c=(a+b>;3 ?++
A.b++)。
A.a 的值为 2,b 的值为 3,c 的值为 1
B.a 的值为 2,b的值为 4,c 的值为 2
C.a 的值为 2,b的值为 4,c 的值为 1
D.a 的值为 2,b 的值为 3,c 的值为 2
正确答案:a 的值为 2,b 的值为 3,c 的值为 2
12、下面语句执行结果为();public static void main(String[] args){;int i=4;if(i<;0){;i=1;}
A.0
B.1
C.2
D.4
正确答案:2
13、执行下面代码后的输出是()。m=1;while(m++<2) System.out.println(m)。
A.0
B.1
C.2
D.无输出
正确答案:2
14、下面语句执行结果为();public static void main(String[] args){;int i=4;if(i<;0){;i=1;}else{i=2;};System.out.println(i)。
A.0
B.1
C.2
D.4
正确答案:2
15、请阅读下面的程序,sum的值为()public class Test {;public static void main(String[] args) {;int sum = 0;for(int i = 1; i <;= 100; i++) {;if(i % 2 == 1) {;continue;};sum += i;};System.out.println(";sum = "; + sum);}}
A.1050
B.2250
C.2500
D.以上答案都不对
正确答案:2500
16、下列语句序列执行后,k 的值是()int i=10, j=18, k=30;switch(j - i ){ case 8 :k++; case 9 :k+=2;case 10:k+=3; default :k/=j;}
A.31
B.32
C.2
D.33
正确答案:2
17、下列语句序列执行后,k的值是().int j=8, k=15;for(int i=2; i!=j; i++ ) { j-=2; k++; }
A.18
B.15
C.16
D.17
正确答案:17
18、在进行赋值运算时,将运算符右边的值赋给左边的变量()。
A.正确
B.错误
正确答案:正确
19、当int x = 3 , y = 4时,表达式boolean b =x == y ? true :false的结果是false()。
A.正确
B.错误
正确答案:正确
20、当方法中的返回值类型是void时,可以不写return语句()。
A.正确
B.错误
正确答案:正确
21、方法递归次数过多会导致内存溢出()。
A.正确
B.错误
正确答案:正确
22、比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值()。
A.正确
B.错误
正确答案:正确
23、一个类中可以定义多个同名的方法,只要他们的返回值类型不同即可()。
A.正确
B.错误
正确答案:错误
24、在switch语句中,每个case关键字后面必须有break()。
A.正确
B.错误
正确答案:错误
第四章单元测试
1、下列哪个叙述是正确的?()
A.Java应用程序由若干个类所构成,这些类必须在一个源文件中。
B.Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
C.Java源文件必须含有主类。
D.Java源文件如果含有主类,主类必须是public类。
正确答案:Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
2、实例变量()
A.是在一个类的内部声明的变量
B.的作用域为整个类
C.可被同一类中的任何方法所访问
D.以上答案都对
正确答案:的作用域为整个类
3、类与对象的关系是()
A.类是对象的抽象
B.对象是类的抽象
C.对象是类的子类
D.类是对象的具体实例
正确答案:类是对象的抽象
4、对象使用时,下面描述错误的是()
A.通过“.”运算符调用成员变量和方法
B.对象声明之后即可使用。
C.将一个对象申明为类的成员时,必须在使用前为其分配内存
D.在方法中使用对象作为参数时,采用引用调用
正确答案:对象声明之后即可使用。
5、下列关于构造方法定义的描述中,错误的是()
A.方法名与类名相同
B.在方法名的前面没有返回值类型的声明
C.当定义了有参构造方法,系统默认的无参构造方法依然存在
D.在方法中不能使用return语句返回一个值
正确答案:当定义了有参构造方法,系统默认的无参构造方法依然存在
6、下列哪个叙述是正确的?()
A.Java应用程序由若干个类所构成,这些类必须在一个源文件中。
B.Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
C.Java源文件必须含有主类。
D.Java源文件如果含有主类,主类必须是public类。
正确答案:Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
7、实例变量()
A.是在一个类的内部声明的变量
B.的作用域为整个类
C.可被同一类中的任何方法所访问
D.以上答案都对
正确答案:的作用域为整个类
8、类与对象的关系是()
A.类是对象的抽象
B.对象是类的抽象
C.对象是类的子类
D.类是对象的具体实例
正确答案:类是对象的抽象
9、对象使用时,下面描述错误的是()
A.通过“.”运算符调用成员变量和方法
B.对象声明之后即可使用。
C.将一个对象申明为类的成员时,必须在使用前为其分配内存
D.在方法中使用对象作为参数时,采用引用调用
正确答案:对象声明之后即可使用。
10、下列关于构造方法定义的描述中,错误的是()
A.方法名与类名相同
B.在方法名的前面没有返回值类型的声明
C.当定义了有参构造方法,系统默认的无参构造方法依然存在
D.在方法中不能使用return语句返回一个值
正确答案:当定义了有参构造方法,系统默认的无参构造方法依然存在
11、下面关于Java中类的说法哪个是不正确的()
A.类体中只能有变量定义和成员方法的定义,不能有其他语句
B.构造方法是类中的特殊方法
C.类一定要声明为public的,才可以执行
D.一个Java文件中可以有多个class定义
正确答案:类一定要声明为public的,才可以执行
12、类与对象的关系是()
A.类是对象的抽象
B.对象是类的抽象
C.对象是类的子类
D.类是对象的具体实例
正确答案:类是对象的抽象
13、下列关于构造方法的特点的描述中, 错误的是()。
A.不可重载
B.方法名同类名
C.无返回值
D.系统自动调用
正确答案:不可重载
14、下列代码中的“this”指的是()。classbird{intx,y;voidfly(intx,inty){this.x=x;this.y=y;}}
A.bird
B.fly
C.bird或fly
D.不一定
正确答案:bird
15、对于下列Hello类,哪个叙述是正确的?
A.Hello类有2个构造方法。
B.Hello类的int Hello()方法是错误的方法
C.Hello类没有构造方法
D.Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)
正确答案:Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)
16、有一个类A,以下为其构造方法的声明,其中正确的是()
A.void A(int x){...}
B.public A(int x){...}
C.public a(int x){...}
D.static A(int x){...}
正确答案:public A(int x){...}
17、对于下列Dog类,哪个叙述是错误的?()。
A.Dog(int m)与Dog(double m)互为重载的构造方法
B.int Dog(int m)与void Dog(double m)互为重载的非构造方法
C.Dog类只有两个构造方法,而且没有无参数的构造方法
D.Dog类有3个构造方法
正确答案:Dog类有3个构造方法
18、静态变量可以被类和对象调用。()
A.正确
B.错误
正确答案:正确
19、this关键字可以在所有的方法中使用。()
A.正确
B.错误
正确答案:错误
20、一个类中如果没有定义构造方法,那么这个类就没有构造方法。()
A.正确
B.错误
正确答案:错误
第五章单元测试
1、下列选项中,可以导入指定包中所有类的是()
A.package包名
B.package;包名.*
C.import;包名
D.import;包名.*
正确答案:import;包名.*
2、定义主类的类头时可以使用的访问控制符是()
A.private
B.protected
C.public
D.privateprotected
正确答案:public
3、下面说法正确的是:()
A.如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格)
B.如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格)
C.如果源代码中有main()方法,则该方法必须被放在代码的第一行
D.源代码含有class关键字的语句,必须放在代码的第一行
正确答案:如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格)
4、JAVA中,访问修饰符限制性最高的是()
A.Private
B.protected
C.public
D.friendly
正确答案:public
5、包的声明只能位于Java源文件的第一行()。
A.正确
B.错误
正确答案:正确
6、当类的成员未用访问权限修饰符修饰时,java默认此成员的访问权限是()。
A.public
B.protected
C.private
D.友好
正确答案:友好
7、下列选项中,可以导入指定包中所有类的是()
A.package包名
B.package 包名.*
C.import 包名
D.import 包名.*
正确答案:import 包名.*
8、为了使包sos在当前程序中可见,可以使用的语句是()
A.importsos.*
B.packagesos.*
C.sosimport
D.sospackage;正确答案:importsos.*
9、在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是()
A.java.applet
B.java.awt
C.java.util
D.java.lang
正确答案:java.lang
10、在Java中,用package语句说明一个包时,该包的层次结构必须()
A.与文件的结构相同
B.与文件目录的层次相同
C.与文件类型相同
D.与文件大小相同
正确答案:与文件目录的层次相同
11、定义主类的类头时可以使用的访问控制符是()
A.private
B.protected
C.public
D.privateprotected
正确答案:public
12、下面说法正确的是:()
A.如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格);B.如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格)
C.如果源代码中有main()方法,则该方法必须被放在代码的第一行
D.源代码含有class关键字的语句,必须放在代码的第一行。
正确答案:如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格);
13、JAVA中,访问修饰符限制性最高的是()。
A.Private
B.protected
C.public
D.friendly
正确答案:Private
14、JAVA中,使用()修饰符时,一个类能被同一包或不同包中的其他类访问。()
A.Private
B.protected
C.public
D.friendly
正确答案:public
15、现有一个Java源文件,其中包含有一个名为Example的public类,为了成功编译该文件,需要满足:()。
A.源文件必须导入java.lang包
B.源文件必须声明一个main()方法
C.源文件必须为Example.java
D.源文件必须具有package包语句
正确答案:源文件必须为Example.java
16、不允许作为类及类成员的访问控制符的是()
A.public
B.private
C.static
D.protected
正确答案:static
17、Java中的包是用来存放类的,通常功能相同的类存放在相同的包中()。
A.正确
B.错误
正确答案:正确
18、声明构造方法时,可以使用private关键字修饰。()
A.正确
B.错误
正确答案:错误
19、包的声明只能位于Java源文件的第一行()。
A.正确
B.错误
正确答案:正确
20、import语句通常出现在package语句之前()。
A.正确
B.错误
正确答案:错误
第六章单元测试
1、下列说法哪个是正确的()
A.子类即可以重载父类的方法,又可以覆盖父类的方法
B.子类只能重载父类的方法,而不能覆盖
C.子类不能定义和父类同名同形参的方法,否则,系统将不知道调用哪个方法
D.子类只能覆盖父类的方法,而不能重载
正确答案:子类只能重载父类的方法,而不能覆盖
2、下列哪个类的声明是正确的?()
A.abstract final class HI{}(final代表常量,但是抽象类不能实例化)
B.abstract private move(){}(这是定义方法的)
C.protected private number;(不是定义类,且修饰符重复)
D.public abstract class Car{}
正确答案:public abstract class Car{}
3、现有两个类M、N,以下描述中表示N继承自M的是()
A.class ;M ;extends ;N
B.class ;N ;implements ;M
C.class ;M ;implements ;N
D.class ;N ;extends ;M
正确答案:class ;N ;extends ;M
4、抽象类可以有子类也可以没有子类。()
A.正确
B.错误
正确答案:错误
5、子类的上转型对象就是父类对象。()
A.正确
B.错误
正确答案:错误
6、下列说法哪个是正确的()
A.子类即可以重载父类的方法,又可以覆盖父类的方法
B.子类只能重载父类的方法,而不能覆盖
C.子类不能定义和父类同名同形参的方法,否则,系统将不知道调用哪个方法
D.子类只能覆盖父类的方法,而不能重载
正确答案:子类只能重载父类的方法,而不能覆盖
7、下列哪个类的声明是正确的?()
A.abstract final class HI{}(final代表常量,但是抽象类不能实例化)
B.abstract private move(){}(这是定义方法的)
C.protected private number;(不是定义类,且修饰符重复)
D.public abstract class Car{}
正确答案:public abstract class Car{}
8、现有两个类M、N,以下描述中表示N继承自M的是()
A.class ;M ;extends ;N
B.class ;N ;implements ;M
C.class ;M ;implements ;N
D.class ;N ;extends ;M
正确答案:class ;N ;extends ;M
9、下面哪条语句把方法声明为抽象的公共方法?()
A.public abstract method()
B.public abstract void method()
C.public abstract void method(){}
D.public void method() extends abstract
正确答案:public abstract method()
10、A派生出子类B;,B派生出子类C,并且在Java源代码中有如下声明:1)A ;a0=new ;A();2)A;a1 =new ;B();3)A ;a2=new ;C();问以下哪个说法是正确的?()
A.只有第1行能通过编译
B.第1、2行能通过编译,但第3行编译出错
C.第1、2、3行能通过编译,但第2、3行运行时出错
D.第1行、第2行和第3行的声明都是正确的
正确答案:第1行、第2行和第3行的声明都是正确的
11、下面有关方法覆盖说法不正确的是:()
A.方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返回值
B.方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限
C.覆盖的方法不能比被覆盖的方法抛出更多的异常
D.覆盖的方法一定不能是private的
正确答案:方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限
12、下面选项中哪个关键字可以用来修饰接口中的变量和方法?()
A.static
B.private
C.synchronized
D.protected
正确答案:static
13、下列有关继承的说法。正确的是:()
A.子类能继承父类的所有方法和属性
B.子类能继承父类的非私有方法和属性
C.子类只能继承父类public方法和属性
D.子类能继承父类的方法,而不是属性
正确答案:子类能继承父类的非私有方法和属性
14、下面是有关子类继承父类构造函数的描述,其中正确的是:()
A.创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
B.子类可以不调用父类的构造函数。
C.子类必须通过super()关键字调用父类的构造函数。
D.子类无法继承父类的构造函数。
正确答案:子类必须通过super()关键字调用父类的构造函数。
15、下列选项中,表示数据或方法只能被本类访问的修饰符是()
A.public
B.protected
C.private
D.final
正确答案:private
16、实例方法可直接调用本类的类方法。()
A.正确
B.错误
正确答案:错误
17、子类的上转型对象就是父类对象。()
A.正确
B.错误
正确答案:错误
18、抽象类可以有子类也可以没有子类。()
A.正确
B.错误
正确答案:错误
19、final类不能派生出子类。()
A.正确
B.错误
正确答案:正确
20、abstract和final关键可以同时修饰一个类。()
A.正确
B.错误
正确答案:错误
第七章单元测试
1、以下关于接口对象的说法中正确的是()
A.接口只能被类实现,不能用来声明对象
B.接口对象可以用关键词new创建
C.接口对象可以等于任何类的对象
D.接口对象只能等于实现该接口的类的对象
正确答案:接口对象只能等于实现该接口的类的对象
2、以下哪个接口的定义是正确的?()
A.interface B{ ;void print() { } ;}
B.abstract interface B ;{ void print() ; }
C.abstract interface B extends A1,A2 { abstract void print(){ };}
D.interface B ;{ void print();}
正确答案:interface B ;{ void print();}
3、定义一个接口时,下列哪个关键字用不到?()
A.public
B.extends
C.interface
D.class
正确答案:class
4、以下哪项是接口的正确定义?()
A.interface ;B{ ;void print(){};}(接口里的方法都是抽象的,不能有方法体)
B.abstract ;interface ;B{ void print() ;}
C.abstract ;interface ;B ;extends ;A1,A2 ;//A1、A2为已定义的接口{ abstract ;void ;print(){ ;};}
D.interface ;B;{ ;void ;print();}
正确答案:abstract ;interface ;B{ void print() ;};interface ;B;{ ;void ;print();}
5、关于接口以下说法正确的是:()
A.接口中的变量必须用public static final三个修饰词修饰
B.接口中的方法必须用public abstract两个修饰符修饰
C.一个接口可以继承多个父接口
D.接口的构造方法名必须为接口名
正确答案:接口中的变量必须用public static final三个修饰词修饰;一个接口可以继承多个父接口
6、以下关于接口对象的说法中正确的是()
A.接口只能被类实现,不能用来声明对象
B.接口对象可以用关键词new创建
C.接口对象可以等于任何类的对象
D.接口对象只能等于实现该接口的类的对象
正确答案:接口对象只能等于实现该接口的类的对象
7、以下哪个接口的定义是正确的?()
A.interface B{ ;void print() { } ;}
B.abstract interface B ;{ void print() ; }
C.abstract interface B extends A1,A2 { abstract void print(){ };}
D.interface B ;{ void print();}
正确答案:interface B ;{ void print();}
8、定义一个接口时,下列哪个关键字用不到?()
A.public
B.extends
C.interface
D.class
正确答案:class
9、在下面选项中哪个关键字可以用来修饰接口中的变量和方法?()
A.static
B.private
C.synchronized
D.protected
正确答案:static
10、以下关于接口对象的说法中正确的是()
A.接口只能被类实现,不能用来声明对象
B.接口对象可以用关键词new创建
C.接口对象可以等于任何类的对象
D.接口对象只能等于实现该接口的类的对象
正确答案:接口对象只能等于实现该接口的类的对象
11、若有如下接口A的定义,下列哪些类下确实现了该接口(); interface; A {; void method1(int i); void method2(int j); }
A.class; B; implements; A{; void; method1() { }; void; method2() { }; }
B.class; B; {; void; method1(int i ) { }; void; method2(int j ) { }; }
C.class; B; implements; A {; void; method1(int i ) { }; void; method2(int j ) { }; }
D.class; B; implements; A{; public; void; method1(int x ) { }; public; void; method2(int y ) { }; }
正确答案:class; B; implements; A {; void; method1(int i ) { }; void; method2(int j ) { }; }
12、关于Java中包的概念,以下正确的是()
A.包是一些类与接口的集合
B.Java的包中可以包含子包
C.包中的类与子包中的类被认为是同一包内
D.包中的类不能访问子包中非public的类。
正确答案:Java的包中可以包含子包
13、下列选项中,接口中方法的默认可见性修饰符是()
A.public
B.protected
C.private
D.final
正确答案:public
14、在使用interface声明一个接口时,只可以使用哪个修饰符修饰该接口。()
A.private
B.protected
C.private或者protected
D.public
正确答案:public
15、下列选项中,定义接口MyInterface的语句正确的是:()
A.interface MyInterface{; }
B.implements MyInterface {; }
C.class MyInterface{; }
D.implements interface My{; }
正确答案:interface MyInterface{; }
16、下列类头定义中,错误的是 ?()
A.public x extends y
B.public class x extends y
C.class x extends y implements y1
D.class x
正确答案:public x extends y
17、接口中只能定义常量和抽象方法。()
A.正确
B.错误
正确答案:正确
18、接口可以实例化对象()。
A.正确
B.错误
正确答案:错误
19、接口与接口之间可以有继承关系()。
A.正确
B.错误
正确答案:正确
20、所有接口都继承自Object类。()
A.正确
B.错误
正确答案:错误
第八章单元测试
1、在类的UML图中,使用一个三层的长方形描述类的主要构成,其中第一层是()
A.名字层
B.变量层
C.属性层
D.方法层
正确答案:名字层
2、对于面向对象语言,UML中所说的泛化关系是指()
A.类的继承关系
B.实现关系
C.组合关系
D.从属关系
正确答案:类的继承关系
3、对于下列代码:
1) class Person {2) ;public void printValue(int i, int j) {//...}3) ;public void printValue(int i){//...}4) }5) public class Teacher extends Person {6) ;public void printValue() {//...}7) ;public void printValue(int i) {//...}8) ;public static void main(String args[]){9) ;Person t = new Teacher();10) ;t.printValue(10);11) ;}12) }第10行语句将调用()语句。
A.第;2行
B.第3行
C.第6行
D.第7行
正确答案:第7行
4、下图右侧的矩形表示()。

A.源代码
B.说明
C.注释
D.以上都不对
正确答案:注释
5、在策略设计模式中,如果策略是一个接口,那么具体策略应该是该接口的实现类。()
A.正确
B.错误
正确答案:正确
6、在类的UML图中,使用一个三层的长方形描述类的主要构成,其中第一层是()
A.名字层
B.变量层
C.属性层
D.方法层
正确答案:名字层
7、对于面向对象语言,UML中所说的泛化关系是指()
A.类的继承关系
B.实现关系
C.组合关系
D.从属关系
正确答案:类的继承关系
8、对于下列代码:
1) class Person {2) ;public void printValue(int i, int j) {//...}3) ;public void printValue(int i){//...}4) }5) public class Teacher extends Person {6) ;public void printValue() {//...}7) ;public void printValue(int i) {//...}8) ;public static void main(String args[]){9) ;Person t = new Teacher();10) ;t.printValue(10);11) ;}12) }第10行语句将调用()语句。
A.第;2行
B.第3行
C.第6行
D.第7行
正确答案:第7行
9、下图右侧的矩形表示()。

A.源代码
B.说明
C.注释
D.以上都不对
正确答案:注释
10、下列选项中可以表示类图中的protected成员变量的是()
A.+name
B.#age
C.foot
D.-money
正确答案:#age
11、阅读下面代码:class parent{; protected int addvalue(int a,int b){; int s; s=a+b; return s; }}class child extends parent{}若要在child类中对addvalue方法进行重写,下面对于child类中的addvalue方法头的描述()是正确的。
A.int addvalue(int i,int j)
B.void addvalue()
C.void addvalue(double i)
D.public int addvalue(int a,int b)
正确答案:public int addvalue(int a,int b)
12、以下关于接口的说法中,正确的是()。
A.接口中全部方法都是抽象方法,方法可以是任意访问权限
B.接口中属性都是使用public static final修饰,没有显式赋值将使用默认值
C.接口中可以有构造方法
D.接口可以应用于策略模式中,体现了面向抽象原则
正确答案:接口可以应用于策略模式中,体现了面向抽象原则
13、如果A类中的成员变量是用B类(接口)来声明的变量,那么A和B的关系是()。
A.关联关系
B.依赖关系
C.实现关系
D.包含关系
正确答案:关联关系
14、在策略设计模式中,如果策略是一个接口,那么具体策略应该是该接口的实现类。()
A.正确
B.错误
正确答案:正确
15、装饰模式属于创建型设计模式。()
A.正确
B.错误
正确答案:错误
16、若A类依赖于B类,那么UML通过使用一个虚线连接A和B的UML图,虚线的起始端是A类,终点端是B类。()
A.正确
B.错误
正确答案:正确
17、在类的UML图中,如果方法是静态方法,则应在方法的名字下面添加波浪线。()
A.正确
B.错误
正确答案:错误
18、应用开-闭原则设计系统时,所谓开,就是增加新的子类时,不需要修改重要的抽象类。()
A.正确
B.错误
正确答案:正确
19、设计模式是针对某一类问题的最佳解决方案,是从许多优秀的软件系统中总结出的成功的、可复用的设计方案。()
A.正确
B.错误
正确答案:正确
20、策略模式是面向抽象原则的成功应用。()
A.正确
B.错误
正确答案:正确
第九章单元测试
1、下列关于匿名内部类的描述,错误的是()
A.匿名内部类是内部类的简化形式
B.匿名内部类的前提是必须要继承父类或实现接口
C.匿名内部类的格式是";new;父类(参数列表);或 父接口(){}"
D.匿名内部类可以有构造方法
正确答案:匿名内部类可以有构造方法
2、下面程序的运行结果是()
public class Demo {;public static void main(String[] args) {; try {; System.out.println(10 / 0); System.out.println(";除法正常运行";); } catch(ArithmeticException e) {; System.out.println(";除数不能为0";); }
; }
}
A.编译失败
B.编译通过,没有结果输出
C.输出:除法正常运行
D.输出:除数不能为0
正确答案:输出:除数不能为0
3、下列关于自定义异常的说法中,错误的是()
A.自定义异常要继承Exception类
B.自定义异常继承Exception类后,具有可抛性
C.自定义异常可以在构造方法中用super关键字传递异常信息给父类
D.自定义异常必须继承Error类
正确答案:自定义异常必须继承Error类
4、下面()选项可以使用static关键字修饰。
A.成员变量
B.局部变量
C.成员方法
D.成员内部类
正确答案:成员变量;成员方法;成员内部类
5、关于内部类,下面说法正确的是()
A.成员内部类是外嵌类的一个成员,可以访问外嵌类的其它成员
B.外嵌类可以访问成员内部类的成员
C.内部类中不可以声明类变量
D.内部类可以被修饰为static内部类
正确答案:成员内部类是外嵌类的一个成员,可以访问外嵌类的其它成员;外嵌类可以访问成员内部类的成员;内部类中不可以声明类变量;内部类可以被修饰为static内部类
6、下面程序的运行结果是()
public class Demo {public static void main(String[] args) { try { System.out.println(10 / 0); System.out.println(";除法正常运行";); } catch(ArithmeticException e) { System.out.println(";除数不能为0";); }
; }
}
A.编译失败
B.编译通过,没有结果输出
C.输出:除法正常运行
D.输出:除数不能为0
正确答案:输出:除数不能为0
7、下面程序的运行结果是()
public class Demo {;public static void main(String[] args) {; try {; System.out.println(10 / 0); System.out.println(";除法正常运行";); } catch(ArithmeticException e) {; System.out.println(";除数不能为0";); }
; }
}
A.编译失败
B.编译通过,没有结果输出
C.输出:除法正常运行
D.输出:除数不能为0
正确答案:输出:除数不能为0
8、下列关于自定义异常的说法中,错误的是()
A.自定义异常要继承Exception类
B.自定义异常继承Exception类后,具有可抛性
C.自定义异常可以在构造方法中用super关键字传递异常信息给父类
D.自定义异常必须继承Error类
正确答案:自定义异常必须继承Error类
9、下面()选项可以使用static关键字修饰。
A.成员变量
B.局部变量
C.成员方法
D.成员内部类
正确答案:成员变量;成员方法;成员内部类
10、关于内部类,下面说法正确的是()
A.成员内部类是外嵌类的一个成员,可以访问外嵌类的其它成员
B.外嵌类可以访问成员内部类的成员
C.内部类中不可以声明类变量
D.内部类可以被修饰为static内部类
正确答案:成员内部类是外嵌类的一个成员,可以访问外嵌类的其它成员;外嵌类可以访问成员内部类的成员;内部类中不可以声明类变量;内部类可以被修饰为static内部类
11、下列关于匿名内部类的描述,错误的是()
A.匿名内部类是内部类的简化形式
B.匿名内部类的前提是必须要继承父类或实现接口
C.匿名内部类的格式是";new 父类(参数列表) 或 父接口(){}"
D.匿名内部类可以有构造方法
正确答案:匿名内部类可以有构造方法
12、下列符号中,()用于分隔throws关键字抛出的多个异常。
A.B.,
C.&
D.|
正确答案:,
13、public class Example {public static void main(String[] args) {try{int rst = 4/0; System.out.println(";rst = ";+rst); }catch(Exception e){System.out.println(";catch语句块执行";); return; }finally{System.out.println(";finally语句块执行";); }
;System.out.println(";程序继续向下执行";); }
}
运行以上程序,输出的结果是()
A.catch语句块执行
B.catch语句块执行 程序继续向下执行
C.catch语句块执行 finally语句块执行
D.0 程序继续向下执行
正确答案:catch语句块执行 finally语句块执行
14、以下对于try…catch语句描述正确的是()
A.try…catch语句处理程序中的错误
B.try...catch语句处理程序中的bug
C.try...catch语句处理程序中的异常
D.以上说法都不正确
正确答案:try...catch语句处理程序中的异常
15、下列程序段的运行结果为()。public class Test{;public static void foo(int i){; try{; if(i==1){; throw new Exception(); }; System.out.print(";1";); }catch(Exception e){; System.out.print(";2";); }finally{; System.out.print(";3";); }; System.out.print(";4";); }; public static void main(String[] args){; foo(1); }; }
A.123
B.234
C.1234
D.编译失败
正确答案:234
16、匿名内部类其实就是一个没有类名的内部类。()
A.正确
B.错误
正确答案:正确
17、throw关键字用于在方法上声明抛出异常的实例对象。()
A.正确
B.错误
正确答案:错误
18、自定义的异常类必须继承自Exception或其子类。()
A.正确
B.错误
正确答案:正确
19、throws声明在一个方法上,说明这个方法一定会抛出异常。()
A.正确
B.错误
正确答案:错误
20、编译异常如果产生了,要求我们必须处理,要么捕获,要么抛出。()
A.正确
B.错误
正确答案:正确
第十章单元测试
1、假设今天为2004年12月16日,以下代码的输出结果正确的是?()public class FormatDateTime {public static void main(String[] args) {; Date now = new Date();SimpleDateFormat myFmt=new
SimpleDateFormat(“yyyy年MM月dd日 HH时mm分ss秒”); System.out.println(myFmt.format(now));};}
A.2004年12月16日 17时24分27秒 星期四
B.2004-12-16 17:24:27
C.一年中的第351天一年中第51个星期一月中第3个星期在一天中17时CST时区
D.2004年12月16日 17时24分27秒
正确答案:2004年12月16日 17时24分27秒 星期四
2、阅读下面一段代码Integer in1 = new Integer(10);Integer in2 = new Integer(10); Integer in3 = 10;Integer in4 = 10; System.out.print(in1 == in2);
;System.out.print(in1 == in3);
;System.out.print(in3 == in4);下列选项中,程序的运行结果是()
A.true true true
B.false false true
C.false false false
D.false true false
正确答案:true true true
3、下列选项中,属于单例设计模式的类是?()
A.Math
B.Calendar
C.Runtime
D.System
正确答案:Math
4、阅读下列代码public class Example {;public static void main(String[] args) {;int[] srcArray = { 11, 12, 13, 14 };int[] destArray = { 21, 22, 23, 24 };System.arraycopy(srcArray, 1, destArray, 2, 2);for(int i = 0; i <; destArray.length; i++) {;System.out.print(destArray[i] + "; ";);}
;}
}
下列选项中,程序的运行结果是?()
A.21 22 12 13
B.21 22 11 12
C.21 11 12 24
D.发生数组角标越界异常
正确答案:21 22 12 13
5、System类中提供的属性和方法都是静态的。()
A.正确
B.错误
正确答案:正确
6、System类中的currentTimeMillis()方法返回一个long类型的值。()
A.正确
B.错误
正确答案:正确
7、包装类可以将基本数据类型的值包装为引用数据类型的对象。()
A.正确
B.错误
正确答案:正确
8、使用字符串常量可以直接初始化一个String对象。()
A.正确
B.错误
正确答案:正确
9、StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。()
A.正确
B.错误
正确答案:正确
10、字符串一旦初始化就不可以被改变。()
A.正确
B.错误
正确答案:正确
11、String str1=new String(";java";);
String str2=new String(";java";);
StringBuffer str3=new StringBuffer(";java";); 对于上述定义的变量,以下表达式的值为true的是哪个?()
A.str1==str2
B.str1.equals(str2)
C.str1==str3
D.以上都不对
正确答案:str1.equals(str2)
12、阅读下面一段代码Integer in1 = new Integer(10);Integer in2 = new Integer(10);Integer in3 = 10;Integer in4 = 10;System.out.print(in1 == in2);
System.out.print(in1 == in3);
System.out.print(in3 == in4);下列选项中,程序的运行结果是()
A.true true true
B.false false true
C.false false false
D.false true false
正确答案:true true true
13、假如indexOf()方法未能找到所指定的子字符串,那么其返回值为?()
A.false
B.0
C.-1
D.以上答案都不对
正确答案:-1
14、阅读下列代码public class Example {;public static void main(String[] args) {;int[] srcArray = { 11, 12, 13, 14 };int[] destArray = { 21, 22, 23, 24 };System.arraycopy(srcArray, 1, destArray, 2, 2);for(int i = 0; i <; destArray.length; i++) {;System.out.print(destArray[i] + "; ";);}
;}
}
下列选项中,程序的运行结果是?()
A.21 22 12 13
B.21 22 11 12
C.21 11 12 24
D.发生数组角标越界异常
正确答案:21 22 12 13
15、要产生[20,999]之间的随机整数可以使用以下哪个表达式?()
A.(int)(20+Math.random()*97)
B.20+(int)(Math.random()*980)
C.(int)Math.random()*999
D.20+(int)Math.random()*980
正确答案:20+(int)(Math.random()*980)
16、下列关于包装类的描述中,错误的是?()
A.包装类的作用之一就是将基本类型包装成引用类型
B.包装类它可以完成在基本类型与String类型之间的转换
C.包装类对应着基本数据类型
D.可以通过继承包装类完成自定义包装类的设计
正确答案:可以通过继承包装类完成自定义包装类的设计
17、下列选项中,可以正确实现String初始化的是()
A.String str = ";abc"
B.String str = ';abc'
C.String str = abc
D.String str = 0
正确答案:String str = ";abc"
18、已知 String 对象 s=";abcdefg";,则 s.substring(2, 5)的返回值为?()
A.";bcde"
B.";cde"
C.";cdef"
D.";def"
正确答案:";cde"
19、下列选项中,哪个是StringBuffer类中append()方法的返回值类型?()
A.String
B.void
C.StringBuffer
D.StringBuilder
正确答案:StringBuffer
20、System类中提供的属性和方法都是静态的。()
A.正确
B.错误
正确答案:正确
21、System类中的currentTimeMillis()方法返回一个long类型的值。()
A.正确
B.错误
正确答案:正确
22、包装类可以将基本数据类型的值包装为引用数据类型的对象。()
A.正确
B.错误
正确答案:正确
23、使用字符串常量可以直接初始化一个String对象。()
A.正确
B.错误
正确答案:正确
24、StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。()
A.正确
B.错误
正确答案:正确
25、字符串一旦初始化就不可以被改变。()
A.正确
B.错误
正确答案:正确
第十一章单元测试
1、下列选项中,哪一个不是InputStream的直接子类()
A.ByteArrayInputStream
B.FileInputStream
C.BufferedInputStream
D.PipedInputStream
正确答案:BufferedInputStream
2、以下选项中,哪个是FileOutputStream的父类?()
A.File
B.FileOutput
C.OutputStream
D.InputStream
正确答案:OutputStream
3、下列选项中,不属于InputStreamReader类的方法的是()
A.getEncoding()
B.close()
C.read()
D.flush()
正确答案:flush()
4、所有的字节输入流都从OutputStream类继承,所有的字节输出流都从InputStream类继承。
A.正确
B.错误
正确答案:错误
5、对图片进行读写操作可以采用文件字符流。
A.正确
B.错误
正确答案:错误
6、下列选项中,哪一个不是InputStream的直接子类()
A.ByteArrayInputStream
B.FileInputStream
C.BufferedInputStream
D.PipedInputStream
正确答案:BufferedInputStream
7、以下选项中,哪个是FileOutputStream的父类?()
A.File
B.FileOutput
C.OutputStream
D.InputStream
正确答案:OutputStream
8、下列选项中,不属于InputStreamReader类的方法的是()
A.getEncoding()
B.close()
C.read()
D.flush()
正确答案:flush()
9、所有的字节输入流都从OutputStream类继承,所有的字节输出流都从InputStream类继承。
A.正确
B.错误
正确答案:错误
10、对图片进行读写操作可以采用文件字符流。
A.正确
B.错误
正确答案:错误
11、下列哪一个import命令可以使我们在程序中创建输入/输出流对象()
A.import java.sql.*
B.import java.util.*
C.import java.io.*
D.import java.net.*
正确答案:import java.io.*
12、下面关于java中输入/输出流的说法错误的是()。
A.FileInputStream与FileOutputStream类用读、写字节流。
B.Reader与Writer类用来读、写字符流。
C.RandomAccessFile只可以用来读文件。
D.File类用来处理与文件相关的操作。
正确答案:RandomAccessFile只可以用来读文件。
13、下列选项中,不属于FileReader类的方法的是()
A.read()
B.close()
C.readLine()
D.toString()
正确答案:readLine()
14、以下选项中,哪个是FileInputStream的父类()
A.File
B.FileOutputStream
C.OutputStream
D.InputStream
正确答案:InputStream
15、阅读下列代码import java.io.*;public class Example{public static void main(String[] args) throws Exception {OutputStream out = new FileOutputStream(";itcast.txt ";, true); String str = ";欢迎你!"; byte[] b = str.getBytes(); for(int i = 0; i <; b.length; i++) {; out.()(b[i]); }; out.close(); }}下列选项中,哪个填写在程序空白处会使程序正确。
A.read()
B.write()
C.close()
D.available()
正确答案:write()
16、下列关于java.io.FileOutputStream的说法错误的是()
A.java.io.FileOutputStream用来进行文件的写入操作。用它提供的方法可以将指定文件写入本地主机硬盘上
B.通过类File的实例或者一个表示文件名称的字符串可以生成文件输出流。在流对象生成的同时文件被打开。但还不能进行文件读写
C.java.io.FileOutputStream可以读取字节文件也可以读取字符文件
D.java.io.FileOutputStream一次只能读取一个字节的内容
正确答案:java.io.FileOutputStream一次只能读取一个字节的内容
17、通过File类可对文件属性进行修改。
A.正确
B.错误
正确答案:正确
18、IOException必须被捕获或抛出。
A.正确
B.错误
正确答案:正确
19、Java中提供了用于读写Unicode字符的字符流Reader类和Writer类。
A.正确
B.错误
正确答案:正确
20、File类中判断文件是否存在的方法是()。
A.exists()
B.delete()
C.isFile()
D.getName()
正确答案:exists()
第十二章单元测试
1、阅读下列的程序
import java.util.*;class Student {;String name;String age;public Student(String name, String age) {;this.name = name;this.age = age;}
;public String toString() {;return name + ";:"; + age;}
}
public class Example{;public static void main(String[] args) {;Set set = new HashSet();set.add(new Student(";Tom";, ";10";));set.add(new Student(";Jerry";, ";10";));set.add(new Student(";Tom";, ";10";));}
}
下列选项中,程序的运行结果是:set集合中的元素个数为()
A.2
B.3
C.1
D.不固定个数
正确答案:3
2、public class Example {;public static void main(String[] args) {;ArrayList list = new ArrayList();// 创建ArrayList集合;list.add(";Tom";);// 向该集合中添加字符串;list.add(";Jerry";);Iterator it = list.iterator();//获取迭代器;it.next();it.next();System.out.println(it.next());}}运行以上程序,输出结果是()
A.Tom
B.null
C.";"
D.发生异常,输出异常信息
正确答案:发生异常,输出异常信息
3、阅读下列程序
public class Example {;public static void main(String[] args) {; ArrayList list = new ArrayList(); // 创建ArrayList集合
; list.add(";Tom";); // 向该集合中添加字符串
; list.add(";Jerry";); list.add(";Donald";); for(ListIterator it = list.listIterator();it.hasNext();){; Object object = it.next(); if(";Jerry";.equals(object)){; it.set(";Speike";); }
; }
; System.out.println(list);}
}
程序的运行结果是()
A.[Tom, Speike, Donald]
B.[Tom, Jerry, Speike, Donald]
C.[Tom, Donald]
D.[Tom, Jerry, Donald]
正确答案:[Tom, Speike, Donald]
4、LinkedList类的特点是()
A.查询快
B.增删快
C.元素不重复
D.元素自然排序
正确答案:增删快
5、下列有关泛型的代码中,ArrayList<;Person>;list=newArrayList<;Person>();说法正确的是()?
A.list集合里面只能存放Person对象
B.list集合里面能存放字符串
C.list集合里面能存放Person的子类对象
D.list集合里面可以存放Object类型的对象
正确答案:list集合里面只能存放Person对象
6、下列关于泛型说法不正确的是()
A.泛型的出现可以把运行时出现的问题提前放到编译时期就发现
B.泛型的出现可以把编译时出现的问题放到运行之后发现
C.泛型可以避免强制类型转换
D.泛型是一种安全机制
正确答案:泛型的出现可以把编译时出现的问题放到运行之后发现
7、下列增强for循环的代码中,有关说法正确的是()?for(intx:arr){System.out.println(x);}
A.arr必须是一个int数组
B.arr可以是字符串数组
C.arr必须是一个集合
D.arr可以是数组也可以是集合对象
正确答案:arr可以是数组也可以是集合对象
8、使用HashSet存储对象,如何保证唯一?()
A.重写equals方法
B.让要存储的类实现Compartor,重写compare方法
C.根据成员变量重写HashCode方法和equals方法
D.重写contains方法
正确答案:根据成员变量重写HashCode方法和equals方法
9、在我们所学知识中,下面哪几项是接口()
A.java.util.Map
B.java.util.Collection
C.java.util.List
D.java.util.Set
正确答案:java.util.Map;java.util.Collection;java.util.List;java.util.Set
10、关于HashMap集合说法正确的是()
A.HashMap集合是双列集合
B.HashMap集合不允许存储重复键
C.HashMap集合不允许存储重复值
D.HashMap集合线程是安全的
正确答案:HashMap集合是双列集合;HashMap集合不允许存储重复键
11、Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类
描述正确的是()
A.ArrayList和LinkedList均实现了List接口
B.ArrayList的查询速度比LinkedList快
C.添加和删除元素时,ArrayList的表现更佳
D.HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
正确答案:ArrayList和LinkedList均实现了List接口;ArrayList的查询速度比LinkedList快;HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
24、在我们所学知识中,下面哪几项是接口()
A.java.util.Map
B.java.util.Collection
C.java.util.List
D.java.util.Set
正确答案:java.util.Map;java.util.Collection;java.util.List;java.util.Set
25、Map集合中存储元素需要调用add(key,value)方法。
A.正确
B.错误
正确答案:错误
26、List集合的主要实现类有ArrayList和LinkedList。()
A.正确
B.错误
正确答案:正确
第十三章单元测试
1、下列哪个叙述是不正确的?()
A.JButton对象可以使用addActionLister(ActionListener l)方法将没有实现ActionListener接口的类的实例注册为自己的监视器。
B.对于有监视器的JTextField文本框,如果该文本框处于活动状态(有输入焦点)时,用户即使不输入文本,只要按回车(Enter)键也可以触发ActionEvent事件
C.监视KeyEvent事件的监视器必须实现KeyListener接口。
D.监视WindowEvent事件的监视器必须实现WindowListener接口。
正确答案:JButton对象可以使用addActionLister(ActionListener l)方法将没有实现ActionListener接口的类的实例注册为自己的监视器。
2、以下选项不正确的是哪一个?()
A.使用FlowLayout布局的容器最多可以添加5个组件。
B.使用BorderLayout布局的容器被划分成5个区域。
C.JPanel的默认布局是FlowLayout布局。
D.JDialog的默认布局是BorderLayout布局。
正确答案:使用FlowLayout布局的容器最多可以添加5个组件。
3、在Java中,有关菜单的叙述错误的是()
A.下拉式菜单通过出现在菜单条上的名字来可视化表示
B.菜单条通常出现在JFrame的顶部
C.菜单中的菜单项不能再是一个菜单
D.每个菜单可以有许多菜单项
正确答案:菜单中的菜单项不能再是一个菜单
4、如果容器组件p的布局是BorderLayout,则在p的下部添加一个按钮b,应该使用的语句是()
A.p.add(b,”North”)
B.p.add(b)
C.b.add(p,”North”)
D.p.add(b,”South”)
正确答案:p.add(b,”South”)
5、下列哪一项不属于布局管理器?()
A.GridLayout
B.CardLayout
C.BorderLayout
D.BagLayout
正确答案:BagLayout
6、在Swing中,哪一个组件可用于输入多行信息?()
A.JTextArea
B.JTextField
C.JList
D.JComment
正确答案:JTextArea
7、所有容器的父类是Frame类。()
A.正确
B.错误
正确答案:正确
8、事件组件都应注册一个事件监听者。()
A.正确
B.错误
正确答案:正确
9、事件监听者除了得知事件发生外,还应调用相应的方法处理事件。()
A.正确
B.错误
正确答案:正确
第十四章单元测试
1、DriverManager类的getConnection(String url,String user,String password)方法中,参数url的格式为jdb
C.<;子协议>;:<;子名称>;,下列哪个url是不正确的?()
A.”jdb
C.mysql://localhost:80/数据库名”
B.”jdb
C.odb
C.数据源”
C.”jdb
C.oracl
E.thin@host:端口号:数据库名”
D.”jdb
C.sqlserver://172.0.0.1:1443;DatabaseName=数据库名”
正确答案:”jdb
C.mysql://localhost:80/数据库名”
2、在JDBC中,下列哪个接口不能被Connection创建()
A.Statement
B.PreparedStatement
C.CallableStatement
D.RowsetStatement
正确答案:RowsetStatement
3、下面是加载JDBC数据库驱动的代码片段:try{;Class.forName(";com.mysql.jdbc.Driver";);};catch(ClassNotFoundException e){;out.print(e);}该程序加载的是哪个驱动?()
A.JDBC-ODBC桥连接驱动
B.部分Java编写本地驱动
C.本地协议纯Java驱动
D.网络纯Java驱动
正确答案:网络纯Java驱动
4、下面是创建Statement接口并执行executeUpdate方法的代码片段:conn=DriverManager.getConnection(";jdb
C.mysql:///book";,";root";,";123456";);stmt=conn.createStatement();String strsql=";insert into book values(';TP003';, ';ASP.NET';,';李';,';清华出版社';,35)";n=stmt.executeUpdate(strsql);代码执行成功后n的值为()。
A.1
B.0
C.-1
D.一个整数
正确答案:1
5、下列代码中rs为查询得到的结果集,代码运行后表格的每一行有几个字段();while(rs.next()){; out.print(rs.getString(1)+”\t”); out.print(rs.getString(2);+”\t”); out.print(rs.getString(3);+”\t”); out.print(rs.getString(";publish";)++”\t”); out.print(rs.getFloat(";price";)+";\n";); }
A.4
B.5
C.6
D.不确定
正确答案:5
6、下面的代码是连接哪个数据库的驱动加载片段();try{;Class.forName(";oracle.jdbc.driver.OracleDriver";);};catch(Exception e){;out.print(e.toString());}
A.Oracle
B.Sql Server
C.MySql
D.不确定
正确答案:Oracle
7、JDBC构建在ODBC基础上,为数据库应用开发人员、数据库前台工具开发人员提供了一种标准,使开发人员可以用任何语言编写完整的数据库应用程序。()
A.正确
B.错误
正确答案:错误
8、JDBC加载不同数据库的驱动程序,使用相应的参数可以建立与各种数据库的连接。()
A.正确
B.错误
正确答案:正确
9、JDBC中的URL提供了一种标识数据库的方法,使DriverManage类能够识别相应的驱动程序。()
A.正确
B.错误
正确答案:正确
10、ResultSet结果集,每一次rs可以看到一行,要在看到下一行,必须使用next()方法移动当前行。()
A.正确
B.错误
正确答案:错误
11、Statement对象提供了int executeUpdate(String sqlStatement)方法,用于实现对数据库中数据的添加、删除和更新操作。()
A.正确
B.错误
正确答案:正确
12、Statement对象的executeUpdate(String sqlStatement)方法中,sqlStatement参数是由insert、delete和update等关键字构成的Sql语句,函数返回值为查询所影响的行数,失败返回-1。()
A.正确
B.错误
正确答案:错误