Java程序设计智慧树知到课后章节答案2023年下鲁东大学_第1页
Java程序设计智慧树知到课后章节答案2023年下鲁东大学_第2页
Java程序设计智慧树知到课后章节答案2023年下鲁东大学_第3页
Java程序设计智慧树知到课后章节答案2023年下鲁东大学_第4页
Java程序设计智慧树知到课后章节答案2023年下鲁东大学_第5页
已阅读5页,还剩20页未读 继续免费阅读

下载本文档

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

文档简介

Java程序设计智慧树知到课后章节答案2023年下鲁东大学鲁东大学

第一章测试

Java语言最大的优势在于,它能够在所有的计算机上运行,即“一次编写,处处运行”。

A:对B:错

答案:对

高级语言编写的程序不能直接被计算机识别,必须经过转换才能被执行。

A:错B:对

答案:对

解释执行Java字节码文件的是哪个命令?

A:javacB:javapC:javaD:javadoc

答案:java

第二章测试

intA=55;

charB='E';System.out.println(A+B);

A:55

B:175C:65D:124

答案:124

shortc=8;byted=16;

System.out.println("c|d="+(c|d));

A:12

B:1

C:-8D:24

答案:24

shorta=-128;

shortb=128;

System.out.println("a&b="+(a&b));

A:1B:0C:127D:128

答案:128

char型变量中不能存贮一个中文汉字。

A:错B:对

答案:错

下列哪个选项是合法的标识符?

A:_nameB:123C:1firstD:class

答案:_name

下列哪个赋值语句是不正确的?

A:doubled=5.3E12;B:floatd=3.14f;C:floatf=11.1;D:doublef=11.1E10f;

答案:floatf=11.1;

给出下列代码,哪行在编译时可能会有错误?①

publicvoidmodify(){②

inti,j,k;③

i=100;④

while(i>0){⑤

j=i*2;⑥

System.out.println("Thevalueofjis"+j);⑦

k=k+1;⑧

}⑨

}

A:6B:8

C:7

D:4

答案:7

第三章测试

classCount{

publicintcount;

publicCount(intc){count=c;}

publicCount(){count=1;}}

publicclassTest{publicstaticvoidincrement(Countc,inttimes){c.count++;times++;}

publicstaticvoidmain(Stringargs[]){CountmyCount=newCount();inttimes=0;for(inti=0;i<3;i++)increment(myCount,times);System.out.println("myCount.count="+myCount.count+"

times="+times);}}程序的运行结果正确的是()

A:myCount.count=3

times=1B:myCount.count=4

times=0C:myCount.count=3

times=0D:myCount.count=4

times=1

答案:myCount.count=4

times=0

关于构造方法constructor,下列说法正确的是()

A:class中的constructor不可省略B:constructor必须与class同名,且区分返回值的类型。C:一个class只能定义一个constructorD:constructor在一个对象被new时执行

答案:constructor在一个对象被new时执行

给出程序的运行结果()classPerson{Stringname;

intage;

Person(){System.out.println("Person()");}voidPerson(){System.out.println("method()");

}publicvoidtell()

{System.out.println("姓名:"+name+",年龄:"+age);}

}

publicclassClassTest02{publicstaticvoidmain(String[]args){Personperson=newPerson();

="张三";

person.age=30;

person.tell();}}

A:姓名:张三,年龄:30B:method()姓名:张三,年龄:30

C:Person()method()姓名:张三,年龄:30D:Person()姓名:张三,年龄:30

答案:Person()姓名:张三,年龄:30

以下声明合法的是(

A:default

s;B:public

final

static

void

speed(){}C:private

class

student{}

D:defaultdouble

d;

答案:public

final

static

void

speed(){}

以下代码运行输出是()

classMan{privateStringname="Jack";intage=30;}

publicclassManTest{publicStringtel;publicstaticvoidmain(String[]args){Manm=newMan();System.out.println();}}

A:运行出错B:输出:JackC:没有输出D:编译出错

答案:编译出错

给出以下4个重载的方法show,调用show方法时,下面哪个说法是错误的()(1)show(inta,intb,intc)

(2)show(inta,intb,doublec)

(3)show(inta,doubleb,doublec)

(4)show(doublea,doubleb,intc)

A:调用show(1.0,2,3);

没有一个可行方法

B:调用show(1,2,3);

1,2,3,4方法都是可行方法,所有参数完全匹配C:调用show(1.0,2.0,3.0);

没有一个可行方法

D:调用show(1,2.0,3);

3,4都是可行方法,没有最佳可行方法,编译器会报错

答案:调用show(1.0,2,3);

没有一个可行方法

Java中方法参数的使用情况错误的说法是()

A:一个方法不可以改变一个对象参数的状态。B:一个方法不能让对象参数引用一个新的对象。C:一个方法不能修改一个基本数据类型的参数(数值型或布尔型),是值的拷贝。D:Java程序设计语言都是采用按值传递。

答案:一个方法不可以改变一个对象参数的状态。

下面的程序中,哪行会报错?publicclassStaticTest{intage;Stringname;staticinttotalFee=500;

publicvoidshowName(){System.out.print();}

publicstaticvoidshowTotalFee(){line1:System.out.print(totalFee);line2:showName();}publicstaticvoidmain(String[]args){line3:StaticTest.showTotalFee();}}

A:line1B:line2C:line3

答案:line2

第四章测试

下面程序的运行结果是____

intx=30;

int[]numbers=newint[x];x=60;

System.out.println(numbers.length);

A:30B:60C:50D:20

答案:30

数组越界访问会发生什么错误?

A:

java.lang.ExceptionB:

java.io.IOExceptionC:

java.lang.IndexOutOfBoundsExceptionD:

java.lang.ArrayIndexOutOfBoundsException

答案:

java.lang.ArrayIndexOutOfBoundsException

关于数组,以下说法错误的是()

A:使用符号=对数组对象赋值时是将对象引用指向同一个数组,而不是将数组内容进行复制。B:数组是对象,它作为参数传递时的特点和对象是一致的。C:数组内容的复制可以通过循环实现,也可以通过System.arraycopy实现。D:当二维数组声明时,int[][]numbers=newint[10][];数组的长度就确定了。

答案:当二维数组声明时,int[][]numbers=newint[10][];数组的长度就确定了。

Strings=newString("xyz");创建了几个StringObject?

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

答案:2

创建数组正确的是:

A:floatfa=newfloat[20];B:int[]ia=newint[15];C:Objectoa=newfloat[20];D:char[]ca=“SomeString”;E:Intia[][]=(4,5,6)(1,2,3)

答案:int[]ia=newint[15];;Objectoa=newfloat[20];

第五章测试

下面的程序中,哪行会报错?

publicclassStaticTest{

intage;

Stringname;

staticinttotalFee=500;

publicvoidshowName(){

System.out.print();

}

publicstaticvoidshowTotalFee(){

line1:System.out.print(totalFee);

line2:showName();

}

publicstaticvoidmain(String[]args){

line3:StaticTest.showTotalFee();

}

}

A:line2B:line3C:line1

答案:line2

下面关于import,class和package的声明顺序哪个正确?

A:package,import,classB:package,class,importC:import,package,classD:class,import,package

答案:package,import,class

已知A类被打包在packageA,B类被打包在packageB,且B类被声明为public,且有一个成员变量x被声明为,protected控制方式。C类也位于packageA包,且继承了B类。则以下说话正确的是()

A:A类的实例不能访问到B类的实例B:C类的实例可以访问到B类一个实例的x成员C:A类的实例能够访问到B类一个实例的x成员D:C类的实例不能访问到B类的实例

答案:C类的实例可以访问到B类一个实例的x成员

以下程序正确的输出是()

packagetest;

publicclassFatherClass{

publicFatherClass(){

System.out.println(“FatherClassCreate”);

}

}

packagetest;

importtest.FatherClass;

publicclassChildClassextendsFatherClass{

publicChildClass(){

System.out.println(“ChildClassCreate”);

}

publicstaticvoidmain(String[]args){

FatherClassfc=newFatherClass();

ChildClasscc=newChildClass();

}

}

A:FatherClassCreate

ChildClassCreate

FatherClassCreateB:ChildClassCreate

ChildClassCreate

FatherClassCreateC:FatherClassCreate

FatherClassCreate

ChildClassCreateD:ChildClassCreate

FatherClassCreate

FatherClassCreate

答案:FatherClassCreate

FatherClassCreate

ChildClassCreate

以下抽象类的定义中,错误的是?

A:abstractclassDemo1{}B:abstractclassDemo3{publicStringfun(){returnC:abstractclassDemo2{publicabstractStringfun(Stringa);}D:abstractclassDemo4{publicstaticfinalStringCZBK=高等教育

答案:abstractclassDemo4{publicstaticfinalStringCZBK=\高等教育\

阅读下列的程序

publicclassTest3{

publicstaticvoidmain(String[]args){__________________________________________________}}

classOuter{

staticclassInner{

publicvoidmethod(){

System.out.println(\}}}

下列选项中,可以正确输出method()方法的是

A:Outero=newOuter();o.method();B:Outer.Inneroi=newOuter.Inner();oi.method()C:InnerI=newInner();i.method();

答案:Outer.Inneroi=newOuter.Inner();oi.method()

在java中一个类被声明为final类型,表示该类不能被继承,意味着它不能再派生出新的子类。

A:错B:对

答案:对

自定义的类是否可以继承String类?

A:不确定B:是C:否

答案:否

第六章测试

Error和Exception的区别是:

A:error只程序执行出错,exception则是逻辑不完善。B:error发生后程序会出错,exception发生后不影响程序执行。C:error发生后程序会退出执行,exception发生后有可能继续执行。D:只要设计合理,error和exception都可以被捕获。

答案:error发生后程序会退出执行,exception发生后有可能继续执行。

关于java异常类型的说法,错误的是:

A:runtimeException出现的时候程序会由虚拟机接管,NullPointerException就属于此类。B:checkedException主要是指IO异常、SQL异常等,JVM要求必须对其进行catch处理,所以,不管我们是否愿意,都是要写一大堆的catch块去处理可能出现的异常。C:Java提供了两类主要的异常:runtimeException和checkedExceptionD:如果不对运行时异常进行catch处理,程序也不会终止。

答案:如果不对运行时异常进行catch处理,程序也不会终止。

哪个关键字可以抛出异常?

A:transientB:throwC:staticD:finally

答案:throw

下列程序的执行,说法错误的是(C)publicclassMultiCatch{publicstaticvoidmain(Stringargs[]){try{inta=args.length;intb=42/a;intc[]={1};c[42]=99;System.out.println(“b=”+b);}catch(ArithmeticExceptione){System.out.println(“除0异常:”+e);}catch(ArrayIndexOutOfBoundsExceptione){System.out.println(“数组超越边界异常:”+e);}}}A、程序将输出第15行的异常信息下列程序的执行,说法错误的是:publicclassMultiCatch{public

static

void

main(String

args[]){try{

int

a=args.length;

int

b=42/a;

int

c[]={1};

c[42]=99;

System.out.println(“b=”+b);}

catch(ArithmeticException

e)

{

System.out.println(“除0异常:”+e);}

catch(ArrayIndexOutOfBoundsException

e)

{

System.out.println(“数组超越边界异常:”+e);

}

}}

A:程序第10行出错B:程序将输出第15行的异常信息C:程序将输出第15和18行的异常信息D:程序输出b=12

答案:程序输出b=12

对于catch子句的排列,下列哪种是正确的(B)A、父类在先,子类在后B、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内D、先有子类,其他如何排列都无关对于catch子句的排列,下列哪种是正确的(B)A、父类在先,子类在后B、子类在先,父类在后C、有继承关系的异常不能在同一个try程序段内D、先有子类,其他如何排列都无关对于catch子句的排列,下列哪种是正确的:

A:子类在先,父类在后B:先有子类,其他如何排列都无关C:有继承关系的异常不能在同一个try程序段内D:父类在先,子类在后

答案:子类在先,父类在后

第七章测试

Java反射框架主要提供以下功能,哪一个是错误的?

A:在运行时能调用任意一个对象的方法;B:在运行时能构造任意一个类的对象;C:在运行时不能判断任意一个类所具有的成员变量和方法;D:在运行时能判断任意一个对象所属的类;

答案:在运行时不能判断任意一个类所具有的成员变量和方法;

关于Java反射机制,下面哪个说法是错误的?

A:Java反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是已知的。B:运用反射会使我们的软件的性能降低,复杂度增加,所以还要慎重的使用它。C:Java的反射机制就是增加程序的灵活性,避免将程序写死到代码里。D:Class对象可以通过java.lang.Object中的getClass方法获取

答案:Java反射机制可以动态地创建对象并调用其属性,这样的对象的类型在编译期是已知的。

有以下代码:packagecom;publicclassTest{publicstaticvoidmain(String[]args){Testtest=newTest();//here}}

在here处加上以下什么语句,可以获得Class对象?(多选)

A:Class

c

=

test.class;B:Class

c

=

test.getClass();C:Class

c

=

Test.class;D:Class

c

=

newClass();E:Class

c

=

Class.forName(“Test”);F:Class

c

=

Class.forName(“com.Test”);

答案:Class

c

=

test.getClass();;Class

c

=

Test.class;;Class

c

=

Class.forName(“com.Test”);

如果要访问对象的私有变量,就必须先修改访问权限,通过Constructor类的setAccessible方法实现。

A:对B:错

答案:对

关于注解的说明,以下错误的是?

A:注解@Deprecated的作用是声明方法是过时的,当编程人员调用方法时将会提示警告。B:public@interfaceAuthor{}这行代码表示自定义一个注解AuthorC:注解只可添加于包、类、构造方法上,不能添加到成员变量中。D:注解@Inherited允许子类继承父类中的注解

答案:注解只可添加于包、类、构造方法上,不能添加到成员变量中。

第八章测试

publicclassInheritThreadextendsThread{

privateStringname;

publicInheritThread(Stringname){

=name;

}

publicvoidrun(){

System.out.println("Greetingsfromthread'"+name+"'!");

}}publicstaticvoidmain(Stringargs[])

{InheritThread

greetings

=

newInheritThread("Inherited");greetings.start();System.out.println("MainThreadhasbeenended");}以上代码执行的结果可能是:

A:Greetingsfromthread

InheritedMainThreadhasbeenended

B:MainThreadhasbeenended

C:

温馨提示

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

评论

0/150

提交评论