面向对象程序设计智慧树知到课后章节答案2023年下山东青年政治学院_第1页
面向对象程序设计智慧树知到课后章节答案2023年下山东青年政治学院_第2页
面向对象程序设计智慧树知到课后章节答案2023年下山东青年政治学院_第3页
面向对象程序设计智慧树知到课后章节答案2023年下山东青年政治学院_第4页
面向对象程序设计智慧树知到课后章节答案2023年下山东青年政治学院_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

面向对象程序设计智慧树知到课后章节答案2023年下山东青年政治学院山东青年政治学院

第一章测试

下列关于JDK的说法中,错误的是?()

A:JDK是整个Java的核心B:JDK是Java开发工具包的简称C:JDK包括Java编译器、Java文档生成工具、Java打包工具等D:安装JDK后,还需要单独安装JRE

答案:安装JDK后,还需要单独安装JRE

下列关于classpath环境变量的说法中,哪一个是正确的?()

A:查看当前classpath配置的命令是:classpathB:classpath配置一次后可永久使用C:没有classpath环境变量就不能运行Java程序D:classpath环境变量可以让虚拟机找到class文件的目录

答案:classpath配置一次后可永久使用

Java属于以下哪种语言?(

A:机器语言B:高级语言C:以上都不对D:汇编语言

答案:高级语言

下列目录中,哪一个是用来存放JDK可执行程序的。(

A:db目录B:jre目录C:lib目录D:bin目录

答案:bin目录

下列哪个是Java应用程序主类中正确的main方法?

A:staticvoidmain(Stringargs[])B:publicstaticvoidmain(Stringargs[])C:publicstaticvoidMain(Stringargs[])D:publicvoidmain(Stringargs[])

答案:publicstaticvoidmain(Stringargs[])

如果jdk的安装路径为:c:jdk,若想在命令窗口中任何当前路径下,都可以直接使用javac和java命令,需要将环境变量path设置为以下哪个选项()

A:c:jre;B:c:jdkbin;C:c:jdk;D:c:jrebin;

答案:c:jdkbin;

下列目录中,哪一个是用来存放JDK核心源代码的?()

A:include目录B:lib目录C:src目录D:jre目录

答案:src目录

JDK安装成功后,可以将bin目录的路径配置在环境变量path中。()

A:对B:错

答案:对

配置classpath环境变量的目的是为了可以查找到java文件。()

A:对B:错

答案:错

JDK工具中自带了一个JRE工具()

A:对B:错

答案:对

在任意命令行窗口中执行javac命令,如果都能正常地显示帮助信息,说明系统path环境变量配置成功。(

A:错B:对

答案:对

使用javac命令,可以将Hello.java文件编译成Hello.class文件()

A:错B:对

答案:对

path环境变量是系统环境变量中的一种,它用于保存一系列的路径。()

A:错B:对

答案:对

javac.exe命令文件存放在JDK安装目录的lib目录下。()

A:错B:对

答案:错

在不同的操作系统中可以使用同一个JDK。()

A:对B:错

答案:错

第二章测试

下列选项中,属于字符常量的是

A:‘1'B:‘ab'C:“a”D:1

答案:‘1'

下面关于字符变量的定义中,错误的是

A:chara='a'B:charb=97C:charc=0x61D:chard=A

答案:chard=A

下列选项中,哪一个不能通过编译

A:longd=8888888888B:shortb=100C:intc='a'D:bytea=1

答案:longd=8888888888

下列关于浮点型数据的定义,哪一个不能通过编译

A:doublea=12.45;B:doublec=100;C:floatd=100;D:floatb=12.45;

答案:floatb=12.45;

下列关于int类型变量的定义,错误的是

A:intb,c=20;B:intf=40;C:inta=10;D:intd=e=30;

答案:intd=e=30;

关于表达式1234/1000*1000的运算结果,下列哪个选项是正确的

A:1000B:1234.0C:1234D:以上都不对

答案:1000

下列选项中,哪一个是十进制数6的二进制值

A:111B:101C:110D:011

答案:110

若int[][]arr={{1,2,3}},则arr[0][1]的结果为

A:3B:1C:2D:0

答案:2

表达式3510/1000的运算结果为

A:3B:3.510C:3.51D:4

答案:3

下面选项中,哪一个是合法的标识符

A:classB:_3_C:helloworldD:1Demo

答案:_3_

字符串常量既可以用双引号引起来,也可以用单引号引起来

A:对B:错

答案:错

byte类型所占存储空间为1个字节,取值范围0~255

A:对B:错

答案:错

比较运算符用于对两个数值或变量进行比较,其结果为true或false

A:错B:对

答案:对

数组的最大下标的值比它的长度小1

A:错B:对

答案:对

在为float类型的变量赋值时,后面必须加字母f或F

A:错B:对

答案:对

第三章测试

若有如下语句

intx=3;

do{System.out.println(x);x-=2;}while(--x>0);

A:输出的是1B:输出的是3C:输出的是1和-2D:是死循环

答案:输出的是1和-2

执行下面程序后,哪个结论是正确的(

)inta,b,c;a=1;b=3;c=(a+b>3?++a:b++)

A:a的值为2,b的值为4,c的值为2B:

a的值为2,b的值为3,c的值为1C:a的值为2,b的值为4,c的值为1D:a的值为2,b的值为3,c的值为2

答案:a的值为2,b的值为3,c的值为2

下面语句执行结果为(

publicstaticvoidmain(String[]args){

inti=4;

if(i<0){

i=1;}

A:1B:2C:0D:4

答案:2

执行下面代码后的输出是()。m=1;while(m++<2)System.out.println(m);

A:1B:无输出C:2D:0

答案:2

下面语句执行结果为(

publicstaticvoidmain(String[]args){

inti=4;

if(i<0){

i=1;}else{i=2;}

System.out.println(i);

A:1B:0C:2D:4

答案:2

请阅读下面的程序,sum的值为(

)publicclassTest{

publicstaticvoidmain(String[]args){

intsum=0;

for(inti=1;i<=100;i++){

if(i%2==1){

continue;

}

sum+=i;

}

System.out.println("sum="+sum);

}}

A:2250B:1050C:以上答案都不对D:2500

答案:2500

下列语句序列执行后,k的值是

(

)inti=10,j=18,k=30;switch(j-i){case8:k++;case9:k+=2;case10:k+=3;default:k/=j;}

A:2B:32C:31D:33

答案:2

下列语句序列执行后,k的值是(

).intj=8,k=15;for(inti=2;i!=j;i++){j-=2;k++;}

A:16B:18C:17D:15

答案:17

在进行赋值运算时,将运算符右边的值赋给左边的变量(

A:对B:错

答案:对

当intx=3,y=4时,表达式booleanb=x==y?true:false的结果是false(

A:对B:错

答案:对

当方法中的返回值类型是void时,可以不写return语句(

A:错B:对

答案:对

方法递归次数过多会导致内存溢出(

A:对B:错

答案:对

比较运算符用于对两个数值或变量进行比较,其结果是一个布尔值(

A:对B:错

答案:对

一个类中可以定义多个同名的方法,只要他们的返回值类型不同即可(

A:对B:错

答案:错

在switch语句中,每个case关键字后面必须有break(

A:错B:对

答案:错

第四章测试

下列哪个叙述是正确的?(

A:Java源文件必须含有主类。B:Java应用程序由若干个类所构成,这些类必须在一个源文件中。C:Java源文件如果含有主类,主类必须是public类。D:Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。

答案:Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以分布在若干个源文件中,其中必须有一个源文件含有主类。

实例变量(

A:可被同一类中的任何方法所访问B:是在一个类的内部声明的变量C:以上答案都对D:的作用域为整个类

答案:的作用域为整个类

类与对象的关系是(

)

A:对象是类的子类B:类是对象的具体实例

C:类是对象的抽象D:对象是类的抽象

答案:类是对象的抽象

对象使用时,下面描述错误的是(

)

A:通过“.”运算符调用成员变量和方法B:在方法中使用对象作为参数时,采用引用调用C:对象声明之后即可使用。D:将一个对象申明为类的成员时,必须在使用前为其分配内存

答案:对象声明之后即可使用。

下列关于构造方法定义的描述中,错误的是(

A:方法名与类名相同B:当定义了有参构造方法,系统默认的无参构造方法依然存在C:在方法名的前面没有返回值类型的声明D:在方法中不能使用return语句返回一个值

答案:当定义了有参构造方法,系统默认的无参构造方法依然存在

下面关于Java中类的说法哪个是不正确的(

A:构造方法是类中的特殊方法B:类一定要声明为public的,才可以执行C:一个Java文件中可以有多个class定义D:类体中只能有变量定义和成员方法的定义,不能有其他语句

答案:类一定要声明为public的,才可以执行

类与对象的关系是(

)

A:对象是类的抽象B:类是对象的抽象C:对象是类的子类D:类是对象的具体实例

答案:类是对象的抽象

下列关于构造方法的特点的描述中,错误的是(

A:无返回值B:方法名同类名C:系统自动调用D:不可重载

答案:不可重载

下列代码中的“this”指的是(       )。   class bird{ int x,y; void fly(int x,int y){ this.x=x; this.y=y; } } 

A:bird或flyB:birdC:不一定D:fly

答案:bird

对于下列Hello类,哪个叙述是正确的?

A:Hello类有2个构造方法。B:Hello类没有构造方法C:Hello类的intHello()方法是错误的方法D:Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)

答案:Hello无法通过编译,因为其中的hello方法的方法头是错误的(没有类型)

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

)

A:staticA(intx){...}B:voidA(intx){...}

C:publica(intx){...}

D:publicA(intx){...}

答案:publicA(intx){...}

对于下列Dog类,哪个叙述是错误的?()

A:Dog类只有两个构造方法,而且没有无参数的构造方法B:Dog(intm)与Dog(doublem)互为重载的构造方法C:Dog类有3个构造方法D:intDog(intm)与voidDog(doublem)互为重载的非构造方法

答案:Dog类有3个构造方法

静态变量可以被类和对象调用。(

A:错B:对

答案:对

this关键字可以在所有的方法中使用。(

A:对B:错

答案:错

一个类中如果没有定义构造方法,那么这个类就没有构造方法。(

A:对B:错

答案:错

第五章测试

当类的成员未用访问权限修饰符修饰时,java默认此成员的访问权限是(

A:友好B:publicC:protectedD:private

答案:友好

下列选项中,可以导入指定包中所有类的是(

A:import包名.*B:package包名C:package包名.*D:import包名

答案:import包名.*

为了使包sos在当前程序中可见,可以使用的语句是(     )

A:sos import;B:import sos.*;C:sos package; D:package sos.*;

答案:import sos.*;

在Java中,由Java编译器自动导入,而无需在程序中用import导入的包是(    )

A:java.applet B:java.langC:java.util D:java.awt  

答案:java.lang

在Java中,用package语句说明一个包时,该包的层次结构必须(     )

A:与文件大小相同

B:与文件类型相同

C:与文件目录的层次相同

D:与文件的结构相同

答案:与文件目录的层次相同

定义主类的类头时可以使用的访问控制符是(      )

A:public  

B:private protected

C:protected    

D:private 

答案:public  

下面说法正确的是:()

A:如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格);  B:如果源代码中有main()方法,则该方法必须被放在代码的第一行;C:如果源代码中有import语句,则该语句必须放在在代码的第一行(不考虑注释和空格);D:源代码含有class关键字的语句,必须放在代码的第一行。

答案:如果源代码中有package语句,则该语句必须放在代码的第一行(不考虑注释和空格);  

JAVA中,访问修饰符限制性最高的是()。

A:Private

B:protected

C:friendly

D:

public

答案:Private

JAVA中,使用()修饰符时,一个类能被同一包或不同包中的其他类访问。()

A:Private

B:friendly

C:protected

D:public

答案:public

现有一个Java源文件,其中包含有一个名为Example的public类,为了成功编译该文件,需要满足:()

A:源文件必须具有package包语句

B:源文件必须声明一个main()方法

C:源文件必须为Example.java 

D:源文件必须导入java.lang包

答案:源文件必须为Example.java 

不允许作为类及类成员的访问控制符的是()

A:private 

B:static 

C:protected 

D:public 

答案:static 

Java中的包是用来存放类的,通常功能相同的类存放在相同的包中(

A:错B:对

答案:对

声明构造方法时,可以使用private关键字修饰。(

A:错B:对

答案:错

包的声明只能位于Java源文件的第一行()

A:错B:对

答案:对

import语句通常出现在package语句之前()

A:对B:错

答案:错

第六章测试

下列说法哪个是正确的(

A:子类即可以重载父类的方法,又可以覆盖父类的方法B:子类只能重载父类的方法,而不能覆盖C:子类只能覆盖父类的方法,而不能重载D:子类不能定义和父类同名同形参的方法,否则,系统将不知道调用哪个方法

答案:子类只能重载父类的方法,而不能覆盖

下列哪个类的声明是正确的?(

A:abstractfinalclassHI{}(final代表常量,但是抽象类不能实例化)B:publicabstractclassCar{}C:protectedprivatenumber;

(不是定义类,且修饰符重复)D:abstractprivatemove(){}(这是定义方法的)

答案:publicabstractclassCar{}

现有两个类M、N,以下描述中表示N继承自M的是(

)

A:class

M

implements

N

B:class

N

implements

MC:class

N

extends

MD:class

M

extends

N

答案:class

N

extends

M

下面哪条语句把方法声明为抽象的公共方法?(

A:publicabstractvoidmethod(){}

B:publicvoidmethod()extendsabstract

C:publicabstractmethod()

D:publicabstractvoidmethod()

答案:publicabstractmethod()

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行能通过编译,但第2、3行运行时出错C:第1行、第2行和第3行的声明都是正确的

D:第1、2行能通过编译,但第3行编译出错

答案:第1行、第2行和第3行的声明都是正确的

下面有关方法覆盖说法不正确的是:(

)

A:方法覆盖要求覆盖和被覆盖的方法有相同的名字,参数列以及返回值B:覆盖的方法不能比被覆盖的方法抛出更多的异常C:方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限;D:

覆盖的方法一定不能是private的

答案:方法覆盖要求覆盖和被覆盖的方法必须具有相同的访问权限;

下面选项中哪个关键字可以用来修饰接口中的变量和方法?(

)

A:private

B:protected

C:static

D:synchronized

答案:static

下列有关继承的说法。正确的是:(

)

A:子类能继承父类的方法,而不是属性

B:子类能继承父类的非私有方法和属性

C:子类只能继承父类public方法和属性D:子类能继承父类的所有方法和属性

答案:子类能继承父类的非私有方法和属性

下面是有关子类继承父类构造函数的描述,其中正确的是:(

)

A:子类可以不调用父类的构造函数。B:子类无法继承父类的构造函数。C:创建子类的对象时,先调用子类自己的构造函数,然后调用父类的构造函数。D:子类必须通过super()关键字调用父类的构造函数。

答案:子类必须通过super()关键字调用父类的构造函数。

下列选项中,表示数据或方法只能被本类访问的修饰符是(

A:private

B:protected

C:finalD:public

答案:private

实例方法可直接调用本类的类方法。(

A:对B:错

答案:错

子类的上转型对象就是父类对象。(

A:对B:错

答案:错

抽象类可以有子类也可以没有子类。(

A:对B:错

答案:错

final类不能派生出子类。(

A:对B:错

答案:对

abstract和final关键可以同时修饰一个类。(

A:对B:错

答案:错

第七章测试

以下关于接口对象的说法中正确的是(

)

A:接口对象可以用关键词new创建B:接口对象可以等于任何类的对象C:接口对象只能等于实现该接口的类的对象D:接口只能被类实现,不能用来声明对象

答案:接口对象只能等于实现该接口的类的对象

以下哪个接口的定义是正确的?(

)

A:interfaceB{

voidprint(){};

}B:abstractinterfaceB

{voidprint();}C:interfaceB

{voidprint();}D:abstractinterfaceBextendsA1,A2{abstractvoidprint(){};

}

答案:interfaceB

{voidprint();}

定义一个接口时,下列哪个关键字用不到?(

)

A:extendsB:publicC:classD:interface

答案:class

在下面选项中哪个关键字可以用来修饰接口中的变量和方法?(

A:protectedB:staticC:synchronizedD:private

答案:static

以下关于接口对象的说法中正确的是(

)

A:接口对象只能等于实现该接口的类的对象;

B:接口对象可以用关键词new创建;

C:接口对象可以等于任何类的对象;

D:接口只能被类实现,不能用来声明对象;

答案:接口对象只能等于实现该接口的类的对象;

若有如下接口A的定义,下列哪些类下确实现了该接口(

)

interface

A{

voidmethod1(inti);

voidmethod2(intj);

}

A:class

B

implements

A{

void

method1(){}

void

method2(){}

}

B:class

B

implements

A{

void

method1(inti){}

void

method2(intj){}

}

C:class

B

implements

A{

public

void

method1(intx){}

public

void

method2(inty){}

}

D:class

B

{

void

method1(inti){}

void

method2(intj){}

}

答案:class

B

implements

A{

void

method1(inti){}

void

method2(intj){}

}

关于Java中包的概念,以下正确的是(

)

A:包是一些类与接口的集合;

B:Java的包中可以包含子包;

C:包中的类与子包中的类被认为是同一包内;

D:包中的类不能访问子包中非public的类。

答案:Java的包中可以包含子包;

下列选项中,接口中方法的默认可见性修饰符是(

)

A:private

B:finalC:protected

D:public

答案:public

在使用interface声明一个接口时,只可以使用哪个修饰符修饰该接口。(

)

A:publicB:protectedC:private

D:private或者protected

答案:public

下列选项中,定义接口MyInterface的语句正确的是:(

A:interfaceMyInterface{

}B:implementsinterfaceMy{

}C:classMyInterface{

}D:implementsMyInterface{

}

答案:interfaceMyInterface{

}

下列类头定义中,错误的是?(

)

A:classxextendsyimplementsy1

B:publicclassxextendsyC:publicxextendsyD:classx

答案:publicxextendsy

接口中只能定义常量和抽象方法。()

A:错B:对

答案:对

接口可以实例化对象()

A:对B:错

答案:错

接口与接口之间可以有继承关系()

A:对B:错

答案:对

所有接口都继承自Object类。()

A:错B:对

答案:错

第八章测试

在类的UML图中,使用一个三层的长方形描述类的主要构成,其中第一层是(

A:名字层B:变量层C:方法层D:属性层

答案:名字层

对于面向对象语言,UML中所说的泛化关系是指(

A:组合关系B:从属关系C:实现关系D:类的继承关系

答案:类的继承关系

对于下列代码:

1)classPerson{2)

publicvoidprintValue(inti,intj){//...}3)

publicvoidprintValue(inti){//...}4)}5)publicclassTeacherextendsPerson{6)

publicvoidprintValue(){//...}7)

publicvoidprintValue(inti){//...}8)

publicstaticvoidmain(Stringargs[]){9)

Persont=newTeacher();10)

t.printValue(10);11)

}12)}第10行语句将调用(

)语句。

A:第3行B:第

2行C:第6行

D:第7行

答案:第7行

下图右侧的矩形表示(

)。

A:以上都不对B:注释C:说明D:源代码

答案:注释

下列选项中可以表示类图中的protected成员变量的是(

A:+nameB:-moneyC:#age

D:foot

答案:#age

阅读下面代码:classparent{

protectedintaddvalue(inta,intb){

ints;

s=a+b;

returns;

}}classchildextendsparent{}若要在child类中对addvalue方法进行重写,下面对于child类中的addvalue方法头的描述(

)是正确的。

A:voidaddvalue()B:publicintaddvalue(inta,intb)

C:voidaddvalue(doublei)D:intaddvalue(inti,intj)

答案:publicintaddvalue(inta,intb)

以下关于接口的说法中,正确的是(

)。

A:接口可以应用于策略模式中,体现了面向抽象原则B:接口中全部方法都是抽象方法,方法可以是任意访问权限C:接口中可以有构造方法D:接口中属性都是使用publicstaticfinal修饰,没有显式赋值将使用默认值

答案:接口可以应用于策略模式中,体现了面向抽象原则

如果A类中的成员变量是用B类(接口)来声明的变量,那么A和B的关系是(

)。

A:包含关系B:关联关系C:依赖关系D:实现关系

答案:关联关系

在策略设计模式中,如果策略是一个接口,那么具体策略应该是该接口的实现类。(

A:对B:错

答案:对

装饰模式属于创建型设计模式。(

A:对B:错

答案:错

若A类依赖于B类,那么UML通过使用一个虚线连接A和B的UML图,虚线的起始端是A类,终点端是B类。(

A:错B:对

答案:对

在类的UML图中,如果方法是静态方法,则应在方法的名字下面添加波浪线。(

A:错B:对

答案:错

应用开-闭原则设计系统时,所谓开,就是增加新的子类时,不需要修改重要的抽象类。(

A:对B:错

答案:对

设计模式是针对某一类问题的最佳解决方案,是从许多优秀的软件系统中总结出的成功的、可复用的设计方案。(

A:错B:对

答案:对

策略模式是面向抽象原则的成功应用。(

A:错B:对

答案:对

第九章测试

下面程序的运行结果是(

publicclassDemo{

publicstaticvoidmain(String[]args){

try{

System.out.println(10/0);

System.out.println("除法正常运行");

}catch(ArithmeticExceptione){

System.out.println("除数不能为0");

}

}

}

A:编译失败

B:输出:除数不能为0

C:编译通过,没有结果输出D:输出:除法正常运行

答案:输出:除数不能为0

下面程序的运行结果是(

publicclassDemo{

publicstaticvoidmain(String[]args){

try{

System.out.println(10/0);

System.out.println("除法正常运行");

}catch(ArithmeticExceptione){

System.out.println("除数不能为0");

}

}

}

A:编译通过,没有结果输出B:输出:除法正常运行C:编译失败D:输出:除数不能为0

答案:输出:除数不能为0

下列关于自定义异常的说法中,错误的是(

A:自定义异常可以在构造方法中用super关键字传递异常信息给父类B:自定义异常必须继承Error类C:自定义异常要继承Exception类D:自定义异常继承Exception类后,具有可抛性

答案:自定义异常必须继承Error类

下面(

)选项可以使用static关键字修饰。

A:成员方法B:局部变量C:成员变量D:成员内部类

答案:成员方法;成员变量;成员内部类

关于内部类,下面说法正确的是(

A:内部类中不可以声明类变量B:内部类可以被修饰为static内部类C:外嵌类可以访问成员内部类的成员D:成员内部类是外嵌类的一个成员,可以访问外嵌类的其它成员

答案:内部类中不可以声明类变量;内部类可以被修饰为static内部类;外嵌类可以访问成员内部类的成员;成员内部类是外嵌类的一个成员,可以访问外嵌类的其它成员

下列关于匿名内部类的描述,错误的是(

A:匿名内部类是内部类的简化形式B:匿名内部类的前提是必须要继承父类或实现接口C:匿名内部类可以有构造方法D:匿名内部类的格式是"new父类(参数列表)或父接口(){}"

答案:匿名内部类可以有构造方法

下列符号中,(

)用于分隔throws关键字抛出的多个异常。

A:&B:;C:|D:,

答案:,

publicclassExample{

publicstaticvoidmain(String[]args){

try{

intrst=4/0;

System.out.println("rst="+rst);

}catch(Exceptione){

System.out.println("catch语句块执行");

return;

}finally{

System.out.println("finally语句块执行");

}

System.out.println("程序继续向下执行");

}

}

运行以上程序,输出的结果是(

A:catch语句块执行finally语句块执行

B:catch语句块执行程序继续向下执行C:0程序继续向下执行D:catch语句块执行

答案:catch语句块执行finally语句块执行

以下对于try…catch语句描述正确的是(

A:try…catch语句处理程序中的错误B:try...catch语句处理程序中的异常C:try...catch语句处理程序中的bugD:以上说法都不正确

答案:try...catch语句处理程序中的异常

下列程序段的运行结果为(

)。publicclassTest{

publicstaticvoidfoo(inti){

try{

if(i==1){

thrownewException();

}

System.out.print("1");

}catch(Exceptione){

System.out.print("2");

}finally{

System.out.print("3");

}

System.out.print("4");

}

publicstaticvoidmain(String[]args){

foo(1);

}

}

A:123B:1234C:编译失败D:234

答案:234

匿名内部类其实就是一个没有类名的内部类。(

A:错B:对

答案:对

throw关键字用于在方法上声明抛出异常的实例对象。(

A:错B:对

答案:错

自定义的异常类必须继承自Exception或其子类。()

A:错B:对

答案:对

throws声明在一个方法上,说明这个方法一定会抛出异常。(

A:错B:对

答案:错

编译异常如果产生了,要求我们必须处理,要么捕获,要么抛出。()

A:对B:错

答案:对

第十章测试

Stringstr1=newString("java");

Stringstr2=newString("java");

StringBufferstr3=newStringBuffer("java");

对于上述定义的变量,以下表达式的值为true的是哪个?(

A:str1==str3B:以上都不对C:str1==str2D:str1.equals(str2)

答案:str1.equals(str2)

阅读下面一段代码Integerin1=newInteger(10);

Integerin2=newInteger(10);

Integerin3=10;

Integerin4=10;

System.out.print(in1==in2);

System.out.print(in1==in3);

System.out.print(in3==in4);

下列选项中,程序的运行结果是(

A:falsefalsetrueB:falsefalsefalseC:falsetruefalseD:truetruetrue

答案:truetruetrue

假如indexOf()方法未能找到所指定的子字符串,那么其返回值为?(

A:falseB:0C:-1D:以上答案都不对

答案:-1

阅读下列代码publicclassExample{

publicstaticvoidmain(String[]args){

int[]srcArray={11,12,13,14};

int[]destArray={21,22,23,24};

System.arraycopy(srcArray,1,destArray,2,2);

for(inti=0;i<destArray.length;i++){

System.out.print(destArray[i]+"");

}

}

}

下列选项中,程序的运行结果是?(

A:21111224B:21221112C:发生数组角标越界异常D:21221213

答案:21221213

要产生[20,999]之间的随机整数可以使用以下哪个表达式?(

A:(int)Math.random()*999B:20+(int)Math.random()*980C:20+(int)(Math.random()*980)D:(int)(20+Math.random()*97)

答案:20+(int)(Math.random()*980)

下列关于包装类的描述中,错误的是?(

)

A:包装类的作用之一就是将基本类型包装成引用类型

B:包装类它可以完成在基本类型与String类型之间的转换

C:可以通过继承包装类完成自定义包装类的设计D:包装类对应着基本数据类型

答案:可以通过继承包装类完成自定义包装类的设计

下列选项中,可以正确实现String初始化的是(

A:Stringstr="abc";B:Stringstr=abc;C:Stringstr='abc';D:Stringstr=0;

答案:Stringstr="abc";

已知String对象s="abcdefg",则s.substring(2,5)的返回值为?(

A:"cdef"B:"cde"C:"bcde"D:"def"

答案:"cde"

下列选项中,哪个是StringBuffer类中append()方法的返回值类型?(

A:StringBufferB:voidC:StringD:StringBuilder

答案:StringBuffer

System类中提供的属性和方法都是静态的。(

A:对B:错

答案:对

System类中的currentTimeMillis()方法返回一个long类型的值。(

A:对B:错

答案:对

包装类可以将基本数据类型的值包装为引用数据类型的对象。

A:对B:错

答案:对

使用字符串常量可以直接初始化一个String对象。(

A:错B:对

答案:对

StringBuffer类似一个字符容器,当在其中添加或删除字符时,并不会产生新的StringBuffer对象。(

A:对B:错

答案:对

字符串一旦初始化就不可以被改变。(

A:对B:错

答案:对

第十一章测试

下列选项中,哪一个不是InputStream的直接子类(

A:FileInputStreamB:BufferedInputStreamC:ByteArrayInputStreamD:PipedInputStream

答案:BufferedInputStream

以下选项中,哪个是FileOutputStream的父类?(

A:InputStreamB:FileOutput

C:OutputStreamD:File

答案:OutputStream

下列选项中,不属于InputStreamReader类的方法的是(

A:flush()B:close()C:read()D:getEncoding()

答案:flush()

所有的字节输入流都从OutputStream类继承,所有的字节输出流都从InputStream类继承。

A:对B:错

答案:错

对图片进行读写操作可以采用文件字符流。

A:对B:错

答案:错

下列哪一个import命令可以使我们在程序中创建输入/输出流对象(

A:import.*;B:importjava.util.*;

C:importjava.io.*;D:importjava.sql.*;

答案:importjava.io.*;

下面关于java中输入/输出流的说法错误的是(

)。

A:

Reader与Writer类用来读、写字符流。B:

File类用来处理与文件相关的操作。C:

FileInputStream与FileOutputStream类用读、写字节流。D:RandomAccessFile只可以用来读文件。

答案:RandomAccessFile只可以用来读文件。

下列选项中,不属于FileReader类的方法的是(

A:close()

B:read()C:readLine()D:toString()

答案:readLine()

以下选项中,哪个是FileInputStream的父类(

A:FileB:OutputStream

C:FileOutputStreamD:InputStream

答案:InputStream

阅读下列代码importjava.io.*;publicclassExample{publicstaticvoidmain(String[]args)throwsException{OutputStreamout=newFileOutputStream("itcast.txt",true);

Stringstr="欢迎你!";

byte[]b=str.getBytes();

for(inti=0;i<b.length;i++){

out.______(b[i]);

}

out.close();

}}下列选项中,哪个填写在程序空白处会使程序正确。

A:close()B:available()C:read()D:write()

答案:write()

下列关于java.io.FileOutputStream的说法错误的是(

A:java.io.FileOutputStream可以读取字节文件也可以读取字符文件B:通过类File的实例或者一个表示文件名称的字符串可以生成文件输出流。在流对象生成的同时文件被打开。但还不能进行文件读写C:java.io.FileOutputStream用来进行文件的写入操作。用它提供的方法可以将指定文件写入本地主机硬盘上D:java.io.FileOutputStream一次只能读取一个字节的内容

答案:java.io.FileOutputStream一次只能读取一个字节的内容

通过File类可对文件属性进行修改。

A:对B:错

答案:对

IOException必须被捕获或抛出。

A:错B:对

答案:对

Java中提供了用于读写Unicode字符的字符流Reader类和Writer类。

A:错B:对

答案:对

File类中判断文件是否存在的方法是(

)。

A:delete(

)B:getName()C:exists()D:isFile()

答案:exists()

第十二章测试

阅读下列的程序

importjava.util.*;

classStudent{

Stringname;

Stringage;

publicStudent(Stringname,Stringage){

=name;

this.age=age;

}

publicStringtoString(){

returnname+":"+age;

}

}

publicclassExample{

publicstaticvoidmain(String[]args){

Setset=newHashSet();

set.add(newStudent("Tom","10"));

set.add(newStudent("Jerry","10"));

set.add(newStudent("Tom","10"));

}

}

下列选项中,程序的运行结果是:set集合中的元素个数为(

A:2B:1C:3D:不固定个数

答案:3

publicclassExample{

publicstaticvoidmain(String[]args){

ArrayListlist=newArrayList();

//创建ArrayList集合

list.add("Tom");

//向该集合中添加字符串

list.add("Jerry");

Iteratorit=list.iterator();

//获取迭代器

it.next();

it.next();System.out.println(it.next());}}运行以上程序,输出结果是(

A:TomB:发生异常,输出异常信息C:""D:null

答案:发生异常,输出异常信息

下列有关泛型的代码中,ArrayList<Person> list = new ArrayList<Person>(); 说法正确的是(   ) 

A:list集合里面能存放Person的子类对象B:list集合里面可以存放Object类型的对象 C:list集合里面能存放字符串 D:list集合里面只能存放Person对象 

答案:list集合里面只能存放Person对象 

LinkedList类的特点是(

)

A:元素不重复B:增删快C:查询快D:元素自然排序

答案:增删快

下列关于泛型说法不正确的是(   )

A:泛型可以避免强制类型转换B:泛型的出现可以把运行时出现的问题提前放到编译时期就发现C:泛型的出现可以把编译时出现的问题放到运行之后发现D:泛型是一种安全机制

答案:泛型的出现可以把编译时出现的问题放到运行之后发现

使用HashSet存储对象,如何保证唯一?(  )

A:让要存储的类实现Compartor,重写compare方法B:重写contains方法C:重写equals方法D:根据成员变量重写HashCode方法和equals方法

答案:根据成员变量重写HashCode方法和equals方法

下列关于集合的描述中,哪一个是错误的?(

A:集合按照存储结构可以分为单列集合Collection和双列集合MapB:集合存储的对象必须是基本数据类型C:List集合的特点是元素有序、元素可重复D:Set集合的特点是元素无序并且不可重复

答案:集合存储的对象必须是基本数据类型

将Map集合中的键存储到Set集合的方法是(   )

A:keySet() B:get()C:put()D:entrySet() 

答案:keySet() 

下列关于LinkedList的描述中,错误的是(

A:LinkedList集合中的元素索引从0开始

B:LinkedList集合对于元素的查找操作非常便捷C:LinkedList集合对于元素的增删操作具有很高的效率

D:LinkedList集合中每一个元素都使用引用的方式来记住它的前一个元素和后一个元素

答案:LinkedList集合对于元素的查找操作非常便捷

下列关于泛型说法不正确的是(   ) 

A:泛型可以避免强制类型转换 B:泛型是一种安全机制C:泛型的出现可以把编译时出现的问题放到运行之后发现 D:泛型的出现可以把运行时出现的问题提前放到编译时期就发现 

答案:泛型的出现可以把编译时出现的问题放到运行之后发现 

关于HashMap集合说法正确的是(

)

A:HashMap集合不允许存储重复键B:HashMap集合是双列集合C:HashMap集合线程是安全的D:HashMap集合不允许存储重复值

答案:HashMap集合不允许存储重复键;HashMap集合是双列集合

Java中的集合类包括ArrayList、LinkedList、HashMap等类,下列关于集合类

描述正确的是(  )

A:HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值B:ArrayList的查询速度比LinkedList快C:添加和删除元素时,ArrayList的表现更佳D:ArrayList和LinkedList均实现了List接口

答案:HashMap实现Map接口,它允许任何类型的键和值对象,并允许将null用作键或值;ArrayList的查询速度比LinkedList快;ArrayList和LinkedList均实现了List接口

在我们所学知识中,下面哪几项是接口(    )

A:java.util.CollectionB:java.util.MapC:java.util.ListD:java.util.Set

答案:java.util.Collection;java.util.Map;java.util.List;java.util.Set

Map集合中存储元素需要调用add(key,value)方法。

A:错B:对

答案:错

List集合的主要实现类有ArrayList和LinkedList。()

A:错B:对

答案:对

第十三章测试

下列哪个叙述是不正确的?(

A:监视WindowEvent事件的监视器必须实现WindowListener接口。B:对于有监视器的JTextField文本框,如果该文本框处于活动状态(有输入焦点)时,用户即使不输入文本,只要按回车(Enter)键也可以触发ActionEvent事件C:JButton对象可以使用addActionLister(ActionListenerl)方法将没有实现ActionListener接口的类的实例注册为自己的监视器。D:监视KeyEvent事件的监视器必须实现KeyListener接口。

答案:JButton对象可以使用addActionLister(ActionListenerl)方法将没有实现ActionListener接口的类的实例注册为自己的监视器。

以下选项不正确的是哪一个?(

A:使用FlowLayout布局的容器最多可以添加5个组件。B:JDialog的默认布局是BorderLayout布局。C:JPanel的默认布局是FlowLayout布局。D:使用BorderLayout布局的容器被划分成5个区域。

答案:使用FlowLayout布局的容器最多可以添加5个组件。

在Java中,有关菜单的叙述错误的是(

A:菜单中的菜单项不能再是一个菜单B:菜单条通常出现在JFrame的顶部C:下拉

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论