第1页共7页—南昌大学考试试卷—【适用时间:2014~2015学年第二学期试卷类型:[B]卷】教师填写栏课程编号:试卷编号:课程名称:JAVA程序设计开课学院:信工学院考试形式:闭卷适用班级:考试时间:90分钟试卷说明:1、本试卷共6页。2、考试结束后,考生不得将试卷、答题纸和草稿纸带出考场。题号一二三四五六七八九十总分累分人签名题分3030102020100得分考生填写栏考生姓名:考生学号:所属学院:所属班级:所属专业:考试日期:考生须知1、请考生务必查看试卷中是否有缺页或破损。如有立即举手报告以便更换。2、严禁代考,违者双方均开除学籍;严禁舞弊,违者取消学位授予资格;严禁带手机等有储存或传递信息功能的电子设备等入场(包括开卷考试),违者按舞弊处理;不得自备草稿纸。考生承诺本人知道考试违纪、作弊的严重性,将严格遵守考场纪律,如若违反则愿意接受学校按有关规定处分!考生签名:第2页共7页一、单选题:(每空2分,共30分,答案请填入答题表中)得分评阅人单选题答案填写于下表中1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.1、已知表达式intm[]={0,1,2,3,4,5,6};下面()表达式的值与数组最大下标数相等?A.m.length()B.m.length-1C.m.length()+1D.m.length+12、下面的哪个赋值语句是不对的?()A.floatf=11.1;B.doubled=5.3E12;C.doubled=3.14159;D.doubled=3.14D;3、下列关于构造方法的叙述中,错误的是()A.Java语言规定构造方法名与类名必须相同B.Java语言规定构造方法没有返回值,但不用void声明C.Java语言规定构造方法不可以重载D.Java语言规定构造方法只能通过new自动调用4、类Test1定义如下:1.publicclassTest1{2.publicfloataMethod(floata,floatb){}3.4.}将以下哪种方法插入行3是不合法的。()A.publicfloataMethod(floata,floatb,floatc){}B.publicfloataMethod(floatc,floatd){}C.publicintaMethod(inta,intb){}D.privatefloataMethod(inta,intb,intc){}5、类的设计要求它的某个成员变量不能被外部类直接访问,应该使用下面的哪些修饰符获得需要的访问控制()A.publicB.defaultC.protectedD.private6、Java编程所必须的默认引用包为()A.java.sys包B.java.lang包C.java.new包D.以上都不是7、欲构造ArrayList类的一个实例,此类继承了List接口,下列哪个方法是正确的?()A.ArrayListmyList=newObject();B.ListmyList=newArrayList();C.ArrayListmyList=newList();D.ListmyList=newList();8、下列哪个方法可用于创建一个可运行的类()A.publicclassXimplementsRunable{publicvoidrun(){......}}B.publicclassXimplementsThread{publicvoidrun(){......}}第3页共7页C.publicclassXimplementsThread{publicintrun(){......}}D.publicclassXimplementsRunable{protectedvoidrun(){......}}9、如果类中的成员变量可以被同一包访问,则使用如下哪个约束符?()A.privateB.publicC.protectedD.缺省10、创建一个DataOutputStream的语句是()。A.newDataOutputStream(“out.txt”)B.newDataOutputStream(newFile(“out.txt”));C.newDataOutputStream(newWriter(“out.txt”));D.newDataOutputStream(newOutputStream(“out.txt”));11、一个事件源必须注册监听器才能接收一个事件通知,以将产生的事件对象传输给()来处理。A.事件代理(监听器)B.事件源C.主程序D.事件处理方法12、JAVA中,为了辩别用户是否关闭窗口,要实现监听器接口()。A.MouseListenerB.ActionListenerC.WindowListenerD.以上都要13、对于catch子句的排列,下列哪种是正确的()A.父类在先,子类在后B.子类在先,父类在后C.有继承关系的异常不能在同一个try程序段内D.先有子类,其他如何排列都无关14、在异常处理中,如释放资源、关闭文件、关闭数据库等由()来完成。A.try子句B.catch子句C.finally子句D.throw子句15、JDBC中,一条语句的执行结果放在一个类的对象中,这个类是()A.ResultSetMetaDataB.ResultSetC.DatabaseMetaDataD.Driver二、填空题:(每空2分,共20分)得分评阅人1、“RedBird”.indexOf(“Bird”)的值是________________。2、内部类的字节码文件的名字格式是:________________。3、在Java中用关键字________________来创建包。4、一个类如果实现了Serializable接口,那么这个类创建的对象就是所谓_____________的对象。5、异常处理的方法有两种:应用try…catch…finally结构对异常进行捕捉和处理、通过throws与________________语句抛出异常进行处理。6、从输入流中按行读取字符的方法是________________。7、Java的图形界面技术经历了两个发展阶段,分别通过提供AWT开发包和________________开发包来实现。8、计时器发生的“震铃”事件是________________类型事件。9、在Java中,用JDBC进行数据库编程需要的几个步骤为:加载驱动程序、________________、向数据库发送SQL语句并处理结果、关闭数据库的连接10、线程同步执行过程中,wait()方法与方法是匹配使用,否则易造成死锁。三、判断题:(每题1分,共10分)得分评阅人第4页共7页1、子类的属性成员和方法的数目一定大于等于父类的成员属性和方法的数目。()2、classA{......}等价于classAextendsObject{......}。()3、接口里的方法必须全部都声明成abstract。()4、子类会继承父类的构造方法。()5、java的垃圾回收机制,不能回收栈内存空间。()6、this不能出现在static修饰的方法中。()7、和接口有关的匿名类可以是抽象类。()8、String类对象的内容一旦被初始化就不能再改变。()9、允许使用static修饰abstract方法。()10、内部类的类体中不可以声明类变量和类方法。()四、程序题:(每空2分,共20分)得分评阅人1、在下划线上补充接口实现的代码,方法体返回整数10:interfaceTest{intM=200;intf();}classSubTestimplementsTest{____________________//接口方法实现,返回整数10。填空1}2、下面程序决断用户从键盘输入的字符序列是否全部由英文字母组成,请填空。importjava.util.Scanner;publicclassE{publicstaticvoidmain(Stringargs[]){Stringregex=[a-zZ-Z]+;Scannerscanner=______________;//从键盘输入文本。填空2Stringstr=scanner.nextLine();if(__________)//字符串分析是否全部由英文字母组成。填空3{System.out.println(str+中的字符都是英文字母);}}}3、下面的程序功能是逆序输出数据表goods中的记录,请将程序补充完整。importjava.sql.*;publicclassE{publicstaticvoidmain(Stringargs[]){Connectioncon;第5页共7页Statementsql;ResultSetrs;try{Class.forName(sun.jdbc.odbc.JdbcOdbcDriver);}catch(ClassNotFoundExceptione){System.out.print(e);}try{//建立数据库连接。填空4con=_________________________________________________;sql=con.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);//调用语句对象方法实现查询。填空5rs=_________________(SELECT*FROMgoods);______________;//将游标移到结果集的最后一行。填空6introws=rs.getRow();System.out.println(goods表共有+rows+条记录);rs.afterLast();System.out.println(倒序输出goods表中的记录:);//结果集中游标向前移一行。填空7while(______________){Stringnumber=rs.getString(1);Stringname=rs.getString(2);Datedate=rs.getDate(madeTime);doubleprice=rs.getDouble(price);System.out.printf(%-4s,number);System.out.printf(%-6s,name);System.out.printf(%-15s,date.toString());System.out.printf(%6s\n,price);};//关闭数据库连接}catch(SQLExceptione){System.out.println(e);}}}4、写出下列程序的输出结果(该题4分)importjava.awt.*;[importjava.awt.event.*;publicclassEimplementsRunnable{StringBufferbuffer=newStringBuffer();Threadt1,t2;E(){t1=newThread(this);第6页共7页t2=newThread(this);}publicsynchronizedvoidaddChar(charc){if(Thread.currentThread()==t1){while(buffer.length()==0)try{wait();}catch(Exceptione){}buffer.append(c);}if(Thread.currentThread()==t2){buffer.append(c);notifyAll();}}publicstaticvoidmain(Strings[]){Ehello=newE();hello.t1.start();hello.t2.start();while(hello.t1.isAlive()||hello.t2.isAlive()){}System.out.println(hello.buffer)