国家开放大学java语言程序设计章节基础知识测验参考答案

DOC
  • 阅读 71 次
  • 下载 0 次
  • 页数 35 页
  • 大小 47.101 KB
  • 2023-01-06 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档20.00 元 加入VIP免费下载
此文档由【小喜鸽】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
国家开放大学java语言程序设计章节基础知识测验参考答案
可在后台配置第一页与第二页中间广告代码
国家开放大学java语言程序设计章节基础知识测验参考答案
可在后台配置第二页与第三页中间广告代码
国家开放大学java语言程序设计章节基础知识测验参考答案
可在后台配置第三页与第四页中间广告代码
国家开放大学java语言程序设计章节基础知识测验参考答案
国家开放大学java语言程序设计章节基础知识测验参考答案
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 35
  • 收藏
  • 违规举报
  • © 版权认领
下载文档20.00 元 加入VIP免费下载
文本内容

【文档说明】国家开放大学java语言程序设计章节基础知识测验参考答案.docx,共(35)页,47.101 KB,由小喜鸽上传

转载请保留链接:https://www.ichengzhen.cn/view-157512.html

以下为本文档部分文字说明:

国家开放大学《java语言程序设计》章节基础知识测验参考答案第1章Java技术概述一、单选题1.()负责屏蔽操作系统的不同,将Java程序编译并执行。A.JDKB.JREC.SSHD.Java应用2.()提供给上层应用进行开发和构建应用的基础类库。A.JDKB.JRE

C.JVMD.Java应用3.Java语言中,由Java官方提供给开发者使用的类库称为()。A.JDKB.EJBC.JVMD.JRE4.Java语言基于()实现一套代码运行在不同操作系统上,即一次编写,到处运行。A.JDKB.EJBC.SSHD.JVM5.Java语

言中,用来运行Java程序编译后的代码且屏蔽系统差异性的是()。A.JDKB.JVMC.JavaD.SSH6.Java语言中用来编译Java程序的命令是()。A.java.exeB.javaw.exeC.javap.exeD.javac.exe7

.Java语言中,常用的集成开发环境是()。A.C++B.DreamweaverC.PhotoshopD.Eclipse8.Java程序在编译之后,以()方式被Java虚拟机执行。A.源代码B.二进制C.字节码D.文

本9.下列()移动开发平台使用Java语言作为官方推荐开发语言。A.SymbianB.IOSC.WindowsD.Android10.关于Java语言,下列()说法是错误的。A.Java可以用于开发分布式应用B.Java语言是面向对象的程序设计语言C.

Java程序在不同平台上执行无需作修改,比如windows和LinuxD.EJB仍然是目前最为流行的技术框架二、判断题11.JRE是一整套Java运行环境的程序包,它内置了JDK。(×)12.Java语言

提供大量的类库实现分布式应用,支持互联网应用的开发。(√)13.Eclipse目前只支持Windows操作系统,不支持Linux和Macos操作系统。(×)14.在安装Eclipse之前,首先需要安装JDK。(√)15.Java的源代码,首先被编译为class文件,然

后再被翻译成机器码被目标机器执行。(√)第2章Java语言基础一、单选题1.下列()是合法的标识符。A.15outB.num_blueC.SystemD.{println}2.下列()是合法的标识符。A.16classB.{println}C.Syste

mD._black3.下列()是合法的标识符。A.trueB.563C.$changeD.#dog4.下列()不是保留字。A.ifB.-16C.shortD.long5.下列()不是保留字。A.throwB.iC.thisD.super6.下列关于float类型floa

tf=7.3的说法,正确的是()。A.正确B.错误,精度不够,需要强制类型转换floatC.错误,变量申明错误D.错误,可以考虑使用int类型7.下列整数类型中,表示的整数范围最大数据类型的是()。A.intB.longC

.byteD.char8.编译运行以下程序后,关于输出结果正确的是()。publicclassConditional{publicstaticvoidmain(Stringargs[]){intx=4;System.out.prin

tln(“valueis“+((x>4)?99.9:9));}}A.valueis99.9B.valueis9C.valueis9.0D.编译错误9.下列代码的执行后,输出结果正确的是()。publicclassConditional{publicstaticvoidmain(Strin

gargs[]){intm=3;System.out.println(“valueis“+((m<5)?99.9:9));}}A.valueis99.9B.valueis99.0C.valueis9D.valueis

9.010.下列代码的执行后,输出结果正确的是()。publicclassTest2{publicstaticvoidmain(Stringargs[]){intm=6;System.out.println("valueis"+((m>

15)?99.9:100));}}A.valueis99.9B.valueis99.0C.valueis100D.valueis100.011.下列代码中,按照8进制定义的变量是()。intintNum01=16;intintN

um02=020;intintNum03=0x10;intintNum04=0b10000;A.intNum01B.intNum02C.intNum03D.intNum0412.下列代码中,按照2进制定义的变量是()。intintNum01=16;in

tintNum02=020;intintNum03=0x10;intintNum04=0b10000;A.intNum01B.intNum02C.intNum03D.intNum0413.下列合法的变量名是()。A.2v

ariableB..variable2C._whatavariableD.@$anothervar14.下列合法的变量名是()。A.3totalB..priceC._nameD.@$var15.下列代码执

行的结果中m和m的值分别为()。intm=50,n=160;inttmp=m;m=n;n=tmp;A.50/160B.50/50C.160/50D.160/16016.下列代码执行的结果中x和y的值分别

为()。Intx=30,y=270;inttmp=x;x=y;y=tmp;A.30/270B.30/30C.270/30D.270/27017.(int)((double)(3)/2)的结果是()。A.0B.1C.1.5D.1.

5018.表达式19/3*3的值是()。A.19B.18.999C.18D.18.019.表达式19%3的值是()。A.6B.1C.6.33D.1.020.下列正确的表达式是()。A.byte=128;B.booleanb=null

;C.longl=0xfffL;D.doubled=0.9239d;21.下列()注释在Java语言的代码中是正确的。A.//B./...../C./**...../D.!22.下列()注释在Java语言的代码中是正确的。A./B./*.....*/C./....**/D.!23.下列()

注释在Java语言的代码中是正确的。A.//.....*/B./.....*/C./**.....*/D.!24.下列两条语句执行后的结果是()。intm=30-4*5;intn=(30-4)*5;A.26/130B.10/130C.1

6/10D.35/3525.执行下列语句:inti=6;intval=i++;val的值是()。A.5B.6C.7D.426.执行下列语句:inti=6;intval=++i;val的值是()。A.5B.6C.7D.427.执行下列语句

:intm=15;intval=m--;val的值是()。A.13B.14C.15D.1628.执行下列语句:intm=15;intval=--m;val的值是()。A.13B.14C.15D.1629.intn=4,表达式5+(n--)的值是()。A.7B.

8C.6D.930.intn=4,表达式5+(--n)的值是()。A.7B.8C.6D.931.inta=3,表达式5+(a++)的值是()。A.7B.8C.6D.932.inta=3,表达式5+(++a)的值是()。A.7B.8C.6D

.933.下列代码的执行结果是()。doubledoubleNum=6700.23;intintNum=(int)doubleNum;System.out.println("intNumber:"+intNum

)A.intNumber:6700.23B.6700.23C.intNumber:6700D."intNumber:"+intNum34.下列代码的执行后,m的值为()。intx=15;inty=30;intm=x>y?x:y;A.15B.30C.xD.y35.下列

代码的执行后,m的值为()。intx=15;inty=30;intm=x<y?x:y;A.15B.30C.xD.y二、判断题36.在Java语言中,goto的用途被保留,语法中不使用这个关键字。(√)37.标识符可以以字母,数字,下划线(_)和美元符号($)开头。(

×)38.在Java语言中的整数,如果以0开头代表八进制数字,以0x开头代表十六进制。(√)39.布尔值也可以被强制转化为整数型,true的整型值为0,false为1。(×)40.一个变量的作用域可以在整个程序段中,即内部代码块和外部代码块中都可以使用。(×)41.在外部代码块中尝试访问内

部代码块中定义的变量时,java编译器不会提示错误信息。(×)42.Java语言中所有的代码都是放在【】之内的,这组大括号包含的代码就被称为语句块或者代码块。(×)43.比较运算符需要在同种数值类型之间进行比较。如果

想在不同的数值类型之间进行比较运算,需要遵守自动类型转换规则的约束。(√)44.逻辑运算符主要用于比较数据之间的大小。(×)45.Java程序中的注释,只是用于程序员之间的沟通,对程序代码的维护性没有作用。(×)第3章流程控制一、单选题

1.在switch-case语句中,需要与下列语句搭配使用,用以结束对应case逻辑的执行()。A.continueB.breakC.whileD.if-else2.下列数据类型,不能用于switch语句的是()。A.doubleB.byteC.short

D.char3.下列代码段运行结果为()。intnum=22;if(num%2==0){System.out.println("num"+num+"is偶数");}else{System.out.println("num"+num+"i

s奇数");}A.22B.2C."num22is偶数"D."num22is奇数"4.下列代码段,m的值为()会输出“default”。publicclassTest1{publicstaticvoidmain(Stringargs[]){intm;switch(m){case0

:System.out.println("case0");break;case1:System.out.println("case1");break;case2:break;default:System.out.println("default");}}}A.0B.1C.2D.35.下列

代码段,x处于()范围时将打印字符串"second"if(x>0){System.out.println("first");}elseif(x>-3){System.out.println("second");}else{System.out.println("third");}A.x>0B.

x>-3C.x<=-3D.x<=0&&x>-36.下列代码段,n的值为()时将打印字符串"third"。if(n>5){System.out.println("first");}elseif(n<=0){System.out.print

ln("second");}else{System.out.println("third");}A.20B.0C.-5D.17.下列控制语句不能实现循环操作的是()。A.forB.switch-caseC.whileD.do-while

8.下列语句可以完全中断循环逻辑的是()。A.whileB.switchC.breakD.continue9.下列循环语句实现先执行后判断循环条件的是()。A.whileB.do-whileC.forD.

switch-case10.下列循环语句实现先判断后执行循环条件的是()。A.whileB.do-whileC.forD.if11.下列代码段,执行结果为()。intn;for(n=2;n<=7;n++){System.out.print(n);}A.代码执行成功

,输出结果为234567B.代码执行成功,输出结果为7C.代码执行成功,输出结果为8D.代码编译失败,没有结果输出12.下列代码段,执行结果为()。intn;for(n=7;n>=2;n--){System.out.println(n);

}A.代码执行成功,输出结果为7B.代码执行成功,输出结果共6行,每行分别为7,6,5,4,3,2C.代码执行成功,输出结果为765432D.代码编译失败,没有结果输出13.下列代码段,index的值为()的时候,结束循环。in

tsumVal=0;for(intindex=1;index<=10;index++){sumVal+=index;}System.out.println("最终的结果值为:"+sumVal);A.1B.10C.11D.0

14.下列代码段,程序结束时,显示的内容为()。for(inty=2;y<10;y++){if(y!=8)continue;System.out.println("现在的循环变量:"+y);}A.现在的循环变量:

6B.现在的循环变量:7C.现在的循环变量:8D.现在的循环变量:915.下列代码段,执行break语句的表达式m是(),可以显示出1到9的平方。for(inti=1;i<=9;i++){for(intj=i;j<=9;j

++){if(m)break;System.out.print(““+i+”*“+j+”=”+i*j);}System.out.printIn();}A.i=0B.j>iC.i=jD.i>j二、判断题16.在条件判断中使用的条

件可以是任意类型的变量或者表达式。(×)17.判断条件表达式的计算结果必须是Boolean类型的值。(√)18.使用do-while语句,循环体逻辑代码至少可以执行一次。(√)19.使用while语句,循环体逻辑代码至少可以执行一次。(×

)20.while语句执行的规则是“先判断再循环”,满足条件,进入循环体内执行。否则不执行循环体的内容。(√)21.do-while语句执行的规则是“先循环再判断”,即先执行循环体逻辑代码,再进行循环条件的判断。(√)22.break是中断打断的意思,在循环

语句中是中断一次执行,然后继续后续的循环。(×)23.Continue是继续的意思,在循环语句中是中断当前的循环,然后退出循环体。(×)24.在for语句中,必须设置循环条件,否则程序无法执行。(×)25.某些情况下,for语句中的各个语句都可以为空。(

√)第4章面向对象程序设计基础一、单选题1.面向对象语言的核心思想不包括()。A.封装性B.抽象性C.复用性D.继承性2.下列代码段,描述正确的是()。publicclassPhone{privatestringnam

e;privateintcount;privatefloatprice;publicPhone(Stringname,intcount,floatprice){this.name=name;......}..

....}A.publicclassPhone{定义了名为Phone的对象B.publicPhone(Stringname,intcount,floatprice)是一个构造函数C.privateint

count;声明了一个公有属性D.构造函数有六个入口参数3.类内部内容不包括()。A.属性信息B.外部类的私有方法调用C.方法声明D.构造方法声明4.下列代码段中,关于类的属性的描述,错误的是()。publicsta

ticfinalStringTitle=“春游活动”;A.Title属性被声明为公有访问的静态变量B.Title属性被声明为finalC.Title的初始值是“春游活动”D.Title的值可以变更为“秋游活动

”5.下列代码段中,关于类的属性的描述,错误的是()。privateinta_number;A.定义了int类型的a_number属性B.这个属性仅可在这个类内部访问C.这个属性即可在这个类内部访问,也可以被外部访问D.a_number属性为private私有属性6.下列关于构造函数的描

述,正确的是()。A.构造函数的命名没有规定B.构造函数没有返回值C.构造函数需要显示的调用D.构造函数的命名不能和类同名7.下列关于对象的描述,正确的是()。A.只有基于类、接口、数组等复杂结构声明的变量才可以称为对象B.可以同时声明多个对象,中间用点隔开C.对

象声明后,必须同时初始化D.如果要引用对象内部的某个属性,用对象名.属性名(参数)的方法实现8.下列方法名称中,符合Java编码CamelCase规则的是()。A.calcTotalFee()B.calc

Totalfee()C.PrintCheckout()D.PrintCheckOut()9.下列关于方法的描述,正确的是()。A.Java语言中,方法的返回值只能是boolean类型B.Java语言中,如果方法实现后不需要返回值,

则类型可以定义为voidC.Java语言中,方法可以在任意地方声明D.Java语言中,声明方法不能使用修饰符10.方法重载是指()。A.两个或两个以上的方法取相同的方法名,但形参的个数或类型不同B.两个以上的方法取相同的

名字和具有相同的参数个数,但形参的类型可以不同C.两个以上的方法名字不同,但形参的个数或类型相同D.两个以上的方法取相同的方法名,并且方法的返回类型相同11.下列()不是修饰符。A.staticB.finalC.abstractD.v

oid12.下列修饰符可以用来定义常量的是()。A.staticB.finalC.nativeD.abstract13.下列修饰符()修饰的变量称为静态变量,修饰的方法称为静态方法。A.synchronizedB.nativeC.staticD

.abstract14.下列修饰符()修饰的内容都是不可变的,对于被修饰的类是不可继承的。A.staticB.finalC.nativeD.abstract15.对于下列代码段,说法正确的是()。publicclassStudent{privateStringname;pri

vateintage;publicStudent(){this("李红",25);}publicStudent(StringcurName,intcurAge){this.name=curName;age=curAge;}publicvoidsetName

(Stringname){this.name=name;}@OverridepublicStringtoString(){returnthis.getName()+","+this.age;}………}A.name和age是两个构造方法的入口参数B.通过this.name调用了方法nameC

.通过this("李红",25)调用了构造方法D.通过age调用了方法age二、判断题16.一个类的内部会包含其他类中类似的特征和属性,可以考虑基于继承来借鉴这些属性和方法,但还是需要对于类进行重新定义和实现。(×)17.类是典型的体

现了面向对象的封装特性,可以隐藏类的内部实现,简化项目的复杂度。(√)18.面向对象的抽象性,可以从事物中抽象出本质特征信息,其中的状态数据可转化为类的行为。(×)19.类的属性的类型没有限制,可以使用简单数据类型,但不能使用类作为数据类

型。(×)20.类的方法的修饰符static是静态的,表示该方法不依赖于对象实例。(√)21.修饰符控制了方法的可见范围。(×)22.对象仅做声明,并未做初始化,其默认情况下的值为1。(×)23.在Java语言中,方法在类中声明,一个类中可以声明多个方法,方法之间是有前后顺

序关系的。(×)24.在Java语言中,方法的返回值的类型可以是任意的数据类型,但是不能是用户自定义类。(×)25.方法重载通过方法入口参数类型以及顺序相同,实现了多个具有方法名的方法。(×)26.static修饰的变量称作静态变量,可以被多次初始化。(×)27.如果将类设置为abstr

act,则此类既可以被继承使用,也可以直接创建对象。(×)28.synchronized主要是用在多线程环境下,用以保障代码块和方法的线程安全。(√)29.类内部的成员变量属性为了防止被修改和数值被覆盖,一般使用native修饰符进行修饰。(×)30.一个类的方法内部,可以使用“th

is.成员变量名”的格式引用成员变量名,this不能省略。(×)第5章面向对象语言高级特性一、单选题1.下列是有关子类继承父类构造函数的描述,正确的是()。A.创建子类的对象时,先调用子类自己的构造函数,然后调

用父类的构造函数B.子类无条件地继承父类不含参数的构造函数C.子类必须通过super关键字调用父类的构造函数D.子类可以继承父类的构造函数2.下列关于类的定义中,m001,m002为接口,comput

er,goods为类,继承代码中错误的是()。A.publicclasscomputerextendsgoods{...}B.publicclasscomputerextendsgoodsimplementsm001{...}C.publiccomputerextend

sm001{...}D.publicinterfacem001extendsm002{...}3.Java语言中,如果类C是类B的子类,类B是类A的子类,下列描述正确的是()。A.C不仅继承了B中的成员,同样也继承了A中的成员B.C只继承了B中的成员C.C只继承了A中的成

员D.C不能继承A或B中的成员4.关于下列代码说法正确的是()。publicclassA{publicvoiddoit(){}publicStringdoit(){return“a”;}publicdoubledoit(intx){return1.0;}}

A.无编译错误B.代码publicStringdoit(){行,出现编译错误C.代码publicdoubledoit(intx){行,出现编译错误D.代码return“a”;行,出现编译错误5.在Java语言中,下列关于方法覆盖的描述,错误

的是()。A.子类的方法名称与父类要保持一致B.子类的返回数据类型与父类要保持一致C.子类的参数信息与父类要保持一致D.父类中声明为private的方法,对于子类是可以访问的6.如果不允许一个类被其它类继承扩展,需要使用()关键字来修饰这个类。A.st

aticB.abstractC.finalD.protected7.下列关于Java语言中super关键字的说法正确的是()。A.super关键字是在子类中访问父类的方法和属性时使用B.super关键字可以应用于静态方法C.子类通过super关键字只能调用父类的方法,而不能调

用父类的属性D.子类通过super关键字只能调用父类的属性,而不能调用父类的方法8.内部类不可以声明在()。A.类的内部B.类的方法内部C.类的构造方法内部D.类的外部9.关于被私有访问控制符private修饰的成员变量,下

列说法正确的是()。A.可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类B.可以被两种类访问和引用:该类本身、该类的所有子类C.只能被该类自身所访问和修改D.只能被同一个包中的类访问10.下列()不是访问控制符。A.pu

blicB.privateC.staticD.protected11.访问控制符的作用是定义被声明内容的访问权限,这些内容不包括下列()。A.属性B.方法C.继承D.构造方法12.下列关于Java中类的说法不正确的是()。A.类体中有变量定义、构

造方法和成员方法的定义B.构造函数是类中的特殊方法C.类一定要声明为public的,才可以执行D.一个Java文件中可以有多个class定义13.下列()语句把方法声明为抽象的公共方法。A.publicabstractmethod();B.publicabstractvoidmet

hod();C.publicabstractvoidmethod(){}D.publicvoidmethod()extendsabstract;14.main方法是JavaApplication程序执行的入口点,关于main方法下列

()是合法的。A.publicstaticvoidmain()B.publicstaticvoidmain(String[]args)C.publicstaticintmain(String[]args)D.

publicvoidmain(Stringarg[])15.下列关于抽象类和接口的说法错误的是()。A.抽象类在Java语言中表示的是一种继承关系。B.在抽象类中可以没有抽象方法。C.接口中的方法都不能被实现。D.接口中的方法都必

须加上public关键字。16.在Java类中,如果一个类不能直接用来基于new创建对象,则可以使用()关键字来修饰类使其成为抽象类。A.staticB.abstractC.finalD.protected17.接口中定义的变量一般需要使用()方式

进行声明。A.privatestaticfinalIntegervar1=1;B.publicstaticfinalIntegervar1=1;C.Integervar1=1;D.staticIntegervar1=1;18.接口中定义的变量一般需要使用()方式进行声明。A.In

tegernum1=15;B.staticIntegernum1=15;C.publicstaticfinalIntegernum1=15;D.privatestaticfinalIntegernum1=15;19.Java语言中,单一文件里的关键字clas

simportpackage出现的顺序应为()。A.classpackageimportB.classimportpackageC.packageimportclassD.importpackagecl

ass20.下列代码中,()表示引入了当前包下面的所有的类。A.importstaticjava.lang.Math.abs;B.importorg.open.java.io;C.importorg.open.java.supurdemo.Anim

al;D.importorg.open.java.util*;二、判断题21.Java语言采用单重继承,一个类只能有一个直接父类。(√)22.父类被访问控制符声明为private的属性,子类也可以继承父

类的所有属性。(×)23.子类可以继承父类的构造方法。(×)24.子类在方法覆盖时,protected的方法可以在子类中被修改为默认。(×)25.super这个关键字是依赖于对象的,是静态的,可以在静态方法内进行使用。(×)26.super调用构造方法的代码可以出现在子类构造方法的任意一行。(

×)27.使用内部类,使得项目结构非常简单,是很好的Java编程方式。(×)28.在4种访问控制中,最宽松的访问控制级别是default。(×)29.使用private控制的内容即可以在当前类中访问,也可以被类外部的任何内容访问。(×)

30.抽象类内必须最少包含一个抽象方法。(×)31.接口的属性在声明时如果不写入任何修饰符限制,则系统将自动添加public和final这两个修饰符。(×)32.接口可以继承类,也可以继承接口。(×)

33.对于下列代码packagemywork.open.java.packages;会有名为\org\open\java\的文件夹与之对应。(×)34.包名可以设置多个,中间通过“;”进行分隔。(×)35.J

ava语言中包的一个作用是避免重名类的冲突,方便类的管理和维护。(√)第6章Java异常处理机制一、单选题1.Java语言中用来抛出异常的关键字是()。A.tryB.catchC.throwD.finally2.Java语言中,一定会执行完的

代码是()。A.tryB.catchC.finallyD.throw3.关于异常,下列说法正确的是()。A.异常是一种对象B.一旦程序运行,异常将被创建C.为了保证程序运行速度,要尽量避免异常控制D.Java语言中通

过异常处理机制解决程序运行过程中发生的某些异常4.所有的异常类皆继承于下列的()类。A.java.lang.ThrowableB.java.lang.ExceptionC.java.lang.ErrorD.java.io.Exception

5.Java语言中,下列()子句是异常发生的位置。A.try{…}B.catch{…}C.finally{…}D.main{…}6.Java语言中,方法声明中用来声明异常的关键字是()。A.throwB.catchC.finallyD.throws7.在Java

的异常处理模型中,能单独和finally语句一起使用的是()。A.tryB.catchC.throwD.throws8.下列代码段运行时,会产生()类型的异常。Strings=null;s.concat("abc");A.ArithmeticExceptionB.Nu

llPointerExceptionC.IOExceptionD.ClassNotFoundException9.下列关于异常的说法正确的是()。A.抛出异常是只程序运行中出现异常情况时发生中断的现象B.异常声

明可以声明多个异常,中间用“,”分开C.使用关键字catch声明可能发生的异常D.抛出异常是异常处理的起点10.下列关于catch语句块异常捕获范围的说法正确的是()。A.可以捕获各种异常B.只能捕获try语句块抛出的异常C.只能捕获非控制异常D.只能捕获finally

语句块抛出的异常11.关于下列代码段,说法正确的是()。publicclassFoo{publicintadd(inta,intb){returna+b;}publicstaticvoidmain(String[]args){Foofoo=null;System.out.pr

intln(foo.add(10,20));}}A.编译错误B.正常运行,但无结果输出C.30D.运行时抛出NullPointerException12.对于下列代码,()情况不能使第7行的代码执行。1//somecodehere2try{3//someco

dehere4}catch(SomeExceptionse){5//somecodehere6}finally{7//somecodehere8}A.第1行抛出异常B.第5行抛出异常C.第3行代码成功执行D.无

论如何第7行都会运行13.对于try{……}catch子句的排列方式,下列正确的是()。A.子类异常在前,父类异常在后B.父类异常在前,子类异常在后C.只能是子类异常D.父类异常和子类异常不能同时出现14.如果抛出在继承中的异常,下列说法正确的是()。A.父类中方法抛出三个异常,子类可

以抛出四个异常B.父类中方法抛出两个异常,子类可以抛出两个异常C.父类抛出异常IOException,子类不是必须抛出异常IOExceptionD.父类与子类抛出异常是没有关系的15.关于基于异常ID的方式描述异常类型,下列说法正确的是

()。A.每个异常只能通过定义一个异常类来描述B.通过异常类的不同ID来区分不同的异常C.异常类别一般不超过20个D.开发工作量大,有大量冗余代码二、判断题16.如果控制台输出下列内容,说明出现异常的代码在

HouseDemo.java代码中的第18行。(√)Exceptioninthread"main"java.lang.NullPointerExceptionatorg.lang.book.chapter6.HouseDemo.main(HouseDemo.java

:18)17.Java编译器会强制要求开发者对受控异常进行处理,否则编译将无法通过。(√)18.SQLException是非受控异常。(×)19.FileNotFoundException是非受控异常。(×)20.Java的异常处

理工作机制是首先捕获到该异常,然后抛出异常,最后处理异常。(×)21.对于下列代码段,如果m的值为“hello”则可以正常处理字符串。(×)publicstaticintparseInt(Stringm)throwsNumberFormatException{returnparseIn

t(m,10);}22.对于代码throwe,e是一个异常对象。(√)23.使用异常处理时,如果逻辑代码中抛出的异常属于非受控异常,这种异常一定要放在try-catch语句中。(×)24.异常栈的缺点是不能提供异常点在代码中的具体位置,还需要手动寻找。(×)2

5.进行异常处理时,try语句块执行的效率高,要把所有代码都放在try语句块内部。(×)26.finally语句块可以捕获异常,也可以处理异常。(×)27.自定义异常类如果直接或者间接继承RuntimeException类,这种自定义异常属于受控异常。

(×)28.Java中的异常是线程独立的。(√)29.如果try语句块下的多个catch异常类型存在父子关系,应该将父类异常放在前面,子类异常放在后面。以保证每个catch捕获块都有存在的意义。(×)30.通过异常ID来区分不同的异常是混合异常类型的主要特点。(×)第7章

多线程编程一、单选题1.编写线程类,需要继承的父类是()。A.ObjectB.RunnableC.ThreadD.Callable2.编写线程类,需要实现的接口是()。A.RunnableB.ThrowableC.ClonableD.Serializ

able3.编写线程类,能够返回线程执行结果的接口是()。A.RunnableB.CallableC.ClonableD.Serializable4.Runnable接口中定义的方法是()。A.start()B.stop()C.resume(

)D.run()5.下列说法中错误的是()。A.一个线程是一个Thread类的实例B.线程从实现Runnable接口实例对象的run()方法开始执行C.线程操作的数据来自Runnable实例D.新建的线程调用start()方法就能立即进入运行状态6.线程的生命周期,不包括()。A.新

建B.运行C.停止D.阻塞7.一个线程对象调用了()方法之后,进入就绪状态。A.run()B.start()C.sleep()D.suspend()8.一个处于运行状态的线程不可能转变为()。A.新建状态B.阻塞状态C.就绪状态D.死亡状态9.关于Callable接口提供的call()

方法,下列()是错误的。A.call()方法可以有返回值B.call()方法可以声明抛出异常C.call()方法返回值是同步方法D.call()方法返回值是异步方式10.关于线程的创建,下列()不是可选的方式。A.继承Thread类创建

线程B.调用start()创建线程C.实现Runnable接口创建线程D.实现Callable接口创建线程11.Java中线程安全问题是通过关键字()解决的。A.finallyB.wait()C.synchronizedD.notify()12.Ja

va中保证变量实现线程安全是通过关键字()解决的。A.finallyB.synchronizedC.volatileD.throw13.实现代码线程安全的方式是()。A.给方法加synchronized关键字B.将变量声明为final类型C.修改方法为static类型D.继承R

unnable接口14.某进程/线程p1已经占有资源o1,申请资源o2,,但o2被进程/线程p2占有并不释放,出现阻塞现象。这属于下列死锁产生必要条件中的()。A.资源互斥条件B.资源不可抢占条件C.占有且申请资源条件D.循环等待15.

关于生产者和消费者问题,下列描述错误的是()。A.生产者和消费者在同一个时间共用同一个存储空间B.生产者向缓冲区内存放数据C.消费者从缓冲区内取出数据D.可以先消费数据再生产数据二、判断题16.进程是具有一定独立功能的程序的一次运行。进程有独立的地址空间。(√)17.进程

与进程之间的系统资源是彼此独立的。(×)18.线程有独立的地址空间。一个线程死掉不会影响整个进程。(×)19.线程有自己的堆栈和局部变量,线程也有独立的地址空间。(×)20.一个程序至少有一个进程,一个进程可以没有线程,也可以有一个或多个线程。(×)21.多个进程是共享内存,因此多进程

极大地提高了程序的运行效率。(×)22.一个线程可以创建和撤销另一个进程。(×)23.Runnable是Java语言中提供的基于接口的线程定义方式。(√)24.与通过Callable接口创建线程相比,通过Runnable创建线程可以有返回值。

(×)25.多线程的运行是并发的,可以做到完全彼此独立,不必担心因为共享资源导致程序的运行结果不正确。(×)26.如果调用通过synchronized关键字修饰的静态方法,可以锁住整个类。(√)27.我们日常生活中使用浏览器打开多个网页,就是

多线程的具体应用。(√)28.彼此独立且耗时较多的操作,尽量不要使用多线程技术实现。(×)29.发生死锁时,只要耐心等待,系统会自行解决死锁问题。(×)30.Java多线程运行环境下,多个线程可以独立

运行,不会引起了并发和线程安全问题。(×)31.在操作系统层面,多进程产生的死锁,可能引起整个系统的崩溃。(√)32.池化要解决的问题是创建和销毁对象的过程时间消耗比较大。(√)33.newCachedThreadPool()用于创建

一个固定大小的线程池。(×)34.newFixedThreadPool(intsize)用于创建一个可缓存的线程池。(×)35.newSingleThreadExecutor()用于创建单线程化的线程池。(√)第8章综合案例—

—系统分析与设计实现一、单选题1.在软件项目开发过程中,下列()过程不会涉及到。A.需求分析B.架构设计C.市场推广D.代码开发2.下列()技术不属于前端开发技术。A.jQueryB.BootstrapC.ReactjsD.MySQL3.下列()技术不属于数据存储技术的范

畴。A.OracleB.MySQLC.PostgreSQLD.IntelliJIDEA4.下列()技术不是项目构建工具。A.ThymeleafB.AntC.MavenD.Gradle5.下列()技术不属于Web页面开发的技术范畴。A.HTMLB.CSSC.JavaScriptD.Derby

6.在前端开发框架中,下列()不属于JavaScript框架。A.ThymelafB.AngularC.jQueryD.Vue.js7.下列()技术不属于Web应用服务器。A.TomcatB.JettyC.UndertowD.DB28.下列()数据库属

于开源免费的。A.OracleB.DB2C.SQLServerD.MySQL9.下列()框架是基于Java语言构建的开发框架。A.VuejsB.SpringC.AngularD.Bootstrap10.在实际Web项目开发中,可选的技术项是()。A.HTMLB.Web服务器C.CS

SD.Vuejs二、判断题11.Web页面技术主要是由三种技术组成:HTML、Vuejs和JavaScript。(×)12.目前主流的前端技术方案有:JQuery、Bootstrap、Vuejs和Oracle。(×)13.目前主要的存储方案都是使用Oracle、SQLServe

r、DB2、MySQL等关系型数据库。(×)14.Maven目的之一是解决Java项目中使用Ant所带来的一些问题。(√)15.NoSQL也是遵守SQL规则的数据库。(×)16.NoSQL中的图数据库主要是利用键值进行快速地在数据系统中命中所需的数据。(×)17.NoS

QL中的列存储数据库使用灵活的图形来存储数据。(×)18.后端技术方案主要是设计产品界面。(×)19.对于软件工程师来说,会代码编写是最重要的,不需要了解技术方案和技术框架、数据库等诸多方面的技能和知识。(×)20.Web服务器一般指网站服务器,对于来自浏览器的H

TML请求进行响应。(×)

小喜鸽
小喜鸽
好文档,与你分享
  • 文档 161806
  • 被下载 27261
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?