第一章 单元测试
1、单选题:
下列关于JDK的说法中,错误的是?( )
选项:
A:JDK是整个Java的核心
B:JDK包括Java编译器、Java文档生成工具、Java打包工具等
C:安装JDK后,还需要单独安装JRE
D:JDK是Java开发工具包的简称
答案: 【安装JDK后,还需要单独安装JRE】
2、单选题:
下列关于classpath环境变量的说法中,哪一个是正确的?( )
选项:
A:查看当前classpath配置的命令是:classpath
B:classpath环境变量可以让虚拟机找到class文件的目录
C:没有classpath环境变量就不能运行Java程序
D:classpath配置一次后可永久使用
答案: 【classpath配置一次后可永久使用】
3、单选题:
Java属于以下哪种语言?( )
选项:
A:高级语言
B:以上都不对
C:汇编语言
D:机器语言
答案: 【高级语言】
4、单选题:
下列目录中,哪一个是用来存放JDK可执行程序的。( )
选项:
A:bin目录
B:db目录
C:lib目录
D:jre目录
答案: 【bin目录】
5、单选题:
下列哪个是Java应用程序主类中正确的main方法?
选项:
A:public static void Main (String args[])
B:public void main (String args[ ])
C:static void main (String args[ ])
D:public static void main (String args[ ])
答案: 【public static void main (String args[ ])】
6、单选题:
如果jdk的安装路径为:c:jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项()
选项:
A:c:jdk bin;
B:c:jre;
C:c:jdk;
D:c:jre bin;
答案: 【c:jdk bin;】
7、单选题:
下列目录中,哪一个是用来存放JDK核心源代码的?()
选项:
A:src目录
B:lib目录
C:jre目录
D:include目录
答案: 【src目录】
8、判断题:
JDK安装成功后,可以将bin目录的路径配置在环境变量path中。()
选项:
A:错
B:对
答案: 【对】
9、判断题:
配置classpath环境变量的目的是为了可以查找到java文件。()
选项:
A:对
B:错
答案: 【错】
10、判断题:
JDK工具中自带了一个JRE工具()
选项:
A:对
B:错
答案: 【对】
11、判断题:
在任意命令行窗口中执行javac命令,如果都能正常地显示帮助信息,说明系统path环境变量配置成功。( )
选项:
A:对
B:错
答案: 【对】
12、判断题:
使用javac命令,可以将Hello.java文件编译成Hello.class文件()
选项:
A:错
B:对
答案: 【对】
13、判断题:
path环境变量是系统环境变量中的一种,它用于保存一系列的路径。()
选项:
A:对
B:错
答案: 【对】
14、判断题:
javac.exe命令文件存放在JDK安装目录的lib目录下。()
选项:
A:错
B:对
答案: 【错】
15、判断题:
在不同的操作系统中可以使用同一个JDK。()
选项:
A:对
B:错
答案: 【错】
第二章 单元测试
1、单选题:
下列选项中,属于字符常量的是
选项:
A:1
B:‘ab’
C:‘1′
D:“a”
答案: 【‘1’】
2、单选题:
下面关于字符变量的定义中,错误的是
选项:
A:char d=A
B:char b=97
C:char a=’a’
D:char c=0x61
答案: 【char d=A】
3、单选题:
下列选项中,哪一个不能通过编译
选项:
A:long d=8888888888
B:int c=’a’
C:short b=100
D:byte a=1
答案: 【long d=8888888888】
4、单选题:
下列关于浮点型数据的定义,哪一个不能通过编译
选项:
A:double a=12.45;
B:float d=100;
C:double c=100;
D:float b=12.45;
答案: 【float b=12.45;】
5、单选题:
下列关于int类型变量的定义,错误的是
选项:
A:int b,c=20;
B:int a=10;
C:int d=e=30;
D:int f=40;
答案: 【int d=e=30;】
6、单选题:
关于表达式1234/1000 * 1000的运算结果,下列哪个选项是正确的
选项:
A:1000
B:以上都不对
C:1234
D:1234.0
答案: 【1000 】
7、单选题:
下列选项中,哪一个是十进制数6的二进制值
选项:
A:101
B:110
C:011
D:111
答案: 【110】
8、单选题:
若int[][] arr= {{1,2,3}},则arr[0][1]的结果为
选项:
A:2
B:3
C:1
D:0
答案: 【2】
9、单选题:
表达式3510/1000的运算结果为
选项:
A:3.510
B:3.51
C:3
D:4
答案: 【3】
10、单选题:
下面选项中,哪一个是合法的标识符
选项:
A:hello world
B:1Demo
C:_3_
D:class
答案: 【_3_】
11、判断题:
字符串常量既可以用双引号引起来,也可以用单引号引起来
选项:
A:错
B:对
答案: 【错】
12、判断题:
byte类型所占存储空间为1个字节,取值范围0~255
选项:
A:错
B:对
答案: 【错】
13、判断题:
比较运算符用于对两个数值或变量进行比较,其结果为true或false
选项:
A:对
B:错
答案: 【对】
14、判断题:
数组的最大下标的值比它的长度小1
选项:
A:对
B:错
答案: 【对】
15、判断题:
在为float类型的变量赋值时,后面必须加字母f或F
选项:
A:错
B:对
答案: 【对】
第三章 单元测试
1、单选题:
若有如下语句
int x=3;
do{ System.out.println(x);
x-=2;}
while(–x>0);
选项:
A:输出的是1
B:是死循环
C:输出的是3
D:输出的是1和-2
答案: 【输出的是1和-2】
2、单选题:
执行下面程序后,哪个结论是正确的( )int a,b,c; a=1 ; b=3 ; c=(a+b>3 ?++a:b++)
选项:
A:a 的值为 2,b的值为 4,c 的值为 1
B:a 的值为 2,b的值为 4,c 的值为 2
C: a 的值为 2,b 的值为 3,c 的值为 1
D:a 的值为 2,b 的值为 3,c 的值为 2
答案: 【a 的值为 2,b 的值为 3,c 的值为 2】
3、单选题:
下面语句执行结果为( )
public static void main(String[] args){
int i=4;
if(i<0){
i=1;}
选项:
A:0
B:1
C:2
D:4
答案: 【2】
4、单选题:
执行下面代码后的输出是( )。m=1;while (m++<2) System. out. println(m);
选项:
A:1
B:无输出
C:2
D:0
答案: 【2】
5、单选题:
下面语句执行结果为( ) public static void main(String[] args){ int i=4; if(i<0){ i=1;}
else{i=2;} System.out.println(i);
选项:
A:2
B:1
C:0
D:4
答案: 【2】
6、单选题:
请阅读下面的程序,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:2250
B:2500
C:1050
D:以上答案都不对
答案: 【2500】
7、单选题:
下列语句序列执行后,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:33
B:2
C:32
D:31
答案: 【2】
8、单选题:
下列语句序列执行后,k的值是( ).int j=8, k=15;for( int i=2; i!=j; i++ ) { j-=2; k++; }
选项:
A:15
B:17
C:18
D:16
答案: 【17】
9、判断题:
在进行赋值运算时,将运算符右边的值赋给左边的变量( )
选项:
A:对
B:错
答案: 【对】
10、判断题:
当int x = 3 , y = 4时,表达式boolean b =x == y ? true : false的结果是false( )
选项:
A:错
B:对
答案: 【对】
11、判断题:
当方法中的返回值类型是void时,可以不写return语句( )
选项:
A:错
B:对
答案: 【对】
12、判断题:
方法递归次数过多会导致内存溢出( )
选项:
A:对
B:错
答案: 【对】
13、判断题:
比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值( )
选项:
A:对
B:错
答案: 【对】
14、判断题:
一个类中可以定义多个同名的方法,只要他们的返回值类型不同即可( )
选项:
A:对
B:错
答案: 【错】
15、判断题:
在switch语句中,每个case关键字后面必须有break( )
选项:
A:错
B:对
答案: 【错】
第四章 单元测试
1、单选题:
下列哪个叙述是正确的?( )
选项:
A:Java源文件如果含有主类,主类必须是public类。
B:Java应用程序由若干个类所构成,这些类必须在一个源文件中。
C:Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
D:Java源文件必须含有主类。
答案: 【Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。】
2、单选题:
实例变量( )
选项:
A:的作用域为整个类
B:可被同一类中的任何方法所访问
C:以上答案都对
D:是在一个类的内部声明的变量
答案: 【的作用域为整个类】
3、单选题:
类与对象的关系是( )
选项:
A:对象是类的子类
B:类是对象的抽象
C:类是对象的具体实例
D:对象是类的抽象
答案: 【类是对象的抽象】
4、单选题:
对象使用时,下面描述错误的是( )
选项:
A:通过“.”运算符调用成员变量和方法
B:将一个对象申明为类的成员时,必须在使用前为其分配内存
C:对象声明之后即可使用。
D:在方法中使用对象作为参数时,采用引用调用
答案: 【对象声明之后即可使用。】
5、单选题:
下列关于构造方法定义的描述中,错误的是( )
选项:
A:在方法名的前面没有返回值类型的声明
B:方法名与类名相同
C:当定义了有参构造方法,系统默认的无参构造方法依然存在
D:在方法中不能使用return语句返回一个值
答案: 【当定义了有参构造方法,系统默认的无参构造方法依然存在】
6、单选题:
下面关于Java中类的说法哪个是不正确的( )
选项:
A:一个Java文件中可以有多个class定义
B:类一定要声明为public的,才可以执行
C:类体中只能有变量定义和成员方法的定义,不能有其他语句
D:构造方法是类中的特殊方法
答案: 【类一定要声明为public的,才可以执行】
7、单选题:
类与对象的关系是( )
选项:
A:对象是类的抽象
B:类是对象的具体实例
C:类是对象的抽象
D:对象是类的子类
答案: 【类是对象的抽象】
8、单选题:
下列关于构造方法的特点的描述中, 错误的是( )
选项:
A:无返回值
B:不可重载
C:方法名同类名
D:系统自动调用
答案: 【不可重载】
9、单选题:
下列代码中的“this”指的是( )。
class bird{
int x,y;
void fly(int x,int y){
this.x=x;
this.y=y;
} }
选项:
A:不一定
B:bird
C:bird或fly
D:fly
答案: 【bird】
10、单选题:
对于下列Hello类,哪个叙述是正确的?
选项:
A:Hello类没有构造方法
B:Hello类有2个构造方法。
C:Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)
D:Hello类的int Hello()方法是错误的方法
答案: 【Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)】
11、单选题:
有一个类A,以下为其构造方法的声明,其中正确的是( )
选项:
A:public a(int x){…}
B:public A(int x){…}
C:static A(int x){…}
D:void A(int x){…}
答案: 【public A(int x){…}】
12、单选题:
对于下列Dog类,哪个叙述是错误的?()
选项:
A:int Dog(int m)与void Dog(double m)互为重载的非构造方法
B:Dog类只有两个构造方法,而且没有无参数的构造方法
C:Dog类有3个构造方法
D:Dog(int m)与Dog(double m)互为重载的构造方法
答案: 【Dog类有3个构造方法】
13、判断题:
静态变量可以被类和对象调用。( )
选项:
A:对
B:错
答案: 【对】
14、判断题:
this关键字可以在所有的方法中使用。( )
选项:
A:对
B:错
答案: 【错】
15、判断题:
一个类中如果没有定义构造方法,那么这个类就没有构造方法。( )
选项:
A:错
B:对
答案: 【错】
第五章 单元测试
1、单选题:
当类的成员未用访问权限修饰符修饰时,java默认此成员的访问权限是( )
选项:
A:protected
B:public
C:友好
D:private
答案: 【友好】
2、单选题:
下列选项中,可以导入指定包中所有类的是( )
选项:
A:package包名
B:package 包名.*
C:import 包名.*
D:import 包名
答案: 【import 包名.*】
3、单选题:
为了使包sos在当前程序中可见,可以使用的语句是( )
选项:
A:sos import;
B:sos package;
C:package sos.*;
D:import sos.*;
答案: 【import sos.*;】
4、单选题:
在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是( )
选项:
A:java.lang
B:java.applet
C:java.util
D:java.awt
答案: 【java.lang】
5、单选题:
在Java中,用package语句说明一个包时,该包的层次结构必须( )
选项:
A:与文件类型相同
B:与文件的结构相同
C:与文件目录的层次相同
D:与文件大小相同
答案: 【与文件目录的层次相同
】
6、单选题:
定义主类的类头时可以使用的访问控制符是( )
选项:
A:private
B:private protected
C:protected
D:public
答案: 【public
】
7、单选题:
下面说法正确的是:()
选项:
A:如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格);
B:如果源代码中有main()方法,则该方法必须被放在代码的第一行;
C:如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格);
D:源代码含有class关键字的语句,必须放在代码的第一行。
答案: 【如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格); 】
8、单选题:
JAVA中,访问修饰符限制性最高的是( )。
选项:
A:protected
B:friendly
C:Private
D: public
答案: 【Private
】
9、单选题:
JAVA中,使用()修饰符时,一个类能被同一包或不同包中的其他类访问。()
选项:
A:public
B:Private
C:protected
D:friendly
答案: 【public
】
10、单选题:
现有一个Java源文件,其中包含有一个名为Example的public类,为了成功编译该文件,需要满足:( )
选项:
A:源文件必须声明一个main()方法
B:源文件必须导入java.lang包
C:源文件必须具有package包语句
D:源文件必须为Example.java
答案: 【源文件必须为Example.java
】
11、单选题:
不允许作为类及类成员的访问控制符的是( )
选项:
A:private
B:static
C:protected
D:public
答案: 【static
】
12、判断题:
Java中的包是用来存放类的,通常功能相同的类存放在相同的包中( )
选项:
A:错
B:对
答案: 【对】
13、判断题:
声明构造方法时,可以使用private关键字修饰。( )
选项:
A:对
B:错
答案: 【错】
14、判断题:
包的声明只能位于Java源文件的第一行()
选项:
A:对
B:错
答案: 【对】
15、判断题:
import语句通常出现在package语句之前()
选项:
A:对
B:错
答案: 【错】
第六章 单元测试
1、单选题:
下列说法哪个是正确的( )
选项:
A:子类只能覆盖父类的方法,而不能重载
B:子类即可以重载父类的方法,又可以覆盖父类的方法
C:子类只能重载父类的方法,而不能覆盖
D:子类不能定义和父类同名同形参的方法,否则,系统将不知道调用哪个方法
答案: 【子类只能重载父类的方法,而不能覆盖】
2、单选题:
下列哪个类的声明是正确的?( )
选项:
A:protected private number; (不是定义类,且修饰符重复)
B:public abstract class Car{}
C:abstract private move(){} (这是定义方法的)
D:abstract final class HI{} (final代表常量,但是抽象类不能实例化)
答案: 【public abstract class Car{}】
3、单选题:
现有两个类M、N,以下描述中表示N继承自M的是( )
选项:
A:class N implements M
B:class M implements N
C:class N extends M
D:class M extends N
答案: 【class N extends M】
4、单选题:
下面哪条语句把方法声明为抽象的公共方法?( )
选项:
A:public abstract void method()
B:public abstract void method(){}
C:public abstract method()
D:public void method() extends abstract
答案: 【public abstract method()
】
5、单选题:
A派生出子类B ,B派生出子类C,并且在Java源代码中有如下声明:
1)A a0=new A();
2)A a1 =new B();
3)A a2=new C();
问以下哪个说法是正确的? ( )
选项:
A:第1行、第2行和第3行的声明都是正确的
B:第1、2、3行能通过编译,但第2、3行运行时出错
C:只有第1行能通过编译
D:第1、2行能通过编译,但第3行编译出错
答案: 【第1行、第2行和第3行的声明都是正确的 】
6、单选题:
下面有关方法覆盖说法不正确的是:( )
选项:
A:覆盖的方法不能比被覆盖的方法抛出更多的异常
B:方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返回值
C:方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限;
D: 覆盖的方法一定不能是private的
答案: 【方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限;】
7、单选题:
下面选项中哪个关键字可以用来修饰接口中的变量和方法?( )
选项:
A:protected
B:static
C:synchronized
D:private
答案: 【static
】
8、单选题:
下列有关继承的说法。正确的是:( )
选项:
A:子类能继承父类的非私有方法和属性
B:子类只能继承父类public方法和属性
C:子类能继承父类的所有方法和属性
D:子类能继承父类的方法,而不是属性
答案: 【子类能继承父类的非私有方法和属性
】
9、单选题:
下面是有关子类继承父类构造函数的描述,其中正确的是:( )
选项:
A:子类必须通过super()关键字调用父类的构造函数。
B:子类无法继承父类的构造函数。
C:子类可以不调用父类的构造函数。
D:创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。
答案: 【子类必须通过super()关键字调用父类的构造函数。 】
10、单选题:
下列选项中,表示数据或方法只能被本类访问的修饰符是( )
选项:
A:private
B:protected
C:public
D:final
答案: 【private 】
11、判断题:
实例方法可直接调用本类的类方法。( )
选项:
A:错
B:对
答案: 【错】
12、判断题:
子类的上转型对象就是父类对象。( )
选项:
A:对
B:错
答案: 【错】
13、判断题:
抽象类可以有子类也可以没有子类。( )
选项:
A:错
B:对
答案: 【错】
14、判断题:
final类不能派生出子类。( )
选项:
A:错
B:对
答案: 【对】
15、判断题:
abstract和final关键可以同时修饰一个类。( )
选项:
A:对
B:错
答案: 【错】
第七章 单元测试
1、单选题:
以下关于接口对象的说法中正确的是( )
选项:
A:接口对象只能等于实现该接口的类的对象
B:接口只能被类实现,不能用来声明对象
C:接口对象可以等于任何类的对象
D:接口对象可以用关键词new创建
答案: 【接口对象只能等于实现该接口的类的对象】
2、单选题:
以下哪个接口的定义是正确的?( )
选项:
A:interface B { void print();}
B:interface B{ void print() { } ; }
C:abstract interface B extends A1,A2 { abstract void print(){ }; }
D:abstract interface B { void print() ; }
答案: 【interface B { void print();}】
3、单选题:
定义一个接口时,下列哪个关键字用不到?( )
选项:
A:extends
B:class
C:interface
D:public
答案: 【class】
4、单选题:
在下面选项中哪个关键字可以用来修饰接口中的变量和方法?( )
选项:
A:private
B:static
C:synchronized
D:protected
答案: 【static】
5、单选题:
以下关于接口对象的说法中正确的是( )
选项:
A:接口对象只能等于实现该接口的类的对象;
B:接口只能被类实现,不能用来声明对象;
C:接口对象可以等于任何类的对象;
D:接口对象可以用关键词new创建;
答案: 【接口对象只能等于实现该接口的类的对象;
】
6、单选题:
若有如下接口A的定义,下列哪些类下确实现了该接口( )
interface A {
void method1(int i);
void method2(int j);
}
选项:
A:class B implements A{
void method1( ) { }
void method2( ) { }
}
B:class B implements A {
void method1(int i ) { }
void method2(int j ) { }
}
C:class B implements A{
public void method1(int x ) { }
public void method2(int y ) { }
}
D:class B {
void method1(int i ) { }
void method2(int j ) { }
}
答案: 【class B implements A {
void method1(int i ) { }
void method2(int j ) { }
}
】
7、单选题:
关于Java中包的概念,以下正确的是( )
选项:
A:包中的类不能访问子包中非public的类。
B:包是一些类与接口的集合;
C:Java的包中可以包含子包;
D:包中的类与子包中的类被认为是同一包内;
答案: 【Java的包中可以包含子包;
】
8、单选题:
下列选项中,接口中方法的默认可见性修饰符是( )
选项:
A:protected
B:final
C:private
D:public
答案: 【public】
9、单选题:
在使用interface声明一个接口时,只可以使用哪个修饰符修饰该接口。( )
选项:
A:private或者protected
B:protected
C:public
D:private
答案: 【public】
10、单选题:
下列选项中,定义接口MyInterface的语句正确的是:( )
选项:
A:class MyInterface{ }
B:implements MyInterface { }
C:interface MyInterface{ }
D:implements interface My{ }
答案: 【interface MyInterface{ }】
11、单选题:
下列类头定义中,错误的是 ?( )
选项:
A:public class x extends y
B:public x extends y
C:class x
D:class x extends y implements y1
答案: 【public x extends y】
12、判断题:
接口中只能定义常量和抽象方法。( )
选项:
A:错
B:对
答案: 【对】
13、判断题:
接口可以实例化对象()
选项:
A:错
B:对
答案: 【错】
14、判断题:
接口与接口之间可以有继承关系( )
选项:
A:对
B:错
答案: 【对】
15、判断题:
所有接口都继承自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:第6行
B:第 2行
C:第3行
D:第7行
答案: 【第7行】
4、单选题:
下图右侧的矩形表示( )。
选项:
A:以上都不对
B:源代码
C:说明
D:注释
答案: 【注释】
5、单选题:
下列选项中可以表示类图中的protected成员变量的是( )
选项:
A:-money
B:+name
C:foot
D:#age
答案: 【#age
】
6、单选题:
阅读下面代码:
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:void addvalue()
B:void addvalue(double i)
C:int addvalue(int i,int j)
D:public int addvalue(int a,int b)
答案: 【public int addvalue(int a,int b)
】
7、单选题:
以下关于接口的说法中,正确的是( )。
选项:
A:接口可以应用于策略模式中,体现了面向抽象原则
B:接口中全部方法都是抽象方法,方法可以是任意访问权限
C:接口中可以有构造方法
D:接口中属性都是使用public static final修饰,没有显式赋值将使用默认值
答案: 【接口可以应用于策略模式中,体现了面向抽象原则】
8、单选题:
如果A类中的成员变量是用B类(接口)来声明的变量,那么A和B的关系是( )。
选项:
A:关联关系
B:包含关系
C:实现关系
D:依赖关系
答案: 【关联关系】
9、判断题:
在策略设计模式中,如果策略是一个接口,那么具体策略应该是该接口的实现类。( )
选项:
A:错
B:对
答案: 【对】
10、判断题:
装饰模式属于创建型设计模式。( )
选项:
A:对
B:错
答案: 【错】
11、判断题:
若A类依赖于B类,那么UML通过使用一个虚线连接A和B的UML图,虚线的起始端是A类,终点端是B类。( )
选项:
A:对
B:错
答案: 【对】
12、判断题:
在类的UML图中,如果方法是静态方法,则应在方法的名字下面添加波浪线。( )
选项:
A:错
B:对
答案: 【错】
13、判断题:
应用开-闭原则设计系统时,所谓开,就是增加新的子类时,不需要修改重要的抽象类。( )
选项:
A:错
B:对
答案: 【对】
14、判断题:
设计模式是针对某一类问题的最佳解决方案,是从许多优秀的软件系统中总结出的成功的、可复用的设计方案。( )
选项:
A:错
B:对
答案: 【对】
15、判断题:
策略模式是面向抽象原则的成功应用。( )
选项:
A:错
B:对
答案: 【对】
第九章 单元测试
1、单选题:
下面程序的运行结果是( )
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:输出:除数不能为0
B:输出:除法正常运行
C:编译通过,没有结果输出
D:编译失败
答案: 【输出:除数不能为0
】
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:输出:除数不能为0
C:编译通过,没有结果输出
D:编译失败
答案: 【输出:除数不能为0】
3、单选题:
下列关于自定义异常的说法中,错误的是( )
选项:
A:自定义异常要继承Exception类
B:自定义异常可以在构造方法中用super关键字传递异常信息给父类
C:自定义异常必须继承Error类
D:自定义异常继承Exception类后,具有可抛性
答案: 【自定义异常必须继承Error类】
4、多选题:
下面( )选项可以使用static关键字修饰。
选项:
A:局部变量
B:成员变量
C:成员方法
D:成员内部类
答案: 【成员变量;成员方法;成员内部类】
5、多选题:
关于内部类,下面说法正确的是( )
选项:
A:成员内部类是外嵌类的一个成员,可以访问外嵌类的其它成员
B:内部类中不可以声明类变量
C:外嵌类可以访问成员内部类的成员
D:内部类可以被修饰为static内部类
答案: 【成员内部类是外嵌类的一个成员,可以访问外嵌类的其它成员;内部类中不可以声明类变量;外嵌类可以访问成员内部类的成员;内部类可以被修饰为static内部类】
6、单选题:
下列关于匿名内部类的描述,错误的是( )
选项:
A:匿名内部类的前提是必须要继承父类或实现接口
B:匿名内部类是内部类的简化形式
C:匿名内部类的格式是”new 父类(参数列表) 或 父接口(){}”
D:匿名内部类可以有构造方法
答案: 【匿名内部类可以有构造方法】
7、单选题:
下列符号中,( )用于分隔throws关键字抛出的多个异常。
选项:
A:&
B:,
C:;
D:|
答案: 【,】
8、单选题:
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:0 程序继续向下执行
B:catch语句块执行 finally语句块执行
C:catch语句块执行 程序继续向下执行
D:catch语句块执行
答案: 【catch语句块执行 finally语句块执行
】
9、单选题:
以下对于try…catch语句描述正确的是( )
选项:
A:try…catch语句处理程序中的异常
B:try…catch语句处理程序中的错误
C:try…catch语句处理程序中的bug
D:以上说法都不正确
答案: 【try…catch语句处理程序中的异常】
10、单选题:
下列程序段的运行结果为( )。
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:编译失败
B:1234
C:123
D:234
答案: 【234】
11、判断题:
匿名内部类其实就是一个没有类名的内部类。( )
选项:
A:错
B:对
答案: 【对】
12、判断题:
throw关键字用于在方法上声明抛出异常的实例对象。( )
选项:
A:对
B:错
答案: 【错】
13、判断题:
自定义的异常类必须继承自Exception或其子类。()
选项:
A:对
B:错
答案: 【对】
14、判断题:
throws声明在一个方法上,说明这个方法一定会抛出异常。( )
选项:
A:对
B:错
答案: 【错】
15、判断题:
编译异常如果产生了,要求我们必须处理,要么捕获,要么抛出。()
选项:
A:错
B:对
答案: 【对】
第十章 单元测试
1、单选题:
String str1=new String(“java”);
String str2=new String(“java”);
StringBuffer str3=new StringBuffer(“java”);
对于上述定义的变量,以下表达式的值为true的是哪个?( )
选项:
A:str1==str3
B:以上都不对
C:str1==str2
D:str1.equals(str2)
答案: 【str1.equals(str2)】
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 false
C:false true false
D:false false true
答案: 【true true true】
3、单选题:
假如indexOf()方法未能找到所指定的子字符串,那么其返回值为?( )
选项:
A:0
B:false
C:以上答案都不对
D:-1
答案: 【-1】
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:发生数组角标越界异常
C:21 22 11 12
D:21 11 12 24
答案: 【21 22 12 13】
5、单选题:
要产生[20,999]之间的随机整数可以使用以下哪个表达式?( )
选项:
A:(int)Math.random()*999
B:(int)(20+Math.random()*97)
C:20+(int)Math.random()*980
D:20+(int)(Math.random()*980)
答案: 【20+(int)(Math.random()*980)】
6、单选题:
下列关于包装类的描述中,错误的是?( )
选项:
A:包装类它可以完成在基本类型与String类型之间的转换
B:可以通过继承包装类完成自定义包装类的设计
C:包装类对应着基本数据类型
D:包装类的作用之一就是将基本类型包装成引用类型
答案: 【可以通过继承包装类完成自定义包装类的设计】
7、单选题:
下列选项中,可以正确实现String初始化的是( )
选项:
A:String str = 0;
B:String str = abc;
C:String str = “abc”;
D:String str = ‘abc’;
答案: 【String str = “abc”;】
8、单选题:
已知 String 对象 s=”abcdefg”,则 s.substring(2, 5)的返回值为?( )
选项:
A:”def”
B:”cdef”
C:”cde”
D:”bcde”
答案: 【”cde”】
9、单选题:
下列选项中,哪个是StringBuffer类中append()方法的返回值类型?( )
选项:
A:StringBuilder
B:StringBuffer
C:String
D:void
答案: 【StringBuffer】
10、判断题:
System类中提供的属性和方法都是静态的。( )
选项:
A:错
B:对
答案: 【对】
11、判断题:
System类中的currentTimeMillis()方法返回一个long类型的值。( )
选项:
A:对
B:错
答案: 【对】
12、判断题:
包装类可以将基本数据类型的值包装为引用数据类型的对象。 ( )
选项:
A:错
B:对
答案: 【对】
13、判断题:
使用字符串常量可以直接初始化一个String对象。( )
选项:
A:错
B:对
答案: 【对】
14、判断题:
StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。( )
选项:
A:错
B:对
答案: 【对】
15、判断题:
字符串一旦初始化就不可以被改变。( )
选项:
A:对
B:错
答案: 【对】
第十一章 单元测试
1、单选题:
下列选项中,哪一个不是InputStream的直接子类( )
选项:
A:BufferedInputStream
B:FileInputStream
C:ByteArrayInputStream
D:PipedInputStream
答案: 【BufferedInputStream】
2、单选题:
以下选项中,哪个是FileOutputStream的父类?( )
选项:
A:InputStream
B:FileOutput
C:OutputStream
D:File
答案: 【OutputStream】
3、单选题:
下列选项中,不属于InputStreamReader类的方法的是( )
选项:
A:read()
B:close()
C:flush()
D:getEncoding()
答案: 【flush()】
4、判断题:
所有的字节输入流都从OutputStream类继承,所有的字节输出流都从InputStream类继承。
选项:
A:错
B:对
答案: 【错】
5、判断题:
对图片进行读写操作可以采用文件字符流。
选项:
A:错
B:对
答案: 【错】
6、单选题:
下列哪一个import命令可以使我们在程序中创建输入/输出流对象( )
选项:
A:import java.util.*;
B:import java.io.*;
C:import java.sql.*;
D:import java.net.*;
答案: 【import java.io.*;】
7、单选题:
下面关于java中输入/输出流的说法错误的是( )。
选项:
A: File类用来处理与文件相关的操作。
B: FileInputStream与FileOutputStream类用读、写字节流。
C: Reader与Writer类用来读、写字符流。
D:RandomAccessFile只可以用来读文件。
答案: 【RandomAccessFile只可以用来读文件。】
8、单选题:
下列选项中,不属于FileReader类的方法的是( )
选项:
A:readLine()
B:close ()
C:toString()
D:read()
答案: 【readLine()】
9、单选题:
以下选项中,哪个是FileInputStream的父类( )
选项:
A:File
B:OutputStream
C:FileOutputStream
D:InputStream
答案: 【InputStream
】
10、单选题:
阅读下列代码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:close()
B:available()
C:read()
D:write()
答案: 【write() 】
11、单选题:
下列关于java.io.FileOutputStream的说法错误的是( )
选项:
A:java.io.FileOutputStream一次只能读取一个字节的内容
B:通过类File的实例或者一个表示文件名称的字符串可以生成文件输出流。在流对象生成的同时文件被打开。但还不能进行文件读写
C:java.io.FileOutputStream可以读取字节文件也可以读取字符文件
D:java.io.FileOutputStream用来进行文件的写入操作。用它提供的方法可以将指定文件写入本地主机硬盘上
答案: 【java.io.FileOutputStream一次只能读取一个字节的内容】
12、判断题:
通过File类可对文件属性进行修改。
选项:
A:错
B:对
答案: 【对】
13、判断题:
IOException必须被捕获或抛出。
选项:
A:错
B:对
答案: 【对】
14、判断题:
Java中提供了用于读写Unicode字符的字符流Reader类和Writer类。
选项:
A:错
B:对
答案: 【对】
15、单选题:
File类中判断文件是否存在的方法是 ( )。
选项:
A:exists( )
B:getName()
C:isFile()
D:delete( )
答案: 【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:1
B:不固定个数
C:3
D:2
答案: 【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:null
B:Tom
C:””
D:发生异常,输出异常信息
答案: 【发生异常,输出异常信息】
3、单选题:
下列有关泛型的代码中,ArrayList<Person> list = new ArrayList<Person>(); 说法正确的是( )
选项:
A:list集合里面只能存放Person对象
B:list集合里面能存放字符串
C:list集合里面能存放Person的子类对象
D:list集合里面可以存放Object类型的对象
答案: 【list集合里面只能存放Person对象 】
4、单选题:
LinkedList类的特点是( )
选项:
A:元素不重复
B:查询快
C:增删快
D:元素自然排序
答案: 【增删快】
5、单选题:
下列关于泛型说法不正确的是( )
选项:
A:泛型的出现可以把运行时出现的问题提前放到编译时期就发现
B:泛型是一种安全机制
C:泛型的出现可以把编译时出现的问题放到运行之后发现
D:泛型可以避免强制类型转换
答案: 【泛型的出现可以把编译时出现的问题放到运行之后发现 】
6、单选题:
使用HashSet存储对象,如何保证唯一?( )
选项:
A:根据成员变量重写HashCode方法和equals方法
B:重写equals方法
C:让要存储的类实现Compartor,重写compare方法
D:重写contains方法
答案: 【根据成员变量重写HashCode方法和equals方法】
7、单选题:
下列关于集合的描述中,哪一个是错误的?( )
选项:
A:List集合的特点是元素有序、元素可重复
B:集合存储的对象必须是基本数据类型
C:集合按照存储结构可以分为单列集合Collection和双列集合Map
D:Set集合的特点是元素无序并且不可重复
答案: 【集合存储的对象必须是基本数据类型】
8、单选题:
将Map集合中的键存储到Set集合的方法是( )
选项:
A:entrySet()
B:keySet()
C:get()
D:put()
答案: 【keySet() 】
9、单选题:
下列关于LinkedList的描述中,错误的是( )
选项:
A:LinkedList集合中每一个元素都使用引用的方式来记住它的前一个元素和后一个元素
B:LinkedList集合对于元素的增删操作具有很高的效率
C:LinkedList集合中的元素索引从0开始
D:LinkedList集合对于元素的查找操作非常便捷
答案: 【LinkedList集合对于元素的查找操作非常便捷】
10、单选题:
下列关于泛型说法不正确的是( )
选项:
A:泛型可以避免强制类型转换
B:泛型的出现可以把编译时出现的问题放到运行之后发现
C:泛型是一种安全机制
D:泛型的出现可以把运行时出现的问题提前放到编译时期就发现
答案: 【泛型的出现可以把编译时出现的问题放到运行之后发现 】
11、多选题:
关于HashMap集合说法正确的是( )
选项:
A:HashMap集合不允许存储重复键
B:HashMap集合线程是安全的
C:HashMap集合是双列集合
D:HashMap集合不允许存储重复值
答案: 【HashMap集合不允许存储重复键;HashMap集合是双列集合】
12、多选题:
Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类
描述正确的是( )
选项:
A:ArrayList的查询速度比LinkedList快
B:ArrayList和LinkedList均实现了List接口
C:添加和删除元素时,ArrayList的表现更佳
D:HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值
答案: 【ArrayList的查询速度比LinkedList快;ArrayList和LinkedList均实现了List接口;HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值】
13、多选题:
在我们所学知识中,下面哪几项是接口( )
选项:
A:java.util.Set
B:java.util.List
C:java.util.Map
D:java.util.Collection
答案: 【java.util.Set;java.util.List;java.util.Map;java.util.Collection】
14、判断题:
Map集合中存储元素需要调用add(key,value)方法。
选项:
A:错
B:对
答案: 【错】
15、判断题:
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:使用BorderLayout布局的容器被划分成5个区域。
B:使用FlowLayout布局的容器最多可以添加5个组件。
C:JPanel的默认布局是FlowLayout布局。
D:JDialog的默认布局是BorderLayout布局。
答案: 【使用FlowLayout布局的容器最多可以添加5个组件。】
3、单选题:
在Java中,有关菜单的叙述错误的是( )
选项:
A:菜单中的菜单项不能再是一个菜单
B:下拉式菜单通过出现在菜单条上的名字来可视化表示
C:每个菜单可以有许多菜单项
D:菜单条通常出现在JFrame的顶部
答案: 【菜单中的菜单项不能再是一个菜单】
4、单选题:
如果容器组件p的布局是BorderLayout,则在p的下部添加一个按钮b,应该使用的语句是( )
选项:
A:p.add(b,”North”)
B:p.add(b,”South”)
C:p.add(b)
D:b.add(p,”North”)
答案: 【p.add(b,”South”)】
5、单选题:
下列哪一项不属于布局管理器? ( )
选项:
A:CardLayout
B:GridLayout
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:错
答案: 【对】
10、判断题:
监听器将可以触发某一个事件的动作已经封装到了监听器中。( )
选项:
A:对
B:错
答案: 【对】
第十四章 单元测试
1、单选题:
DriverManager类的getConnection(String url,String user,String password)方法中,参数url的格式为jdbc:<子协议>:<子名称>,下列哪个url是不正确的?( )
选项:
A:”jdbc:mysql://localhost:80/数据库名”
B:”jdbc:sqlserver://172.0.0.1:1443;DatabaseName=数据库名”
C:”jdbc:odbc:数据源”
D:”jdbc:oracle:thin@host:端口号:数据库名”
答案: 【”jdbc:mysql://localhost:80/数据库名”
】
2、单选题:
在JDBC中,下列哪个接口不能被Connection创建( )
选项:
A:RowsetStatement
B:Statement
C:PreparedStatement
D:CallableStatement
答案: 【RowsetStatement
】
3、单选题:
下面是加载JDBC数据库驱动的代码片段: try{ Class.forName(“com.mysql.jdbc.Driver”); } catch(ClassNotFoundException e){ out.print(e); }该程序加载的是哪个驱动?()
选项:
A:网络纯Java驱动
B:本地协议纯Java驱动
C:JDBC-ODBC桥连接驱动
D:部分Java编写本地驱动
答案: 【网络纯Java驱动
】
4、单选题:
下面是创建Statement接口并执行executeUpdate方法的代码片段:conn=DriverManager.getConnection(“jdbc:mysql:///book”,”root”,”123456″); stmt=conn.createStatement(); String strsql=”insert into book values(‘TP003’, ‘ASP.NET’,’李’,’清华出版社’,35)”; n=stmt.executeUpdate(strsql); 代码执行成功后n的值为 ( )。
选项:
A:0
B:一个整数
C:-1
D:1
答案: 【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:6
B:不确定
C:4
D:5
答案: 【5
】
6、单选题:
下面的代码是连接哪个数据库的驱动加载片段( ) try{ Class.forName(“oracle.jdbc.driver.OracleDriver”); } catch(Exception e){ out.print(e.toString()); }
选项:
A:MySql
B:Oracle
C:Sql Server
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:对
答案: 【错】
请先
!