您好,欢迎访问三七文档
当前位置:首页 > 高等教育 > 习题/试题 > Java程序设计期末考试试题[B卷]
第1页共8页湖南人文科技学院2007年上学期期终考试《Java程序设计与技术》试题B卷(时量:120分钟,适用于06级网络工程本科专业1~2班)一、判断题,正确的记√,错误的记×(共7题,每题1分,共计7分)1.在运行字节码文件时,使用java命令,一定要给出字节码文件的扩展名.class。(×)2.Java语言中不同数据类型的长度是固定的,不随机器硬件不同而改变。(√)3.非静态方法中不能引用静态变量。(×)4.使用try-catch-finally语句只能捕获一个异常。(×)5.线程的启动是通过引用其start()方法而实现的。(√)6.集合Set是通过键-值对的方式来存储对象的。(×)7.通过File类可对文件属性进行修改。(√)二、填空题(共4空,每空2分,共计8分)1.已知:doublex=8.5,y=5.8;则:表达式x++y—值为(true)2.已知:inta[]={2,4,6,8};则:表达式(a[0]+=a[1])+++a[2]值为(13)3.Java语言中,定义子类时,使用关键字(extends)来给出父类名。如果没有指出父类,则该类的默认父类为(Object类)4.系统规定:表示当前类的构造方法用(this()),表示直接父类的构造方法用(super())二、单选择题(共8题,每题2分,共计16分)1.下列关于Java语言特性的描述中,错误的是(D)A.支持多线程操作B.Java程序与平台无关C.Java程序可以直接访问Internet上的对象D.支持单继承和多继承2.下列关于Java语言的数组描述中,错误的是(D)A.数组的长度通常用length表示B.数组下标从0开始C.数组元素是按顺序存放在内存的D.数组在赋初值和赋值时都不判界3.下列关于继承性的描述中,错误的是(C)A.一个类可以同时生成多个子类B.子类继承了父类中除私有的成员以外其他成员C.Java语言支持单重继承和多重继承D.Java语言通过接口可使子类使用多个父类的成员4.在类的修饰符中,规定只能被同一包类所使用的修饰符是(B)A.publicB.默认C.finalD.abstract5.下列关于抽象类的描述中,错误的是(C)A.抽象类是用修饰符abstract说明的B.抽象类是不可以定义对象的C.抽象类是不可以有构造方法的D.抽象类通常要有它的子类6.实现字符流的读操作类是(C)A.FileInputStreamB.FileOutputStreamC.FileReaderD.Writer7.在套接字编程中,服务器方需用到Java类(C)来监听端口A.SocketB.URLC.ServerSocketD.DatagramSocket第2页共8页8.运行下列程序,会产生什么结果(A)1)publicclassT8extendsThreadimplementsrunable{2)publicvoidrun(){3)System.out.println(thisisrun());4)}5)publicstaticvoidmain(Stringargs[]){6)Threadt=newThread(newT8());7)t.start();8)}9)}A.第一行会产生编译错误B.第六行会产生编译错误C.第六行会产生运行错误D.程序会运行和启动三、多选择题(共5题,每题3分,共计15分)1.迭代器接口(Iterator)所定义的方法是(ABC)A.hasNext()B.next()C.remove()D.nextElement()2.下面的表达式哪个是正确的?(ACE)A.Strings=你好;inti=3;s+=i;B.Strings=你好;inti=3;if(i==s){s+=i};C.Strings=你好;inti=3;s=i+s;D.Strings=你好;inti=3;s=i+;E.Strings=null;inti=(s!=null)&&(s.length()0)?s.length():0;3.publicclassparent{intchange(){}}classChildextendsParent{}哪些方法可加入类Child中?(AB)A.publicintchange(){}B.intchang(inti){}C.privateintchange(){}D.abstractintchang(){}4.下列方法属于java.lang.Math类的有(方法名相同即可):(ABCD)A.random()B.abs()C.sqrt()D.pow()5.下面哪些标识符在Java语言中是合法的?(AB)A.persons$B.TwoUsers第3页共8页C.*pointD.instanceofF.end-line四、简答题(共3小题,每小题4分,共计12分)1.什么是多态?Java中的多态有哪几种?重载方法与覆盖方法分别属于哪种多态?答:多态(polymorphism)是用相同的名字来定义不同的方法,分为静态多态与动态多态两种。静态多态是指在编译时完成代码绑定的方式,如重载方法,编译器会根据调用重载方法的给定实际签名的不同而绑定与之相符的代码;动态多态是指在运行时完成的动态代码绑定,如覆盖方法,Java运行时系统会根据调方法的实例的不同的,动态决定调用某个覆盖方法。2.为什么要对程序做注释?Java语言中有哪几种注释?答::注释是被Java编译器忽略,但对程序员是有用的。Java注释有三种:单行注释://注释结束至行尾;多行注释:/*注释内容*/;文档注释:/**注释内容*/(用来生成一个HTML文件)。3.举例说明什么是上转型对象,上转型对象的操作原则是什么?(3分)答:上转型对象,如,若Mammal类是Monkey的父类,Mammalmammal=newMonkey();则mammal是Monkey类对象的上转型对象;上转型对象可强制转化为子类的对象,如,Monkeymonkey=(Monkey)mammal;上转型对象不能操作子类新增的成员变量和方法;上转型对象可以操作子类继承或重写的成员变量和方法;如果子类重写了父类方法,则上转型对象调用的是子类重写的方法。上转型对象可再强制转换到一个子类对象,该子类对象又具备了子类所有的属性和方法。五、阅读程序(共2小题,每题4分,共计8分)1.分析下面的程序,写运行结果:publicclassT5_1{Stringstr=newString(Hi!);char[]ch={'L','i','k','e'};publicstaticvoidmain(Stringargs[]){T5_1ex=newT5_1();ex.change(ex.str,ex.ch);System.out.print(ex.str+);System.out.print(ex.ch);}publicvoidchange(Stringstr,charch[]){str=Howareyou;ch[1]='u';}}运行结果是:(Hi!Luke)2.分析下面的程序,写运行结果:publicclassT5_2{publicstaticclassStudent{staticintcount;Stringname;intnumber;第4页共8页publicStudent(Stringn1){name=n1;count++;number=count;}publicvoidoutput(){System.out.println(this.name+number=+this.number);}}publicstaticvoidmain(Stringargs[]){T5_2.Students1=newT5_2.Student(A);s1.output();T5_2.Students2=newT5_2.Student(B);s2.output();}}运行结果是:Anumber=1Bnumber=2六、填充程序(共2题,每小题8分,共计16分)1.下面的程序采用JDBC方式在MsSQLServer数据库管理系统的DBStudent数据库中,创建学生表tblstudent,此表有四个字段:学号sno,姓名sname,性别sex,成绩score,请完成程序编写。packagecomsoft.db.jdbc.mssqlserver;importjava.sql.*;publicclassCreateTable{publicstaticvoidmain(String[]args){StringJDBCDriver=com.microsoft.jdbc.sqlserver.SQLServerDriver;//声明JDBC驱动程序类型StringconURL=jdbc:microsoft:sqlserver://127.0.0.1:1433;+DatabaseName=DBStudent;User=sa;Password=ok;//定义JDBC的URL对象try{(1)Class.forName(JDBCDriver)(1);}catch(ClassNotFoundExceptione){System.out.println(Class.forname:+e.getMessage());}try{(2)DriverManager.getConnectionConnectioncon=(2)(conURL);(3)con.createStatement()Statementstm=(3);//创建一个含有四个字段的学生表Stringquery=createtabletblstudent(snovarchar(12)primarykeynotnull,+snamevarchar(15),sexvarchar(2),scorenumeric(5,2));(4)stm.executeUpdate(query)(4);System.out.println(数据表:tblstudent创建成功!);stm.close();con.close();}}catch(SQLExceptione){第5页共8页System.out.println(=SQLException:+e.getMessage());}}}2.下面是基于套接字的服务端程序接收客户程序请求后创建连接,服务程序将收到的信息在屏幕上打印出来,并回送给客户程序,请在标号处完成程序编写。packagecomsoft.nc.tcp.socket;importjava.io.*;importjava.net.*;publicclassServerSocketDemo{publicstaticfinalintPORT=28080;publicstaticvoidmain(String[]args)throwsIOException{(1)newServerSocket(PORT)ServerSocketserversocket=(1);System.out.println(Startedserversocket:+serversocket);try{(2)serversocket.accept()Socketsocket=(2);try{System.out.println(TCPConnectionacceptedfrom:+socket);(3)socket.getInputStream()BufferedReaderin=newBufferedReader(newInputStreamReader((3)));PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream())),true);while(true){Stringstr=in.readLine();if(str.equals(EndCommunications)){break;}System.out.print
本文标题:Java程序设计期末考试试题[B卷]
链接地址:https://www.777doc.com/doc-5655846 .html