智慧树知到《面向对象程序设计》章节测试答案
智慧树知到《面向对象程序设计》章节测试答案
第一章
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目录
lib目录
lib目录
lib目录
lib目录
B:src目录
C:jre目录
jre目录
jre目录
jre目录
D:include目录
答案: src目录
4、Java属于以下哪种语言?()
A:机器语言
B:汇编语言
C:高级语言
D:以上都不对
答案: 高级语言
5、配置classpath环境变量的目的是为了可以查找到java文件。()
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:错
答案: 对
第三章
1、若有如下语句
int x=3;
do{ System.out.println(x);
x-=2;}
while(–x>0);
A:输出的是1
B:输出的是1和-2
C:输出的是3
D:是死循环
答案:
2、下面语句执行结果为( )
public static void main(String[] args){
int i=4;
if(i<0){
i=1;}
A:0
B:1
C:2
D:4
答案:
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:错
答案:
第四章
1、下列哪个叙述是正确的?( )
A:Java应用程序由若干个类所构成,这些类必须在一个源文件中。
B:Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。
C:Java源文件必须含有主类。
D:Java源文件如果含有主类,主类必须是public类。
答案:
2、实例变量( )
A:是在一个类的内部声明的变量
B:的作用域为整个类
C:可被同一类中的任何方法所访问
D:以上答案都对
答案:
3、类与对象的关系是( )
A:类是对象的抽象
B:对象是类的抽象
C:对象是类的子类
D:类是对象的具体实例
答案:
4、对象使用时,下面描述错误的是( )
A:通过.运算符调用成员变量和方法
B:对象声明之后即可使用。
C:将一个对象申明为类的成员时,必须在使用前为其分配内存
D:在方法中使用对象作为参数时,采用引用调用
答案:
5、下列关于构造方法定义的描述中,错误的是( )
A:方法名与类名相同
B:在方法名的前面没有返回值类型的声明
C:当定义了有参构造方法,系统默认的无参构造方法依然存在
D:在方法中不能使用return语句返回一个值
答案:
第五章
1、下列选项中,可以导入指定包中所有类的是( )
A:package包名
B:package 包名.
C:import 包名
D:import 包名.
答案:
2、定义主类的类头时可以使用的访问控制符是( )
A:private
B:protected
C:public
D:private protected
答案:
3、下面说法正确的是:( )
A:如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格)
B:如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格)
C:如果源代码中有main()方法,则该方法必须被放在代码的第一行
D:源代码含有class关键字的语句,必须放在代码的第一行
答案:
4、JAVA中,访问修饰符限制性最高的是( )
A:Private
B:protected
C:public
D:friendly
答案:
5、包的声明只能位于Java源文件的第一行( )
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{}
答案:
3、现有两个类M、N,以下描述中表示N继承自M的是( )
A:classMextendsN
B:classNimplementsM
C:classMimplementsN
D:classNextendsM
答案:
4、抽象类可以有子类也可以没有子类。( )
A:对
B:错
答案:
5、子类的上转型对象就是父类对象。( )
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();}
答案:
3、定义一个接口时,下列哪个关键字用不到?( )
A:public
B:extends
C:interface
D:class
答案:
4、以下哪项是接口的正确定义?( )
A:interfaceB
{void print(){};} (接口里的方法都是抽象的,不能有方法体)
B:abstractinterfaceB
{ void print() ;}
C:abstractinterfaceBextendsA1,A2//A1、A2为已定义的接口
{ abstractvoidprint(){};}
D:interfaceB
{voidprint();}
答案:
5、关于接口以下说法正确的是:( )
A:接口中的变量必须用public static final三个修饰词修饰
B:接口中的方法必须用public abstract两个修饰符修饰
C:一个接口可以继承多个父接口
D:接口的构造方法名必须为接口名
答案:
第八章
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行
答案:
4、下图右侧的矩形表示( )。
??1.png
A:源代码
B:说明
C:注释
D:以上都不对
答案:
5、在策略设计模式中,如果策略是一个接口,那么具体策略应该是该接口的实现类。( )
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
答案:
3、下列关于自定义异常的说法中,错误的是()
A:自定义异常要继承Exception类
B:自定义异常继承Exception类后,具有可抛性
C:自定义异常可以在构造方法中用super关键字传递异常信息给父类
D:自定义异常必须继承Error类
答案:
4、下面( )选项可以使用static关键字修饰。
A:成员变量
B:局部变量
C:成员方法
D:成员内部类
答案:
5、关于内部类,下面说法正确的是( )
A:成员内部类是外嵌类的一个成员,可以访问外嵌类的其它成员
B:外嵌类可以访问成员内部类的成员
C:内部类中不可以声明类变量
D:内部类可以被修饰为static内部类
答案:
第十章
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秒
答案:
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
答案:
3、下列选项中,属于单例设计模式的类是?( )
A:Math
B:Calendar
C:Runtime
D:System
答案:
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 + );
}
}
}
下列选项中,程序的运行结果是?( )
A:21 22 12 13
B:21 22 11 12
C:21 11 12 24
D:发生数组角标越界异常
答案:
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:错
答案:
第十一章
1、下列选项中,哪一个不是InputStream的直接子类( )
A:ByteArrayInputStream
B:FileInputStream
C:BufferedInputStream
D:PipedInputStream
答案:
2、以下选项中,哪个是FileOutputStream的父类?( )
A:File
B:FileOutput
C:OutputStream
D:InputStream
答案: