Java测试卷(一)一、选择题(每题1分,共30分):1.下列说法正确的是(a)。cA、Java程序中的main方法必须写到类里面。B、Java程序中可以有多个main方法。C、Java程序的类名必须与文件名一致。D、Java程序的main方法里如果只有一条语句,可以不用{}括起来。2.给出下列的代码,哪行在编译时可能会有错误?①publicvoidmodify(c){②inti,j,k;③i=100;④while(i0){⑤j=i*2;⑥System.out.println(Thevalueofjis+j);⑦k=k+1;⑧}⑨}A)line4.B)line6.C)line7.D)line83.已知有下面类的说明:publicclassX511extendsx{privatefloatf=10.6f;inti=16;staticintsi=10;publicstaticvoidmain(String[]args){X511x=newX511();}}在main()方法中,下面哪条语句的用法是正确的?(d同类中可以访问)。A、x.fB、this.siC、X5_1_1.iD、X5_1_1.f4.子类对象能否直接向其父类赋值?父类对象能否向其子类直接赋值?(b)A、能,能B、能,不能C、不能,能D、不能,不能5.Java语言类间的继承关系是(a)。A、单继承B、多重继承C、不能继承D、不一定6.Java语言接口间的继承关系是(b)。A、单继承B、多重继承C、不能继承D、不一定7.一个类实现接口的情况是(a)。A、一次可以实现多个接口B、一次只能实现一个接口C、不能实现接口D、不一定8.已知x=2,y=3,z=4,则经过z-=--y–x--运算后,z的值为(d)。A、1B、2C、3D、49.在编写Java程序时,如果不为类的成员变量定义初始值,Java会给出它们的默认值,下列说法中不正确的一个是(c)。A、byte的默认值是0B、boolean的默认值是falseC、char类型的默认值是’\0’D、long类型的默认值是0.0L10.下列语句中不正确的一个是(b)127。A、floatf=1.1f;B、byteb=128;C、doubled=1.1/0.0;D、charc=(char)1.1f;11.下列不属于Java语言流程控制结构的是(d)。A、分支语句B、跳转语句C、循环语句D、赋值语句12.下列循环体执行的次数是(c)。inty=2,x=4;while(--x!=x/y){}A、1B、2C、3D、413.已知如下代码:switch(m){case0:System.out.println(Condition0);case1:System.out.println(Condition1);case2:System.out.println(Condition2);case3:System.out.println(Condition3);break;default:System.out.println(OtherCondition);}当m的值为(d)时,输出“Condition3”。A、2B、0、1C、0、1、2D、0、1、2、314.给出下面程序代码(假设已赋值):byte[]a1,a2[];bytea3[][];byte[][]a4;下列数组操作语句中哪一个是不正确的?(a)。A.a2=a1B.a2=a3C.a2=a4D.a3=a415.关于数组,下列说法中不正确的是(c)。A、数组是最简单的复合数据类型,是一系列数据的集合。B、数组元素可以是基本数据类型、对象或其他数组。C、定义数组时必须分配内存。D、一个数组中所有元素都必须具有相同的数据类型。16.已知有定义:Strings=Ilove,下面哪个表达式正确?(a)A、s+=you;B、charc=s[1];charAt()C、intlen=s.length;字符串加括号D、Strings=s.getBytes();17.已知inti=0x21;则System.out.println(i);输出(d)转十进制A、20B、21C、32D、3318.inputtype=””/属性值写(b)代表这是一个隐藏域a)textb)hiddenc)passwordd)checkbox19.用于定义类成员的访问控制权的一组关键字是(c)。A、extends,abstract,interfaceB、final,extends,classC、public,private,protectedD、float,boolean,int,long20.下列程序段执行后b3的结果是(c)。编号班级姓名----------------------------------------------------------------------------密封线内不得答题-----------------------------------------------------------------------------------------------------------------------booleanb1=true,b2=false,b3;b3=b1?b1:b2;A、0B、1C、trueD、false21.当构造一个对象的时候,系统先构造父类对象,再构造子类对象。构造一个对象的顺序:(注意:构造父类对象的时候也是这几步),下面哪一项顺序是正确的(b)。①本类的构造方法;②递归地构造父类对象;③顺序地调用本类成员属性赋初值语句。A、①②③B、②①③C、③②①D、②③①22.下列代码的执行结果是publicclassTest{publicintaMethod(){staticinti=0;i++;System.out.println(i);}publicstaticvoidmain(Stringargs[]){Testtest=newTest();test.aMethod();}}A)编译错误加returnB)1C)编译成功,运行失败D)运行成功,但不输出23.执行下列代码后,哪个结论是正确的String[]s=newString[10];A)s[10]为;B)s[9]为null;C)s[0]为未定义D)s.length为1024.下面的表达式哪个是正确的?A)Strings=你好;inti=3;i+=s;B)Strings=你好;inti=3;if(i==s){s+=i};C)Strings=你好;inti=3;s=i+s;D)Strings=你好;inti=3;s=i+i;+字符串执行如下程序代码a=0;c=0;do{c-=1;a=a-1;c=a;}while(a0);后,C的值是()A)0B)1C)-1D)死循环25.下列代码运行的结果是()publicclassExample{publicstaticvoidmain(String[]args){inti=0;intj=5;outer:for(;ij;i++){for(;;j--){if(ij){breakouter;}}}System.out.println(i++j);}}A)05B)1-1C)21D)0-126.下列哪种说法是正确的(d)A)实例方法可直接调用超类的实例方法B)实例方法可直接调用超类的类方法C)实例方法可直接调用其他类的实例方法D)实例方法可直接调用本类的类方法27.下列说法不正确的是(d)。A、Super()表示调用父类的构造方法;B、Super()也和this一样必须放在第一行;C、This()用于调用本类的构造方法;D、如果没有定义构造方法,那么就不会调用父类的无参构造方法,即super()。28.下列代码运行结果是(a)publicclassTestF{publicvoidfirst(inta){System.out.println(thisisint);}publicvoidfirst(Stringa){System.out.println(thisisString);}publicstaticvoidmain(Stringargs[]){chara='s';TestFf=newTestF();f.first(a);}}A)thisisintB)thisisstringC)编译错误D)运行时报错29.给定如下java代码,编译时会出错的一行是()。classParent{}classChildextendsParent{publicstaticvoidmain(Stringargs[]){Parentp1=newChild();//第一行Parentp2=newParent();//第二行Childc1=newChild();//第三行Childc2=newParent();//第四行}}A、第一行;B、第二行;C、第三行;D、第四行;30.下列关于final关键字说法错误的是(a)。A、被final修饰的方法只能在子类中被调用;B、被final修饰的方法不可以重写;C、被final修饰的类不能被继承;D、被final修饰的变量为常量不能改变。二、填空题(每题1分,共25分)1.Java是面向对象语言,对象是类的_具体化______,对象与之是一一对应的,它是很具体的概念。2.对象是抽象的类,类的具体化就是实现________。3.继承性是父类和子类之间__共享信息__________和消息的机制。4.面向对象的设计的主要目标是提高生产效率,提高质量和提高_可维护性________。5.面向对象技术中的“类”,是指____具体事物的描述__________。6.0b1010转换为0xa_______;7.面向对象的基本特征是____封装_______、___多态_______、_继承_________。8.Java不支持多继承,但可以通过_接口_____,实现多继承。9.计算机高级编程语言按其程序的执行方式可分为两种类型:__编译型_______型和____解释____型。10.Java程序必须运行在_jdk________中。11.JRE被称为____运行环境______;JDK被成为_____开发工具____。12.变量是Java程序的基本存储单元之一,变量的主要类型包括2大类:__基本______和__引用_______。13.Java语言的整数类型变量和常量一样,各自都包括4种类型的数据,它们分别是__byte________、int、__short_______和___long______。14.double类型不可以直接赋值给float类型,但可以通过__强行转换__________方式完成赋值。15.Java语言中的_________具有特殊意义和作用,不能作为普通标识符及变量名等使用。16.在Java语言中,浮点类型数据属于实型数据,可以分为_____float____和_double________两种。17.跳转语句包括_____break___、__coutinue______、___return_____。18.switch语句先计算switch后面的_____表达式__的值,再和各____case__语句后的值做比较。19.if语句合法的表达式值是________类型。20.continue语句必须使用于__循环______语句中。21.数组是一种__引用类型______数据类型,在Java中,数组是作为___对象______来处理的。数组是有限元素的有序集合,数组中的元素具有相同的__数据类型____,并可用数组的__名______和__下标______来存取元素。22.在数组定义语句中,如果[]在数据类型和变量名之间时,[]之后定义的所有变量都是__数组______类型,当[]在变量名之后时,只有[]之前的变量是___数组______类型,之后没有[]的则不是数组类型。23.break语句有两种用途:一种从_switch_______语句的分支中跳出