雨课堂学堂在线学堂云Java程序设计(哈尔滨金融学院)单元测试考核答案_第1页
雨课堂学堂在线学堂云Java程序设计(哈尔滨金融学院)单元测试考核答案_第2页
雨课堂学堂在线学堂云Java程序设计(哈尔滨金融学院)单元测试考核答案_第3页
雨课堂学堂在线学堂云Java程序设计(哈尔滨金融学院)单元测试考核答案_第4页
雨课堂学堂在线学堂云Java程序设计(哈尔滨金融学院)单元测试考核答案_第5页
已阅读5页,还剩58页未读 继续免费阅读

下载本文档

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

文档简介

第1题如下Java程序对应的程序文件名为____。publicclassHelloWorld{

publicstaticvoidmain(Stringargs[]){

System.out.println(“helloworld!);

}}正确答案::HelloWorld.java第2题计算机语言可划分为机器语言、汇编语言和高级语言,其中Java语言属于一种____。正确答案::高级语言第3题目前Java平台有三个版本,分别为JavaSE、JavaEE和____。正确答案::JavaME第4题JDK中,存放可执行程序的目录是____。正确答案::bin第5题Java源文件只能有一个____类,可以包含多个其他类。正确答案::public第6题Java通过Java虚拟机实现____。正确答案::跨平台特性第7题JRE指Java的____。正确答案::运行环境第8题面向对象程序设计是一种程序设计方法,也是一种程序设计规范。它的基本思想是使用抽象、封装、____、多态等基本概念来进行程序设计。正确答案::继承第9题下列哪种类型文件可以在Java虚拟机中运行?()A.javaB.jreC.exeD.class第10题Java属于()。A面向操作系统的语言B面向对象语言C面向过程的语言D面向机器的语言第11题计算机能够直接执行的语言是()。AJava语言B机器语言C汇编语言D高级语言第12题Java程序的执行过程中用到一套JDK工具,其中javac.exe是指()。AJava文档生成器BJava解释器CJava编译器DJava类分解器第13题下列说法不正确的是()。A一个Java源程序经过编译后,得到的文件扩展名一定是classB一个Java源程序编译通过后,得到的结果文件数也只有一个C一个Java源程序编译通过后,得到的结果文件可能有多个D一个Java源程序编译通过后,不一定能用Java解释器执行第14题下列选项中,()是Java应用程序主类中正确的main方法。Apublicvoidmain(Stringargs[])Bstaticvoidmain(Stringargs[])CpublicstaticvoidMain(Stringargs[])Dpublicstaticvoidmain(Stringargs[])第15题Java编译程序的文件名是()。Ajava.exeBjavadoc.exeCjavac.exeDjar.exe第16题下列说法中正确的是()。AJava语言是不区分大小写的BJava语言以函数为程序的基本单位CJava源文件由若干个书写形式互相独立的类组成DJava源文件中只能由一个类。第17题Java应用程序执行入口的main()方法返回类型是()。AintBvoidCbooleanDstatic第18题某Java程序的类定义如下:publicclassMyClassextendsBaseClass{}该Java源文件在存盘时的源文件名应为()。Amyclass.javaBMyClass.javaCMYCLASS.javaDMyClass.class第19题编译一个定义了三个类和五个方法的Java源程序文件,总共会产生()个字节码文件,这些字节码文件的扩展名为()。A3,以class为扩展名B3,以java为扩展名C5,以class为扩展名D8,以java为扩展名第20题在DOS命令下,如果源程序HelloWorld.java在当前目录下,那么编译该程序的命令是()。AjavaHelloWorldBjavaHelloWorld.javaCjavacHelloWorldDjavacHelloWorld.java第21题JDK工具中,java.exe是指()。AJava文档生成器BJava解释器CJava编译器DJava类分解器第22题编译Java源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为()。AjavaBclassChtmlDexe第23题Java源程序的文件名一定要与文件中某个类的名称一致。()第24题Java语言采用面向对象的思想编程,具有跨平台、分布式、多线程等优点。()第25题Java语言中的标识符和关键字都是区分大小写的,如果把声明类的class写成Class或CLASS,编译会出错。()第26题Java源程序编写好之后,以文件的形式保存在硬盘或U盘中,源文件的名字可以随便取,不需要与程序的主类名一致。()第27题Java虚拟机可以在Windows系列、MACOS、Linux等操作系统下执行Java字节码程序。()第28题在JDK命令行开发工具中,用编译程序javac.exe编译生成的文件是二进制可执行文件。()第29题javac.exe是Java编译器,用来将Java源程序编译成Java字节码的程序。字节码文件名和源文件名相同,扩展名是.class。()第1题Java中的程序代码都必须在一个类中定义,类使用____关键字来定义。正确答案::class第2题布尔常量即布尔类型的两个值,分别是true和____。正确答案::false第3题Java中的注释可分为三种类型,分别是单行注释、多行注释、____。正确答案::文档注释第4题Java中的变量可分为两种数据类型,分别是基本数据类型和____。正确答案::引用数据类型第5题在Java中,byte类型数据占1个字节,short类型数据占2个字节,int类型数据占____个字节,long类型数据占8个字节。正确答案::4第6题在逻辑运算符中,运算符&和____用于表示逻辑与,|和||表示逻辑或。正确答案::&&第7题若x=2,则表达式(x++)/3的值是____。正确答案::0第8题若inta=2;a+=3;执行后,变量a的值为____。正确答案::5第9题若int[]a={12,45,34,46,23};,则a[2]=____。正确答案::34第10题若inta[3][2]={{123,345},{34,56},{34,56}},则a[2][1]=____。正确答案::56第11题dowhile语句能保证____至少被执行1次。正确答案::循环体第12题if语句中的表达式的值必须是____类型。正确答案::布尔第13题Java语句的循环语句实现循环结构的操作,循环语句由____和循环体两部分构成,循环体是要被反复执行的语句,循环条件决定循环的开始、重复执行以及结束循环。正确答案::循环条件第14题break、continue和break可以有条件或无条件地改变程序的____。正确答案::执行顺序第15题while语句在循环一开始就计算循环条件表达式,若表达式的值为____,则循环体一次也不会执行。正确答案::false第16题int[]a={12,45};a[0]=12;a[1]=____;正确答案::45第17题Stringa={"12","34","顺水","23"}的长度是____。正确答案::4第18题inta[][]=new____[2][2];正确答案::int第19题StringC={"123","23","a你不好","","他人同意"}的长度是____。正确答案::5第20题数组String[23][3]长度是____。正确答案::69第21题以下关于变量的说法错误的是?()A变量名必须是一个有效的标识符B变量在定义时可以没有初始值C变量一旦被定义,在程序中的任何位置都可以被访问D在程序中,可以将一个byte类型的值赋给一个int类型的变量,不需要特殊声明第22题假设intx=2,三元表达式x>0?x+1:5的运行结果是以下哪一个?()A0B2C3D5第23题下面对continue的用法叙述正确的是()。A跳过循环体下面的语句,继续下次循环错误B跳出循环体C下次循环前不需要判断终止条件D以上说法都不对第24题执行语句for(inti=1;i++<4;);后变量i的值是()。A3B4C5D不定第25题以下的Java语句描述中,正确的是()。Acontinue语句的作用是结束整个循环的执行B只能在循环体内和switch语句体内使用break语句C在循环体内使用break语句或continue语句的作用相同D从多层循环嵌套中退出时,只能使用goto语句第26题下面程序段的运行结果是()。intn=0;

while(n++<=2);System.out.println(n);A2B3C4D有语法错第27题对Java嵌套语句描述错误的是()。Afor语句可以嵌套if语句Bif语句可以嵌套循环语句Cwhile语句可以嵌套for语句D循环语句中可以用goto语句第28题运行以下程序段,其正确的运行结果是()。intx=-1;

do{x=x*x;

}

while(!x);A是死循环B循环执行二次

C循环执行一次

D有语法错误第29题若有如下语句intx=3;do{

System.out.println(x);x-=2;}while(--x>0);则上面程序段运行的结果为()A输出的是1B输出的是1和-2C输出的是3D是死循环第30题设有程序段:

intk=10;

while(k==0)k=k-1;

这下面描述中正确的是()Awhile循环执行10次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次第31题下面语句执行结果为()。publicstaticvoidmain(String[]args){

inti=4;

if(i<0){

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

System.out.println(i);}A0B1C2D4

第32题下面哪种写法可以实现访问数组arr的第1个元素?()Aarr[0]Barr(0)Carr[1]Darr(1)第33题以下哪个选项可以正确创建一个长度为3的二维数组?()Anewint[2][3];Bnewint[3][];Cnewint[][3];D以上答案皆不对第34题请先阅读下面的代码。

intx=1;inty=2;if(x%2==0){y++;}else{y--;}System.out.println("y="+y);上面一段程序运行结束时,变量y的值为()A1B2C3Dswitch语句第35题int[]s=newint[3];s数组中元素最大的下标值为()。A0B1C2D3第36题inta[]={45,4,67,23,657,787,34,52,56};数组中a[5]的值为()。A23B45C657D787第37题inta[]={45,4,67,23,657,787,34,52,56}数组中,a.length的值为()。A9B8C7D10第38题inta[]=___

int[4];空格中正确的填空为()。Anew

BtryCthisDthrows第39题inta[]={13,45};intb[]=a;其中b.length的值为()。A3B4C2D1第40题定义一个整型数组,但未赋初值,系统会自动赋值,其值为()。A0或nullB0C任何值Dnull第41题int[]a=newint[__];a[0]=1;a[1]=4;a[2]=2;空格中最小能够填的数据为()。A2B4C3D5第42题阅读后面的程序:该程序运行的结果为()。

inta[]={13,45,67};intb[]=a;b[1]=23;for(inti=0;i<b.length;i++)System.out.print(b[i]+””);A000

B132367C134567

D0230第43题能正确创建一个2行5列的int型数组的语句是()。Anewinteger[2][5];Bnewinteger[5][2];Cnewint[2][5];Dnewint[1][4];第44题Java语言不区分大小写。()第45题continue语句只用于循环语句中,它的作用是跳出循环。()第46题-5%3的运算结果是2。()第47题Java支持两种分支语句,分别是If语句和switch语句。()第48题选择结构是根据表达式和变量的不同状态,选择不同的执行分支进行运行。()第49题分支语句提供了这样一种控制机制,它根据条件使得程序的执行可以跳过某些语句不执行,而转去执行特定的语句。()第50题语法格式中的“布尔表达式”为关系表达式或逻辑表达式,其值为布尔类型。()第51题else总是与离它最近的if想匹配,可以通过使用大括号{}来改变if~else的配对关系。()第52题Java语言提供3种循环语句,while语句、do-while语句和for语句。()第53题continue语句只用于循环语句中,它起到终止本次循环的作用。()第54题break语句在switch选择结构是必需的。()第55题do…while循环中循环体至少执行一次。()第56题break语句只用于循环语句中,它起到终止本次循环的作用。()第57题break语句可以用在循环和switch语句中。()第58题continue语句用在循环结构中,表示继续执行下一次循环。()第59题定义完数组后,我们可以根据实际需要,再动态调整数组大小。()第60题数组、类和接口都是引用数据类型。()第61题intx=9;if(x>8andx<10)System.out.println("true");以上语句运行的结果是显示true。()第62题Stringstr;System.out.println(str.length);以上语句运行的结果是显示0。()第63题floatx=26f;inty=26;intz=x/y;以上语句能正常编译和运行。()第64题int[]a={1,2,3,4};System.out.println(a.length);以上语句运行的结果是显示4。()类与对象练习题第1题定义在类中的变量被称为____,定义在方法中的变量被称为局部变量。正确答案::成员变量第2题使用对象前需要声明对象和____两个步骤。正确答案::创建对象第3题____是一个特殊的方法,用于初始化一个类的对象。正确答案::构造方法第4题声明为static的方法不能访问____成员。正确答案::非静态第5题如果需要访问私有数据成员,则通过____和getter方法实现。正确答案::setter第6题Java中使用关键字____来创建类的实例对象。正确答案::new第7题被static关键字修饰的成员变量被称为____,它可以被该类所有的实例对象共享。正确答案::类变量第8题一个类如果实现一个接口,那么它需要实现接口中定义的全部方法,否则该类就必须定义成____。正确答案::抽象类第9题Java通过关键字____可以防止类被继承。正确答案::final第10题____是Java中实现多重继承的唯一途径。正确答案::接口第11题接口中定义的数据成员的默认修饰符是publicstaticfinal,接口中定义的成员方法默认修饰符是____。正确答案::publicabstract第12题引用本类中的数据成员和成员方法时,使用____关键字。正确答案::this第13题Java语言提供了两种实现多态的机制,分别是重载和____。正确答案::覆盖第14题在父类中使用public定义的方法,则子类重写该方法的访问控制权限必须是____。正确答案::public第15题Java语言中子类继承父类时使用extends关键字,而实现接口时采用____关键字。正确答案::implements第16题下列哪个说法是不正确的?()A局部变量在使用之前无须初始化,因为系统会为该变量提供默认值B类成员变量由系统自动进行初始化C方法的参数的作用域就是所在的方法D语句块中定义的变量,当语句块执行完时,该变量就消亡了第17题下列关于构造方法的描述中错误的是()。AJava语言规定构造方法没有返回值,但不用void声明BJava语言规定构造方法名与类名必须相同CJava语言规定构造方法不可以重载DJava语言规定构造方法需要使用new关键字调用第18题下列哪一项不是Java的new操作符的作用?()A为对象分配内存空间B调用类的构造方法创建对象C返回对象的引用D产生一个新的类型第19题访问控制修饰符作用范围由大到小是()。Aprivate-protected-default-publicBpublic-protected-default-privateCprivate-default-protected-publicDpublic-default-protected-private第20题下面关于关键字abstract的描述错误的是()。A关键字abstract可以修饰类或方法Bfinal类的方法都不能是abstract,因为final类不能有子类Cabstract类不能被实例化Dabstract类的子类必须实现其超类的所有abstract方法第21题在声明类时,声明一个类不能再被继承的关键字是()。AunextendsBabstractCfinalDstatic第22题编译定义了2个类和5个方法的Java源文件后,会产生()字节码文件。A2B3C1D5第23题关键字super的作用是()。A访问父类被隐藏的数据成员B调用父类中被重载的方法C调用父类的构造方法D以上选项均是第24题下列说法不正确的是()。AJava语言中允许一个类实现多个接口BJava语言中允许一个类同时继承多个类CJava语言中允许一个类同时继承一个类并实现多个接口DJava语言中允许一个接口继承多个接口第25题类中的方法被下面哪个修饰符修饰时,该方法只能在本类被使用?()ApublicBprotectedCprivateDdefault第26题接口的抽象方法都具有()修饰的特性。Aprivate,finalBpublic,abstractCpublic,finalDprotected,abstract第27题下列关于方法重载正确的描述是()。A重载方法的返回值类型必须不同B重载方法的参数形式不同,即:或者是参数的个数不同,或者是参数的类型不同C重载方法的参数名称必须不同D重载方法的访问修饰符不同第28题以下关于类的描述正确的是()。A只要没有定义不带参数的构造方法,JVM都会为类生成一个默认的构造方法B局部变量的作用范围仅仅在定义它的方法内,或者是定义它的语句块中C使用其他类的方法仅仅需要引用方法的名字即可D在类中定义的变量称为类的成员变量,在其他类中可以直接使用第29题下列关于继承的描述正确的是()。A子类能继承父类的非私有方法和属性B子类能继承父类所有的方法和属性C子类只能继承父类公有方法和属性D子类不能继承父类的protected方法和属性第30题下列说法哪个是正确的?()A子类不能定义和父类同名同参数的方法B子类只能继承父类的方法,而不能重载C重载就是一个类中有多个同名但有不同形参(参数类型或参数个数不同)的方法D子类只能覆盖父类的方法,而不能继承成员变量第31题以下程序段的输出结果为()。interfaceB{intk=1;}publicclassAimplementsB{publicstaticvoidmain(Stringargs[]){inti;Aa=newA();i=a.k;System.out.println("i="+i);}}Ai=0B程序有编译错误Ci=1Di=null第32题以下关于被访问控制符protected修饰的成员变量的描述正确的是()。A只能被该类自身所访问B只能被该类本身和该类的所有子类所访问C可以被三种类所引用:该类自身、与它在同一个包中的其他类、在其他包中的该类的子类D只能被同一包中的类访问第33题分析程序的输出结果是()。classB{intk;publicB(){}publicB(intk){this.k=k;}}publicclassAextendsB{publicA(){k=k+1;}publicstaticvoidmain(Stringargs[]){Aa=newA();System.out.println(a.k);}}A输出结果为1B输出结果为0C输出结果为2D编译出错第34题下列关于类方法的描述正确的是()。A在类方法中可用this来调用本类的类方法B在类方法中可直接调用本类的类方法C在类方法中只能调用本类的类方法D在类方法中绝对不能调用实例方法第35题下列关于静态方法的描述错误的是()。A静态方法并不操作调用它的对象,所以不能用静态方法来访问实例属性B可以使用“类名.方法名”来调用静态方法C可以使用“对象.方法名”来调用静态方法D静态方法需要先创建实例之后,才可以应用第36题已定义接口X和Y,下列语句错误的是()。ApublicinterfaceZextendsX,Y{voidaMethod();}BclassZimplementsX,Y{}CinterfaceZextendsX,Y{voidaMethod(){};}DinterfaceZextendsX{voidaMethod();}第37题已定义接口B和C,以下语句正确的是()。AinterfaceAextendsB,C

BinterfaceAimplementsB,C

CclassAextendsB,CDclassAimplementsB,implementsB

第38题下列代码的运行结果是()。publicclassA{publicintvalue(){staticinti=0;i++;returni;}publicstaticvoidmain(Stringargs[]){At=newA();System.out.println(t.value());}}A输出结果为1B输出结果为0C输出结果为2D编译出错第39题类A是类B的子类,类B是类C的子类,3个类都定义了方法method,下列哪个语句()可以在类A的方法中调用类C的method方法。Amethod();Bsuper.method();CnewC().method();DnewA().method();第40题子类调用父类的构造方法时,super(参数列表)语句应该位于?()A子类构造方法中的第一句B子类中任意位置C子类类体中第一句D子类构造方法中的任意位置第41题定义Student类的语句如下:classStudent{Stringname,department;intscore;publicStudent(Stringname){=name;}publicStudent(Stringname,Stringdepartment){this(name);this.department=department;}publicStudent(Stringname,Stringdepartment,intscore){

;//调用第二个构造方法

this.score=score;}}要在第三个构造方法中调用第二个构造方法,空白处的代码应该是()。AStudent(name,department);Bthis(Stringname,Stringdepartment);Cthis(name,department);DStudent(Stringname,Stringdepartment);第42题关于final关键字的说法错误的是?()A修饰的成员变量为常量,它只能被赋值一次,其值不能修改,并且在声明时必须初始化B如果修饰类,则该类不能被继承C如果修饰方法,则该方法不能被其子类覆盖D修饰局部变量时,其值可多次修改第43题下列关于package和import语句的描述中,错误的是?()A一个源文件中package语句可以出现一次B一个源文件中import语句可以出现一次或多次C一个源文件中import语句必须出现在第一行(不包括注释)D一个源文件中package语句必须出现在第一行(不包括注释)第44题Java语言接口的修饰符可以为()。AstaticBprotectedCfinalDabstract第45题关于下面的代码,以下哪个结论是正确的?()publicclassTest{publicTest(){System.out.print("构造方法");}publicvoidTest(){System.out.print("成员方法");}publicstaticvoidmain(Stringargs[]){Testt=newTest();t.Test();}}A程序无法通过编译B程序可以通过编译并正常运行,运行结果为输出:构造方法成员方法C程序通过编译但运行出错D程序可以通过编译并正常运行,运行结果为输出:构造方法第46题下列哪一项不是构造方法的特点?()A构造方法名必须与类同名B构造方法不具有任何返回类型C任何一个类都含有构造方法D构造方法的访问控制修饰符只能是public第47题在以下什么情况下,构造方法会被调用?()A类定义时B创建对象时C调用对象方法时D使用对象的变量时第48题以下程序的运行结果为()。classTest{intnum;publicstaticvoidmain(Stringargs[]){Testx=newTest();if(x==null)System.out.println("Noexisting");else

System.out.println(x.num);}}A0BnullCNoexistingD编译出错第49题以下程序的运行结果为()。classTest{intnum;publicstaticvoidmain(Stringargs[]){Testx;if(x==null)System.out.println("Noexisting");else

System.out.println(x.num);}}A0BnullCNoexistingD编译出错第50题给定如下代码:classUserInfo{StringuserName;intuserNumber;publicUserInfo(StringuserName){this.userName=userName;}publicUserInfo(StringuserName,intuserNumber){

;this.userNumber=userNumber;}}空白处应填写的代码应该是()。AUserInfo(userName,userNumber);Bthis(userName,userNumber);CUserInfo(userName);Dthis(userName);第51题下述哪一组方法是方法重载的正确写法?()AintsumValue(inta,intb){returna+b;}

intsumValue(inta,intb){returna;}BintsumValue(inta,intb){returna+b;}floatsumValue(inta,intb){return(float)(a+b);}CintsumValue(inta,intb){returna+b;}

floatsumValue(floata,floatb){returna+b;}

DintsumValue(inta,intb){returna+b;}

intsumValue(intx,inty){returnx+y;}第52题下面哪一个是正确的接口?()AinterfaceA{voidshow(){

}}BabstractinterfaceA{abstractvoidshow(){

}}

CabstractinterfaceA{

show();}DinterfaceAextendsM1,M2{//假定接口M1,M2已定义voidshow();}

第53题以下关于类和对象关系的描述中,正确的是()。A同一个类只能创建一个对象,如果创建多个对象,则编译出错B同一个类可以创建多个对象,但多个对象共享同一个内存空间C同一个类只能创建一个对象,因为类是同一类事物的抽象描述D同一个类可以创建多个对象,这些对象被分配不同的内存空间第54题一个类中定义了有参的构造方法,则Java系统就不提供默认的构造方法。()第55题方法覆盖要求覆盖的方法和被覆盖的方法必须具有相同的访问权限。()第56题子类可以继承父类的所有的成员变量和成员方法。()第57题Java类中不能定义同名的两个成员方法。()第58题final修饰的类可以被继承。()第59题每个类都只能有一个构造方法。()第60题static修饰的类变量为类的所有对象共享。()第61题static修饰的类方法既可被对象调用,也可能过类名调用。()第62题protected修饰的成员可以被三种类所引用,该类本身、与它在同一个包中的其他类、在其他包中该类的子类。()第63题成员变量可无须初始化,由系统自动进行初始化。()第64题关键字super在子类对象中指代其父类对象的引用。()第65题在Java中关键字this表示当前对象,也就是正在调用类中方法的对象。()第66题类由两部分组成,一部分是变量的定义,一部分是方法的定义。()第67题在定义类时,类的构造方法、成员变量和成员方法的定义顺序在语法上有严格的限制。()第68题在一个Java源文件中,可以包含多个类,并且在各个类之前,都可以用public修饰符。()第69题package语句只能位于Java源程序除注释之外的第一行位置。()第70题接口可继承多个接口,创建一个类也可以实现多个接口。()继承与接口练习题第1题在一个类中,除了可以定义属性、方法,还可以定义类,这样的类被称为____。

正确答案::内部类第2题在Java语言中,所有的类都直接或间接继承自____类。正确答案::Object第3题对象的向上转型是Java系统自动完成的,但向下转型则需要进行____。正确答案::强制转换第4题匿名内部类不能有构造方法,也不能包含任何____、静态方法和静态内部类。正确答案::接口第5题定义一个类而没有给出extends关键字及父类名时,默认这个类是____子类。正确答案::Object第6题若在子类构造方法中调用父类的无参数构造方法,使用的语句是____。正确答案::super()第7题instanceof是Java提供的运算符,用于判断前面的对象是否是后面的____(或者其子类、实现类)的实例。正确答案::类第8题匿名内部类可以为____、抽象类甚至普通类创建实例。正确答案::接口第9题方法的参数共有两种类型:基本类型和____。如果方法的参数是引用类型时,传递对象实际上是传递对象的引用。如果方法的参数是基本类型,无论形参在方法中如何改变,该实参变量不受影响。正确答案::引用类型第10题当子类重写了父类的方法时,把一个子类对象直接赋给父类引用变量,并通过该引用变量调用方法时,其方法行为总是表现出____的行为特征,而不是父类方法的行为特征,这就可能出现:相同类型的变量、调用同一方法时呈现出多种不同的行为特征,这就是多态。正确答案::子类方法第11题在多态的学习中,涉及到将子类对象赋给了父类的引用变量的情况,Java中允许把一个子类对象直接赋给一个父类的引用变量,无须任何转型,被称为____,由系统自动完成。正确答案::向上转型第12题在构造方法中调用this(参数表)及super(参数表)或自动调用____,最终保证了任何一个构造方法都要调用父类的构造方法,而父类的构造方法又会调用其父类的构造方法,直到最顶层的Object类。

正确答案::super()第13题下列哪个说法是不正确的?()A局部变量在使用之前无须初始化,因为系统会为该变量提供默认值B类成员变量由系统自动进行初始化C方法的参数的作用域就是所在的方法D语句块中定义的变量,当语句块执行完时,该变量就消亡了第14题以下不是Object类的方法是()。AhashCode()Bfinalize()Cnotify()DhasNext()第15题下面说法正确的是()。A子类会继承父类的构造方法B子类无法继承父类的构造方法C子类必须通过关键字super调用父类的构造方法D创建子类对象时,先调用子类的构造方法,再调用父类的构造方法第16题对于下列代码:1classPerson{2

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

PublicvoidprintValue(inti){//…}4

}5

publicclassStudentextendsPerson{6publicvoidprintValue(){//…}7publicvoidprintValue(inti){//}8publicstaticvoidmain(Stringargs[]){9

Personz=newStudent();10z.printValue(1);11

}12

}执行程序,第10行语句将调用哪行语句?()A第2行B第3行C第6行D第7行第17题类Teacher和Student都是类Person的子类,obj1、obj2、obj3分别是上述三个类的非空引用变量,关于下列语句说法正确的是()。if(obj1instanceofPerson){obj2=(Student)obj1;}A将构造一个Student对象B表达式合法C编译时出错D编译时合法而在运行时可能非法第18题下列程序的运行结果是(C)。publicclassA{publicstaticvoidmain(Stringargs[]){classN{publicintx=1;}Objectobj=(Object)newN();Nn=(N)obj;System.out.println("x="+n.x);}}A编译时出错Bx=0Cx=1D编译时合法而在运行时抛出异常第19题下列代码的运行结果是()。classBase{Base(){System.out.print("Base");}}classTestextendsBase{publicstaticvoidmain(Stringargs[]){newTest();newBase();}}A编译出错BBaseCBaseBaseD无输出结果第20题已知类定义如下:abstractclassPerson{publicabstractvoidcall();}classStudentextendsPerson{publicvoidcall(){}}下面语句正确的是()。APersonobj=newStudent();BStudentobj=newPerson();CPersonobj=newPerson();D以上均不正确第21题类A是类B的子类,类B是类C的子类,3个类都实现了方法method(),下面语句正确的是()可以实现在类A的方法中调用类C的method()。Amethod();Bsuper.method();CnewC().method();D以上均不正确第22题如果使定义的类能够返回对象的有用信息,需要重写Object中的()方法。AtoString()BhashCode()CgetClass()Dequals()第23题下面关于构造方法调用的描述正确的是()。A子类中定义了自己的构造方法,就不会调用父类的构造方法B创建子类对象时,构造方法的调用顺序是:先调用子类的构造方法,再调用父类的构造方法C子类必须通过关键字super调用父类的构造方法D如果子类的构造方法没有通过super调用父类构造方法,那么子类会调用父类的无参构造方法,再调用子类自已的构造方法第24题下面程序的运行结果为(D)。classAlpha{StringgetType(){return"alpha";}}classBetaextendsAlpha{StringgetType(){return"beta";}}classGammaextendsBeta{StringgetType(){return"gamma";}publicstaticvoidmain(String[]args){Alphag1=newBeta();Alphag2=newGamma();System.out.println(g1.getType()+"

"+g2.getType());}}AalphaalphaBgammagammaCalphabetaDbetagamma第25题在Java语言中,类Cat是类Animal的子类,Cat的构造方法中即没有使用this语句,也没有使用super语句,则下列哪种说法是正确的?()A调用类Cat中定义的super()方法B调用类Animal中定义的super()方法C调用类Animal的无参构造方法D编译错误第26题已知Temp是一个接口,ClassA是实现了接口Temp的一个类,ClassB是ClassA的子类,则下列语句正确的是?()ATempobj=newClassB();BClassB=newClassA();CClassAobj=newTemp();DTempobj=newTemp();第27题阅读下列代码:classOuter{publicclassInner1{}publicstaticclassInner2{}}则在测试类Test中,下列语句正确的是?()AOuter.Inner1obj=newOuter.Inner1();BOuter.Inner2obj=newOuter.Inner2();COuter.Inner1obj=newOuter.Inner1().newInner1();DOuter.Inner2obj=newOuter().newInner2();第28题编译并运行下面程序,则以下说法正确的是?()1classTest{2publicStringtoString(){3returnsuper.toString();4}5}A编译通过运行无异常B编译通过但运行时出错C编译不通过,错误代码在第2行D编译不通过,错误代码在第3行第29题Outer类中定义了一个成员内部类Inner,需要在main()方法中创建Inner类实例对象,下列说法哪个是正确的?()AInnerobj=newInner();BInnerobj=newOuter.Inner();COuter.Innerobj=newOuter.Inner();DOuter.Innerobj=newOuter().newInner();第30题有如下类的定义,Inner类称为()publicclassOuter{classInner{publicvoidmethod(){System.out.print("innerclass");}}}A匿名内部类B局部内部类C成员内部类D静态内部类第31题分析程序的输出结果是()。classB{intk;publicB(intk){this.k=k;}}publicclassAextendsB{publicA(){k=k+1;}publicstaticvoidmain(Stringargs[]){Aa=newA();System.out.println(a.k);}}A输出结果为1B输出结果为0C输出结果为2D编译出错第32题Outer类中定义了一个成员内部类Inner,需要在主方法main()中创建Inner类的实例对象,以下四种方式哪一种是正确的?()AInnerin=newInner();BInnerin=newOuter.Inner();COuter.Innerin=newOuter.Inner();DOuter.Innerin=newOuter().newInner();第33题已知已经定义了接口IManager、类Employee,有如下语句:classManagerextendsEmployeeimplementsIManager{…}classDirectorextendsEmployee{…}则以下定义正确的是()。AEmployeee=newManager();BDirectord=newManager();CDirectord=newEmployee();DIManagerm=newDirector();第34题任何一个构造方法都要调用父类的构造方法,而父类的构造方法又会调用其父类的构造方法,直到最顶层的Object类。()第35题内部类被当成其外部类的成员,因此内部类可以直接访问外部类的私有成员,但外部类不能直接访问内部类的成员。()第36题在定义匿名内部类的同时系统会自动生成一个该类的实例。()第37题构造方法可以被继承。()第38题接口中的方法有些可以被实现,有些不能被实现。()第39题子类实例化时,子类的构造方法一定会先调用父类的构造方法。()第40题子类可以覆盖父类中定义的私有方法。()第41题非静态内部类不能拥有静态成员。()第42题内部类被当成其外部类的成员,可以使用成员的修饰符:private、protected、static,外部类不能使用这三个修饰符。()第43题父类的构造方法总是在子类对象的构造过程中被调用,而且按照继承层次逐渐向上链接,以使每个父类的构造方法都能够得到调用。()第44题在Java中,一个类可以有多个直接父类,这称作多继承。()第45题引用类型之间的转换只能在具有继承关系的两个类之间进行,如果是两个没有任何继承关系的类型,则无法进行类型转换。()第46题如果想把一个父类对象转换成子类类型,必须确保父类对象是子类的一个实例,否则运行时会引发异常。()异常处理_习题第1题下列程序运行结果是什么(

)

publicstaticvoidmain(String[]args){

try{intb=15;intc;for(inti=2;i>=-1;i--){

c=b/i;

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

}

}catch(ArithmeticExceptione){

System.out.println("此处捕获一个除零异常");

}catch(Exceptione){

System.out.println("此处捕获一个未知异常");}

}}A输出此处捕获一个除零异常B输出i=2i=1此处捕获一个除零异常C输出i=2i=1此处捕获一个未知异常D输出此处捕获一个未知异常第2题能单独和finally语句一起使用的块是()AcatchBtryCthrowDthrows第3题在Java语言中,以下哪个关键字用于在方法上声明抛出异常?()AtryBcatchCthrowsDthrow第4题所有的异常类皆继承自()。Ajava.lang.ThrowableBjava.lang.ExceptionCjava.lang.ErrorDjava.io.Exception第5题关键字()可以抛出异常。AtransientBthrowCfinallyDcatch第6题对于已经被定义过可能抛出异常的语句,在编程时()。A使用try/catch语句处理异常,或用throws将其抛出B如果程序错误,必须使用try/catch语句处理异常C可以置之不理D只能使用try/catch语句处理第7题下面程序段的执行结果是()。publicclassFoo{publicstaticvoidmain(String[]args){try{return;}finally{System.out.println("Finally");}}}A编译能通过,但运行时会出现一个例外B程序正常运行,并输出“Finally”C程序正常运行,但不输出任何结果D因为没有catch语句块,所以不能通过编译第8题能单独和finally语句一起使用的块是()。AtryBcatchCthrowDthrows第9题下面程序的执行结果是()。publicclassTest{publicstaticvoidmain(String[]args){newTest().test();}publicvoidtest(){try{System.out.print("try");}catch(ArrayIndexOutOfBoundsExceptione){System.out.print("catch1");}catch(Exceptione){System.out.print("catch2");}finally{System.out.println("finally");}}}AtryfinallyBtrycatch1finallyCtrycatch2finallyDfinally第10题下面程序抛出的RuntimeException异常是()。publicclassTest{publicstaticvoidmain(String[]args){System.out.println(1/0);}}ANumberFormatExceptionBExceptionCArrayIndexOutOfBoundsExceptionDArithmeticException第11题下列类中在多重catch中同时使用时,()异常类应该最后列出。ANumberFormatExceptionBExceptionCArrayIndexOutOfBoundsExceptionDArithmeticException第12题下面程序会抛出的RuntimeException异常是()。publicclassTest{publicstaticvoidmain(Stringargs[]){Strings="abc";System.out.println(s.charAt(3));}}ANumberFormatExceptionBExceptionCStringIndexOutOfBoundsExceptionD以上都不对异常处理练习题第1题JDK中定义了大量的异常类,这些类都是____类的子类或者间接子类。正确答案::Exception第2题异常捕捉通常由try、catch两部分组成,____代码块用来存放可能发生的异常,而catch代码块用来处理产生的异常。正确答案::try第3题try{}里面有一个return语句,那么紧跟在try后面的finally{}里的代码会在____被执行。正确答案::return语句之前第4题catch()子句都带一个参数,该参数是某个异常的类及其变量名,catch()子句用该参数去与出现____的对象的类进行匹配。正确答案::异常第5题按异常处理方法的不同可以分为运行异常、捕获异常、声明异常和____几种。正确答案::自定义异常第6题自定义异常类型是从____类中派生的,所以要使用下面的声明语句来创建:<自定义异常名>{……}正确答案::Exception第7题抛出异常、生成异常对象都可以通过____语句实现。正确答案::throw第8题Throwable类有两个子类:____类和Error类。正确答案::Exception第9题捕获异常通过____语句实现。正确答案::catch第10题IOException异常是((____))异常,必须在程序中抛出或捕获。正确答案::编译时第11题在Java语言中,以下哪个关键字用于在方法上声明抛出异常?()AtryBcatchCthrowsDthrow第12题所有的异常类皆继承自()。Ajava.lang.ThrowableBjava.lang.ExceptionCjava.lang.ErrorDjava.io.Exception第13题关键字()可以抛出异常。AtransientBthrowCfinallyDcatch第14题对于已经被定义过可能抛出异常的语句,在编程时()。A使用try/catch语句处理异常,或用throws将其抛出B如果程序错误,必须使用try/catch语句处理异常C可以置之不理D只能使用try/catch语句处理第15题下面程序段的执行结果是()。publicclassFoo{publicstaticvoidmain(String[]args){try{return;}finally{System.out.println("Finally");}}}A编译能通过,但运行时会出现一个例外B程序正常运行,并输出“Finally”C程序正常运行,但不输出任何结果D因为没有catch语句块,所以不能通过编译第16题能单独和finally语句一起使用的块是()。AtryBcatchCthrowDthrows第17题下面程序的执行结果是()。publicclassTest{

publicstaticvoidmain(String[]args){

newTest().test();

}

publicvoidtest(){

try{System.out.print("try");

}catch(ArrayIndexOutOfBoundsExceptione){System.out.print("catch1");

}catch(Exceptione){System.out.print("catch2");

}finally{System.out.println("finally");

}

}}AtryfinallyBtrycatch1finallyCtrycatch2finallyDfinally第18题下面程序抛出的RuntimeException异常是()。publicclassTest{

publicstaticvoidmain(String[]args){

System.out.println(1/0);

}}ANumberFormatExceptionBExceptionCArrayIndexOutOfBoundsExceptionDArithmeticException第19题下列类中在多重catch中同时使用时,()异常类应该最后列出。ANumberFormatExceptionBExceptionCArrayIndexOutOfBoundsExceptionDArithmeticException第20题下面程序会抛出的RuntimeException异常是()。publicclassTest{publicstaticvoidmain(Stringargs[]){Strings="abc";System.out.println(s.charAt(3));}}ANumberFormatExceptionBExceptionCStringIndexOutOfBoundsExceptionD以上都不对第21题下列程序运行结果是什么()。publicstaticvoidmain(String[]args){try{intb=15;intc;for(inti=2;i>=-1;i--){c=b/i;System.out.println("i="+i);}}catch(ArithmeticExceptione){System.out.println("此处捕获一个除零异常");}catch(Exceptione){System.out.println("此处捕获一个未知异常");}}}A输出此处捕获一个除零异常B输出i=2i=1此处捕获一个除零异常C输出i=2i=1此处捕获一个未知异常D输出此处捕获一个未知异常第22题以下程序的运行结果为()。classPerson{Stringusername;charsex;intage;publicStringtoString(){return"username:"+username+"sex:"+sex+"age:"+age;}}publicclassStudentextendsPerson{Stringmajor;publicStringtoString(){return"username:"+username+"sex:"+sex+"age:"+age+"major:"+major;}publicstaticvoidmain(String[]args){Student[]stu=newStudent[20];for(Students:stu){s.username="无名氏";s.sex='男';s.age=20;s.major="计算机科学技术";System.out.println(s.toString);}}}AtoString()方法编译出错。

B编译正确,运行时产生除零异常。C运行结果正常,输出20个学生的信息。D编译正确,运行时产生空指针异常。第23题能单独和finally语句一起使用的块是()。AcatchBtryCthrowDthrows常用类与工具类练习题第1题实现泛型接口时,子类的泛型类型可以是____,也可以是通配符。正确答案::指定类型第2题在泛型中,通过在定义类的时用一个标识符表示类中____或者成员方法的返回值及参数类型来解决数据类型安全问题。正确答案::成员变量类型第3题与Java基本类型对应的类称为____类,把基本类型转换为对象类型称为装箱,把对象类型转换为基本类型的过程称为拆箱。正确答案::包装第4题java.lang包中的____类提供了数学运算的方法。正确答案::Math第5题在____包中提供了处理集合的接口和类。正确答案::java.util第6题计算字符串长度时,一个汉字占____个字符。正确答案::1第7题Collection是集合类的最大父接口,它的两个最大子接口____和____是最常用的接口。正确答案::List正确答案::Set第8题已知str为StringBuffer的一个实例对象,且str=“abcde”,执行代码str.reverse后,str的值为____。正确答案::edcba第9题LinkdeList类封装了____的存储结构,同时实现了List接口和Queue接口。正确答案::链表第10题使用以下()表达式能产生[20,100)之间的随机整数?A(Int)(20+Math.radom()*100)B20+(int)(Math.radom()*80)C(Int)Math.radom()*100D20+(int)Math.radom()*80第11题下面关于List集合处理重复元素的说法正确的是()。A如果加入一个重复元素,将抛出异常B如果加入一个重复元素,add方法将返回falseC集合通过调用equals方法可以返回包含重复值的元素D如果加入一个重复元素,add方法将返回True第12题以下()方法是ArrayList类中增加一个新元素的方法?AaddElementBaddCappendDaddItem第13题以下哪些方法不是List接口的方法?()AiteratorBisEmptyCtoArrayDsetText第14题对集合元素进行排序,应该使用()类。AHashSetBTreeSetCLinkListDListIterator第15题下列能实现集合遍历输出的接口是()。AIterator和ListIteratorBforeach和IteratorCwhileDfor第16题Java集合框架不包括()。AListBSetCMapDListIterator第17题Java中采用()接口处理键值对的集合。AListBSetCMapDListIterator第18题下列集合中,元素不能重复的是()。AQueueBSetCMapDCollection第19题下面说法正确的是()。ALinkedList不能进行队列的先进先出操作BArrayList实现了数据结构的顺序存储结构CSortedSet类继承于SetDStack实现了队列的操作第20题System类在()包中。Ajava.awtBjava.langCjava.utilDjava.io第21题定义四个String对象如下:Strings1=“abcdef”;Strings2=“abc”+”def”;Strings3=newString(“abcdef”);Strings4=newString(“abcdef”);下列代码中运行结果为真的是()。As1==s2;Bs3==s4;Cs1==s3;Ds2==s4第22题要创建ArrayList类的一个对象,此类继承了List接口,下面()语句是正确的?AArrayListmyList=newObject();BListmyList=newArrayList();CArrayListmyList=newList();DListmyList=newList();第23题下列()句代码可以计算30度角的正弦值?Adoubles=Math.sin(30);Bdoubles=Math.cos(30);Cdoubles=Math.sin(Math.toDegrees(30));Ddoubles=Math.sin(Math.toRadians(30));第24题Java的集合对象中只能存储一种数据类型。()第25题Math类的方法和属性均为静态,可以被其他类继承。()第26题java.util.ArrayList类采用可变大小的数组实现java.util.List接口,并提供了访问数组大小的方法,其对象容量会随着元素的增加而自动扩大。()第27题java.util.Collections是集合操作的实用类,提供了集合操作的许多方法,如排序、逆序、搜索等。()第28题TreeMap是采用一种有序树的结构实现了Map的子接口SortedMap,该类按键的升序的次序排列元素。()第29题String类是不可变的类,用String类创建的字符串对象在操作中不能修改字符串的内容,只能进行查找、比较、取得内容等操作。()IO练习题第1题按流的流动方向,可分为输入流和____,输入是指数据流入程序,输出是指数据从程序流出。正确答案::输出流第2题Java.io包中提供了RandomAccessFile类用于创建和访问____文件,使用RandomAccessFile类,可以跳转到文件的任意位置读写数据。正确答案::随机第3题IO流类一旦被创建就会自动打开,之后根据程序的具体需要完成数据的读写,读写完成之后通过调用close方法,可以显式关闭任何一个流,如果流对象不再被引用,Java的垃圾回收机制也会____关闭它。正确答案::隐式地第4题Java中的字符使用的是16-bit的Unicode编码,这种编码每个字符占____字节。正确答案::两个第5题Java.io包中包含两个顶级____抽象基类,Reader和Writer。正确答案::字符流第6题____类的方法能够创建、删除文件、重命名文件、判断文件的读写权限及是否存在、设置和查询文件的最近修改时间等。正确答案::File第7题下列哪一项不是File类的功能?()A创建文件B创建目录C删除文件D复制文件第8题下面哪一个不是InputStream类中的方法?()Aintread(byte[])Bvoidflush()Cvoidclose()Dintavailable()第9题创建BufferedInputStream对象时,下面那个类的对象可作为参数?()AFileBBufferedOutputStreamCFileInputStreamDFileOutputStream第10题要从file.dat文件中,读取第12个字节到变量x中,下列哪个语句段合适?()AFileInputStreamin=newFileIputStream(“file.dat”);In.skip(11);Intx=in.read();BFileInputStreamin=newFileIputStream(“file.dat”);In.skip(12);Intx=in.read();CFileInputStreamin=newFileIputStream(“file.dat”);Intx=in.read();DRandomAccessFilein=newRandomAccessFile(“file.dat”);In.skip(11);Intx=in.readByte();第11题下列哪一项是RandomAccessFile对象的正确用法?()AnewRandomAccessFile(“data”,”r”);BnewRandomAccessFile(”r”,“data”);CnewRandomAccessFile(“data”,”read”);DnewRandomAccessFile(”read”,“data”);第12题关于Java的IO流,下列说法正确的是()。AFileReader类和FileInputStream类都是按照字节读取的。BFileReader类和FileInputStream类都是按照字符读取的。CFileReader类是按字节读取的,和File

温馨提示

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

评论

0/150

提交评论