您好,欢迎访问三七文档
JAVA试卷班级姓名一、选择题(25*2=50分)1.下面用来运行Java应用程序的命令是(D)A、javacB、jdkC、appletviewerD、javaJavac是编译;java是运行2.main方法是JavaApplication程序执行的入口点,关于main方法的方法头以下哪项是合法的(B)A、publicstaticvoidmain()B、publicstaticvoidmain(Stringargs[])C、publicstaticintmain(String[]arg)D、publicvoidmain(Stringarg[])3.为AB类的一个无形式参数无返回值的方法method书写方法头,使得使用类名AB作为前缀就可以调用它,该方法头的形式为(A)。A、staticvoidmethod()B、publicvoidmethod()C、finalvoidmethod()D、abstractvoidmethod()4.下列哪个是合法的Java标识符?(C)A、Tree&Glasses&是关键字B、case关键字C、_$theLastOneD、273.55)给定java代码,如下:publicbytecount(byteb1,byteb2){return______;}要使用这段代码能够编译成功,横线处可以填入(A)。(选择一项)a)(byte)(b1-b2)b)(byte)b1-b2byte和int强转转换后还是bytec)b1-b2d)(byte)b1/b26编译JavaApplication源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为(B)。A、.JavaB、.classC、.htmlD、.exe7.若a的值为3时,下列程序段被执行后,c的值是多少?(C)c=1;if(a0)if(a3)c=2;elsec=3;elsec=4;A、1B、2C、3D、48.对于构造函数,下列叙述不正确的是(B)。A、构造函数是类的一种特殊函数,它的方法名必须与类名相同。B、构造函数的返回类型只能是void型。构造函数无返回类型C、构造函数的主要作用是完成对类的对象的初始化工作。D、一般在创建新对象时,系统会自动调用构造函数。9.下面的是关于类及其修饰符的一些描述,不正确的是:(B)。A、abstract类只能用来派生子类,不能用来创建abstract类的对象。B、final类不但可以用来派生子类,也可以用来创建final类的对象。Final可以被调用,不可以被继承C、abstract不能与final同时修饰一个类。abstract修饰的类可以被继承,final修饰的类不能被继承D、abstract方法必须在abstract类中声明,但abstract类定义中可以没有abstract方法。10.在类设计中,类的成员变量要求仅仅能够被同一package下的类访问,请问应该使用下列(A)哪个修辞词A.protectedB.publicC.privateD.不需要任何修辞词11.若在某一个类定义中定义有如下的方法:abstractvoidperformDial();该方法属于(D)。A、本地方法B、最终方法C、多态方法D、抽象方法12.以下语句不能通过编译的是(D)。A.int[]a={1,2,3,4};B.intb[];编译不会报错,但不能使用C.intc[]=newint[3];D.intd=newint[];一定要定义数组有多少容量13.在switch(表达式)语句中,表达式的类型不能为(C)。A、byteB、charC、long(doublefloat等大于int的都不可以)D、int14.设有下面两个类的定义:classPerson{}classStudentextendsPerson{longid;//身份证号intscore;//入学总分Stringname;//姓名intgetScore(){returnscore;}}问:类Person和类Student的关系是(B)。A、包含关系B、继承关系C、关联关系D、无关系,上述类定义有语法错误15.设有下面的两个类定义:classAA{voidShow(){System.out.println(“我喜欢Java!”);}classBBextendsAA{voidShow(){System.out.println(“我喜欢C++!”);}则顺序执行如下语句后输出结果为:(A)AAa;BBb;a.Show();b.Show();A、我喜欢Java!B、我喜欢C++!我喜欢C++!我喜欢Java!C、我喜欢Java!D、我喜欢C++!我喜欢Java!我喜欢C++!16)在JAVA中,要判断D盘下是否存在文件abc.txt,应该使用以下(A)判断语句。(选择一项)a)if(newFile(“d:abc.txt”).exists()==1)b)if(File.exists(“d:abc.txt”)==1)c)if(newFile(“d:/abc.txt”).exists())d)if(File.exists(“d:/abc.txt))17.在Java中,一个类可同时定义许多同名的方法,这些方法的形式参数的个数、类型或顺序各不相同,传回的值也可以不相同。这种面向对象程序特性称为(C)。A、隐藏B、覆盖C、重载D、Java不支持此特性18.对于构造函数,下列叙述不正确的是(C)。A、构造函数也允许重载。B、子类无条件地继承父类的无参构造函数。C、子类不允许调用父类的构造函数。D、在同一个类中定义的重载构造函数可以相互调用。19.现有一变量声明为booleanaa;下面赋值语句中正确的是(D)。A、aa=0B、aa=True不能大写C、aa=trueD、aa=false20.使用以下哪些修饰符进行修饰时,子类不可访问其变量?(B)a)Protectedb)Privatec)以上两者都是d)以上都不是21.下列方法定义中,方法头不正确的是(D)。A)publicintx(){...}B)publicstaticintx(doubley){...}C)voidx(doubled){...}D)publicstaticx(doublea){...}22.下列哪些语句关于内存回收的说明是正确的?(B)A程序员必须创建一个线程来释放内存;B内存回收程序负责释放无用内存C内存回收程序允许程序员直接释放内存D内存回收程序可以在指定的时间释放内存对象23)在java中,以下代码()正确地创建了一个InputStreamReader类型的对象。(A)a)newInputStreamReader(newFileInputStream(1.dat));b)newInputStreamReader(newFileReader(1.dat));c)newInputStreamReader(newBufferedReader(1.dat));d)newInputStreamReader(1.dat);24)在Java中,关于HashMap类的描述,以下说法错误的是(D)。(选择一项)a)HashMap使用键/值的形式保存数据b)HashMap能够保证其中元素的顺序c)HashMap允许将null用作键d)HashMap允许将null用作值25)在java中,已获得默认类型的Resultset对象rs,要获取结果集中的数据,必须执行的语句是(c)。(选择一项)a)rs.next()b)rs.previous()c)rs.getNext()d)rs.getPrevious()二.问答及改错。(共20分)1、Overload和Override的区别。Overloaded的方法是否可以改变返回值的类型?(5分)Overload是重载,方法重载是方法名相同参数个数和类型不同,可以改变返回值类型;Override是重写,重写是名称类型必须一模一样;2、列举我们常见的运行时(Runtime)异常,至少3种,英文不会写写中文。(5分)ArrayIndexOutException;算数异常;IOexception;3、Java语言如何进行异常处理,关键字:throws,throw,try,catch,finally分别代表什么意义?在try块中可以抛出异常吗?(5分)Java用try{}catch(){}处理异常throws用来定义抛出方法,throw用来定义抛出语句,catch用来捕捉异常,finally是接在catch后必须执行的语句4、下列代码有什么错误?并修正。(3分)publicabstractclassClzA{publicinti=0;publicstaticvoidmain(String[]args){ClzAa=newClzA();System.out.println(a.i);}}错误:ClzA是抽象类,不能实例化,需要子类继承它后才可创建对象改正方法一:去掉abstract改正方法二:创建子类继承ClzA,再在子类里实例化5、下列代码有什么错误?并修正。(2分)classSomething{finalinti;publicvoiddoSomething(){System.out.println(i=+i);}}错误:final修饰的常量i没有赋值改正:给i赋值,或者去掉final三、阅读程序,写出运行结果(5*2=10分)1.importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){Strings1=Hello!;Strings2=newString(IlikeJava!);System.out.println(s1++s2);}}运行结果:Hello!IlikeJava!2.classC0{publicC0(intx){System.out.println(C0+x);}C0(){System.out.println(C0);}}classC1extendsC0{publicC1(intx){System.out.println(C1+x);}publicstaticvoidmain(Stringargs[]){newC1(1);}}默认先调父类无参的方法运行结果:COC113.classA{publicintgetNumber(inta){returna+1;}}classBextendsA{publicintgetNumber(inta){returna+2;}publicstaticvoidmain(Stringargs[]){Aa=newB();System.out.printIn(a.getNumber(0));}}运行结果:224.publicclassTestextendsTT{publicvoidmain(Stringargs[]){Testt=newTest(Tom);}publicTest(Strings){super(s);System.out.println(Howdoyoudo?);}publicTest(){this(IamTom);}}classTT{publicTT(){System.out.println(Whatapleasure!);}publicTT(Strings){this();调用上面TT()方法System.out.println(Iam+s);}}运行结果:Whatapleasure!IamTomHowdoyoudo?5.importjava.io.*;publicclassabc{publicstaticvoidmain(Stringargs[]){inti,s=0;inta[]={10,20,30,40,50,60,70,80,90};for(i=0;ia.length;i++)if(i%3==0)s+=a[i];System.out.println(s=+s);}}运行结果:s=120四.编程题(4+6+10=20分)1.编写一个程序,用户输入任何
本文标题:java基础试卷
链接地址:https://www.777doc.com/doc-2880846 .html