《Java试卷(简单)》试卷得分单选题(每题2分,共计40分)1.下面IP地址格式中,错误的是()A、1.1.1.1B、127.0.0.1C、192.168.1.360D、123.125.114.1442.对于使用多态的应用程序,某个对象的确切类型何时能知道()A、执行时才可以知道B、应用程序编译时能够判断C、程序员编写程序时就已知道D、永远不会知道3.下列关于Socket类的描述中,错误的是()A、Socket类中定义的getInputStream()方法用于返回Socket的输入流对象。B、Socket类中定义的getOutputStream()方法用于返回Socket的输出流对象。C、Socket类中定义的getLocalAddress()方法用于获取Socket对象绑定的本地IP地址。D、Socket类中定义的close()方法用于关闭输入\\输出流对象。4.下列选项中,属于浮点数常量的是()A、198B、2e3fC、trueD、null5.下列选项中,不属于Java中关键字的是()A、constB、falseC、FinalD、try总分题型单选题判断题填空题简答题题分得分6.下列关键字中,用于创建类的实例对象的是()A、classB、newC、privateD、void7.下面关于ArrayList的描述中,错误的是()A、ArrayList是List接口的一个实现类。B、ArrayList内部的数据存储结构是数组C、ArrayList不太适合做大量的增删操作D、使用ArrayList集合遍历和查找元素很高效8.以下关于foreach的说法中,哪一个是错误的()A、使用foreach遍历集合时,可以对元素进行修改。B、foreach可以对数组进行遍历。C、foreach可以对集合进行遍历。D、foreach循环是一种更加简洁的for循环,也称增强for循环。9.KeyEvent类位于下列哪个包中()A、java.awtB、java.awt.eventC、java.awt.dndD、java.awt.im10.下面关于静态同步方法说法错误的是()A、静态方法必须使用class对象来同步。B、对于静态的同步方法而言,该方法的同步监视器不是this,而是该类本身。C、静态同步方法和以当前类为同步监视器的同步代码块不能同时执行。D、一个类中的多个同步静态方法可以同时被多个线程执行。11.下列选项中,正确关闭数据库资源的顺序是()A、resultSet.close()B、atement.close()C、nnection.close()D、statement.close()12.下列关于Java特点的描述中,错误的是()A、Java语言不支持指针B、Java具有自动垃圾回收的机制C、Java只能运行在Window和Linux平台D、Java允许多个线程同时执行13.请阅读下面的程序publicclassExample03{publicstaticvoidmain(Stringargs){intx=3;if(x5){System.out.println(a);}else{System.out.println(b);}}}程序的运行结果是()A、trueB、falseC、aD、b14.请阅读下面的程序,选择正确的运行结果。()classDemo{privatestaticintx;publicstaticvoidmain(String[]args){System.out.println(x++);}}A、0B、1C、无结果D、编译失败15.请阅读下面的程序片段booleanb=true;if(b=false){System.out.println(a);}elseif(b){System.out.println(b);}elseif(!b){System.out.println(c);}else{System.out.println(d);}下面选项中,哪一个是程序的执行结果()A、aB、bC、cD、d16.r类的write(intc)方法的作用是()A、写出单个字符B、写入多个C、写入一个整形数据D、写入单个字符17.以下操作数据库结束后关闭资源顺序合理的是()A、ResultSetStatement(或PreparedStatement)-ConnectionB、ConnectionStatement(或PreparedStatement)-ResultSetC、Statement(或PreparedStatement)ResultSet-ConnectionD、以上都错误18.下面浮点型数据的定义中,错误的是()A、floata=1.23;B、doubleb=1.23;C、doublec=1.5E4;D、floatd='a';19.阅读下面程序片段switch(i){case1:System.out.println(message1);case2:System.out.println(message2);case3:System.out.println(message3);break;}请说当变量i的值为多少时,程序只输出“message3”。()A、1B、2C、3D、420.下列选项中,哪个类是所有异常类的父类?A、ThrowableB、ErrorC、ExceptionD、AWTError得分判断题(对的打“√”,错的打“×”;每题1分,共20分)21.GridLayout布局管理器会将容器分成n行m列大小相等的网格,每个网格中可以放置多个组件()22.端口号的取值范围是0~65535。()23.static关键字可以修饰成员变量,也可以修饰局部变量。()24.安装JDK时可以选择不安装公共JRE。()25.若int[][]arr=newint{{1},{2,3,4},{5,6}},则arr[1][1]的结果为3。()26.自定义的异常类必须继承自Exception或其子类。()27.标识符可以为关键字。()28.Throwable类中的getMessage()方法用于返回此throwable的详细消息字符串。()29.do…while语句与while语句完全相同,没有任何区别。()30.String类的equals()方法和“==”的作用是一样的。()31.HashSet是Set接口的一个实现类,它所存储的元素是可重复的,并且元素都是无序的。()32.只能在构造方法中使用this调用其它的构造方法,不能在成员方法中使用。()33.由于LinkedList的底层是链表实现的,所以他的增删比较快,查询比较慢。()34.私有属性只能在它所在类中被访问,为了能让外界访问私有属性,需要提供一些使用public修饰的公有方法。()35.Swing是一种重量级组件,它由Java语言开发,同时底层以AWT为基础。()()36.Object类中的toString()方法用于返回对象的字符串表示形式。()37.Java中的常量是固定不变的值。()38.在定义变量的同时,必须对该变量进行初始化赋值。()()39.Throwable有两个直接子类Error和Exception()40.使用foreach循环遍历集合和数组时,可以访问集合中的元素,并对其中的元素进行修改。()()得分填空题(每题1分,共计10分)41.Connection接口的【】方法用于创建一个PreparedStatement对象来将参数化的SQL语句发送到数据库42.Callable接口方式实现的多线程是通过【】类来封装和管理返回结果的。43.每个字符都有自己的ASCII整数编码,字符’a’的编码是【】。44.Java中被【】修饰的变量称为常量,它只能被赋值一次,并且一旦被赋值,其值不能改变。45.面向对象程序设计中,最重要是【】的设计。46.Personp1=newPerson();Personp2=p1;这两句代码创建了【】个对象。47.JDK中提供的两个转换流分别是【】和OutputStreamWriter。48.通常情况下会在finally{}代码块中调用【】方法来解锁。49.Java中引入了“参数化类型(parameterizedtype)”这个概念,即【】。50.JPopupMenu弹出式菜单需要通过调用add()方法添加JMenuItem菜单项,但它默认是不可见的,如果想要显示出来,则必须调用它的【】方法得分简答题(每题5分,共计30分)51.请简述使用TCP通信的相关知识,编写一个文件上传的程序的思路。52.请阅读下面的程序,在空白处填写正确的代码,使Son类的eat方法重写Father的eat方法。publicclassFather{publicvoideat(Stringname){System.out.println(name+吃番薯);}}classSon______________{@Overridepublicvoideat(Stringname){System.out.println(name+吃米饭);}}53.简述JDK安装目录中的bin目录和lib目录的作用。54.在构造方法中,如果形式参数的变量名称和成员变量的名称一致,请问如何解决变量名冲突的问题,以及如何为成员变量赋值。55.简要概述多态的作用。56.请简述面向对象的三大特征。答案单选题(每题2分,共计40分)1.C2.B3.D4.B5.C6.B7.D8.A9.B10.D11.A12.C13.D14.A15.C16.D17.A18.A19.C20.A判断题(每题1分,共计20分)21.错22.对23.错24.对25.对26.对27.错28.对29.错30.错31.错32.错33.对34.对35.错36.对37.对38.错39.对40.错填空题(每题1分,共计10分)41.【prepareStatement(Stringsql)】42.【FutureTask】43.【97】44.【final】45.【类】46.【2】47.【InputStreamReader】48.【unlock()】49.【泛型】50.【show(Componentinvoker】简答题(每题5分,共计30分)51.正确答案:(1)从任务描述中使用TCP通信的知识实现文件上传功能可知,要实现此功能,需要定义一个服务器端接收文件的程序和一个客户端上传文件的程序。(2)首先需要编写服务器端程序来接收图片。服务器端需要使用ServerSocket对象的accept()方法接收客户端请求,由于一个服务器可能对应多个客户端,所以当客户端与服务器端建立连接后,服务器端需要单独开启一个新的线程来处理和客户端的交互,这时需要在服务器端编写开启新线程方法。在新线程的方法中,需要获取客户端的端口号,并且使用输入输出流来传输图片到指定目录中。(3)实现完服务器端的代码后,还需要实现客户端功能代码。客户端功能的实现,需要使用Socket类来创建客户端对象,并且通过输入输出流来定义指定的图片。(4)最后先运行服务器端程序,再运行客户端程序来测试结果。52.正确答案:extendsFather53.正确答案:bin目录:该目录用于存放一些可执行程序,如javac.exe(Java编译器)、java.exe(Java运行工具)、jar.exe(打包工具)和javadoc.exe(文档生成工具)等。lib目录:lib是library的缩写,意为Java类库或库文件,是开发工具使用的归档包文件。54.正确答案:通过this关键字引用成员变量,这样可以明确的访问一个类的成员变量,解决与局部变量名称冲突问题,然后把局部变量的值赋值给成员变量即可。55.正确答案:1、应用程序不必为每一个子类编写功能调用,只需要对抽象父类进行处理即可。大大提高程序的可复用性。2.子类的功能可以被父类的方法或引用变量所调用,这叫向后兼容,可以提高可扩充性和可维护性。3、使用多态可以解决项目中紧偶合的问题,提高程序的课扩展性.是OCP原则的一个具