资源描述
一、选择填空题:全部为多选题,只有全部正确才能得分。1. 编译java程序的命令是_b_;运行java程序的命令是_a_;产生java文挡的命令是_d_;查询java类型是否是serializable类型的命令是_c_;产生java安全策略文件的命令是_e_;产生类型归档文件.jar的命令是_f_。A. java B. javac C. serialver D.javadoc E.policytool F.jar2. 在一个java原文件中,import, class, package语句的顺序是_f_。A. import class packageB. class import packageC. package class importD. import package classE. class package importF. package import class3. 下面叙述正确的有_cde_。A. 在一个java原文件中只能定义一个classB. 在一个java原文件中只能定义一个interfaceC. 在一个java原文件中可以定义多个classD.在一个java原文件中可以定义多个interfaceE. 在一个java原文件中可以定义多个class和interfaceF. 在一个java原文件中只能定义public classG. java原文件的前缀一定是所包含类型的名字4. java程序中程序运行入口方法main的签名正确的有_a_。A. public static void main(String args)B. static public void main(String args)C. public void static main(String args)D. public void main(String args)5. java程序中程序入口方法main的参数代表命令行输入参数,命令行参数从_a_开始。A. 0 B. 1 C.-16. 以下属于正确的java注释有_acd_。A. /This is comment B. /*This is commentC. /*This is comment*/ D. /*This is comment*/ 7. 以下能作为class, interface, method或variable有效标识符的有_adf_。A. For B.boolean C.23ageD. _id E.my name F. $this_is_a_long_variable_name8. 以下不是java关键字的有_d_。A. super C.this D.NULL E.true9. byte变量的取值范围是_b_。A. 0 - 65535 B.-128 ? 127 C.-256 ? 255 D.0 - 3276710. 以下正确的有_ac_。A. int i = 32; B.float f = 45.32; C. double d=3.2;11. 根据以下程序选择正确答案_c_:public class Test static int total = 10; public static void main (String args ) new Test(); public Test () System.out.println(In test); System.out.println(this); int temp = this.total; if (temp 5) System.out.println(temp); A. 编译出错 B.运行时有异常 C. 编译运行都正确12. 下面集合定义正确的有_bd_。A. String strs = a b c; B. String strs = “a”, “b”, “c”;C. String strs = new String“a” ”b” ”c”;D.String strs = new String“a”, “b”, “c”;E.String strs = new String3“a”, “b”, “c”;13. 以下switch表达语句正确的有_ac_。A. public void switchTest(char c)switch(c)B. public void switchTest(long c)switch(c)C. public void switchTest(byte c)switch(c)D. public void switchTest(double c)switch(c)14.面向对象的特性包括_g_、_i_和_j_。在java中访问权限的限制由严格到宽松依次是_e_、_h_、_b_和_a_。A.public B.protected C.identifier D.data E.private F.operations G.inheritance H.default(no modifier)I.encapsulation J.polymorphism15. Java方法的参数传递对于基本数据类型如int, byte等,参数传递是_c_;对自定义数据类型,参数传递是_a_。A. by reference B.by pointer C. by value D.by address16. 下面程序出错的有_8,10_行。1. class Student2. private String name; private int age;3. public Student()4. public void setName(String name) this.name=name; 5. void setAge(int age) this.age= age; 6. 7. public class StudentTest8. public void static main(String args)9. Student s = new Student();10. s.name = “Hellen”;11. s.setAge(20);12. 13. 17. 方法重载(overloading)必须满足_bce_。A. 在不同class中定义的方法 B.在同一类中定义的方法C. 方法名必须相同 D.返回类型必须相同E. 参数一定不同 F.参数可以相同18. 对于构造方法(constructor)描述正确的有_ac_。A. 构造方法没有返回类型 B.构造方法一定是public的方法C.如果我们没有显示定义构造方法,系统会提供一个缺省的D.构造方法不能重载19.在java语法中允许_b_继承,_a_方法不能被继承,_cd_被继承,显示调用父类型的构造方法是通过调用_e_来完成的。A. constructor B. single C. methods D. fields E. super19. 请看以下程序:class Vehicle public void drive() System.out.println(Vehicle: drive); class Car extends Vehicle public void drive() System.out.println(Car: drive); public class Test public static void main (String args ) Vehicle v; Car c; v = new Vehicle(); c = new Car(); v.drive(); c.drive(); v = c; v.drive(); 以下描述正确的有_c_。A.对于语句v=c;会导致编译错误 B.对于语句v=c;会导致运行错误C.运行输出:Vehicle: driveCar: driveCar: driveD.运行输出:Vehicle: driveCar: driveVehicle: drive20. 程序: public class StaticTest static System.out.println(Hi there); public void print() System.out.println(Hello); public static void main(String args ) StaticTest st1 = new StaticTest(); st1.print(); StaticTest st2 = new StaticTest(); st2.print(); 什么时候字符串“Hi there”会输出_c_。A.永远都不会输出 B.创建st1和st2时C.第一次将StaticTest类型装载进内存时 D.显示调用print方法时 21. 以下描述正确的有_bcde_。A.abstract class一定有abstract method(s)B.abstract class可以没有abstract method(s)C.定义abstract class的目的是为了被继承D.interface中定义的方法全是abstract methodsE.interface中定义的变量全部是final static变量22. 一个匿名的内置类有可能_abd_。A.继承其他的类 B.实现了某一接口C.定义了构造方法 D.可以使用成员变量 23. _a_又叫做unchecked exception。 Checked Exception通常继承_b_。在方法签名上指定可能有异常产生用关键字_e_, 在程序中产生异常用关键字_d_。获得异常的简单描述信息调用方法_c_, 获得详细的异常栈信息调用方法_f_。A. RuntimeException B. Exception C. getMessageD. throw E.throws F.printStackTrace24. 在图形编程中,将不同的控件按区域排列用_d_布局管理器;让控件自动排列并保持大小用_c_布局管理器;让控件按相同大小排列用_b_布局管理器;一次只有一个控件可见的布局管理器是_a_。A. CardLayout B. GridLayout C. FlowLayout D. BorderLayout25. 图形编程通常按_cabd_顺序。A.设置布局管理器(Layout manager) B.向容器中增加控件C.选择容器 D.为控件设置事件处理器26. 完成如下代码,按照FlowLayout的布局方式向JFrame中添加一JButton:JFrame frame = new JFrame(“Simple GUI”);FlowLayout fl = new FlowLayout();frame.setLayout(f1);JButton btn = new JButton(“OK”);frame.add(btn);27. 事件处理方式采用了observer(观察者)设计模式,事件编程模式三要素是_a_、_b_和_c_。其中, _b_通常继承java.util.EventObject, _c_通常继承java.util.EventListener。A.Event source B.Event objectC.Event listener D.Helper E.Model28. JButton是_b_事件的事件源,它通过方法_a_注册事件侦听器, 事件侦听器必须实现接口_c_,当事件发生时侦听器的方法_e_被调用,在此方法中调用_b_的方法_d_可以获得事件源。A. addActionListener B. ActionEventC.ActionListener D.getSource E.actionPerformed29. JFrame的却省布局管理器是_b_, JDialog的却省布局管理器是_b_, JPanel的却省布局管理器是_a_。A. FlowLayout B.BorderLayout C.GridLayout D.GridBagLayout30. 在swing编程中,用作提示信息的控件是_f_, 作单行文本编辑的控件是_d_, 用作多行文本编辑的控件是_a_,可编辑HTML等类型文档的控件是_e_,在界面上显示多条记录并可多重选择的控件是_b_, 从下拉框中选择记录的空间是_c_。A. JTextArea B. JList C. JComboBox D. JTextField E. JEditorPane F. JLabel31. 创建线程(Thread)的方式有两种,一种是继承类_b_,另一种是实现接口_c_。启动线程的方法是_d_。线程启动后运行的是_a_里的代码。A.run B.Thread C.Runnable D.start32. 完成以下代码创建并启动线程:public class TestThread implements Runnable public void run() for(int i = 0; i 10000; i+) System.out.println(i); public static void main(String args) TestThread tt = new TestThread(); Thread t = _; t._;33. 判断一个线程是否被中断,调用方法_c_;中断一个线程,调用方法_a_;等待一个线程退出,调用方法_b_;一个线程放弃执行权利调用方法_d_。A. interrupt B.join C.isInterrupted D.yield34. 并发控制是多线程编程的难点。一个线程要等待某个条件的满足调用方法_b_;通知某一个处于等待状态线程的方法是_a_,通知多个的是_d_;处于等待状态的线程当前调用的方法或程序块用关键字_c_来限制。A.notify B.wait C.synchronized D.notifyAll35. 对原始数据的读写,采用流_a_和_h_,为了提高性能,采用流_f_和_i_;对各种基本数据类型和String类型的读写,采用流_b_和_d_;读写文本类型采用_c_和_j_,方便读写文本行采用流_e_和_k_;对象读写采用流_l_和_m_。A. InputStream B.DataInputStream C. Reader D.InputStreamReaderE.BufferedReader F.BufferedInputStream G.DataOutputStream H.OutputStream I.BufferedOutputStream J.Writer K.PrintWriter L.ObjectInputStream M.ObjectOutputStream N.OutputStreamWriter 36. 一个File对象是文件或目录在内存中的表示,File类型中定义了方法_d_来判断一个文件是否存在,定义方法_a_创建一个新文件,定义方法_c_删除一个文件,定义方法_b_改变文件名,定义方法_f_创建一级目录,定义方法_e_同时创建一个目录层次。对原始数据类型文件的操作用文件I/O流_h_和_k_;对文本文件操作用文件I/O流_g_和_j_;同时对一个文件进行读写操作用文件流_i_。A.createNewFile B.renameTo C.delete D.existsE.mkdirs F.mkdir G.FileReader H.FileInputStream I.RandomAccessFile J.FileWriter K.FileOutputStream37. 创建一个TCP服务程序,该程序运行在port为6868,完成以下代码,实现一个多线程的服务程序:_ServerSocket ss = new ServerSocket(6868);while(true) Socket clientRequest = ss.accept(); service(clientRequest);38. 创建一个tcp客户程序的顺序是_dacbe_。A. 获得I/O流B. 关闭I/O流C. 对I/O流进行读写操作D. 建立socketE. 关闭socket39. 创建一个tcp服务程序的顺序是_bcadegf_。A. 创建一个服务线程处理新的连接B. 创建一个服务器socketC. 从服务器socket接受客户连接请求D. 在服务线程中,从socket中获得I/O流E. 对I/O流进行读写操作,完成与客户的交互F. 关闭socketG. 关闭I/O流40. 可以通过使用URL和URLConnection类型来完成基于HTTP/FTP的远程通讯,完成以下代码读取Tarena网站www.usts.edu.cn的首页内容: URL tarenaFirstPage = _new URL(http:/210.29.0.5)_; InputStream is = _tarenaFirstPage.openString()_; BufferedReader br = _new bufferedReader(is)_; String line = null; while(line = br.readLine() != null) System.out.println(line);41. Java UDP编程主要用到的两个类型是_b_和_d_。发送和接收信息的方法是_f_。A.UDPSocket B.DatagramSocketC.UDPPacket D.DatagramPacketE.read/write F.send/receive 42.指出下列哪个方法与方法public void add(int a)为合理的重载方法。 bcdA public int add(int a) B public void add(long a) C public void add(int a,int b) D public void add(float a)43.如果下列的方法能够正常运行,在控制台上将显示什么?ACDpublic void example()tryunsafe();System.out.println(Test1);catch(SafeException e)System.out.println(Test 2);finallySystem.out.println(Test 3);System.out.println(Test 4); A Test 1 B Test 2 C Test 3 D Test 444.如果下列的方法不能正常运行,在控制台上将显示什么?BCDpublic void example()tryunsafe();System.out.println(Test1);catch(SafeException e)System.out.println(Test 2);finallySystem.out.println(Test 3);System.out.println(Test 4); A Test 1 B Test 2 C Test 3 D Test 445. 写出下面程序的运行结果:Hello!I love JAVA. import java.io.*;public class abc public static void main(String args ) AB s = new AB(Hello!,I love JAVA.); System.out.println(s.toString( ); class AB String s1; String s2; public AB(String str1, String str2) s1 = str1; s2 = str2; public String toString( ) return s1+s2;二单选题1. 下列哪个是JDK提供的编译器( B ) A.java.exe B.javac.exe C.javap.exe d.javaw.exe2. 下列哪个是Java应用程序主类中正确的main方法 ( D ) A. public void main(String args) B. static void main(String args) C. public static void Main(String args) D. public static void main(String args)3.下列哪个叙述是正确的( B ) A.Java应用程序由若干个类所构成,这些类必须在一个源文件中. B.Java应用程序由若干个类所构成,这些类可以在一个源文件中,也可以在若干个源文件中,其中必须有一个源文件含有主类. C.Java源文件必须含有主类. D.Java源文件如果含有主类,主类必须是public类.4.下列哪个叙述是正确的( D ) A.成员变量的名字不可以和局部变量的名字相同. B.方法的参数的名字可以和方法中声明的局部变量的名字形同. C.成员变量没有默认值. D.局部变量没有默认值.5.下列哪些类的声明是错误的( D ) A.class A B.public class A C.protected class A D.private class A6.下列哪个叙述是正确的( C ) A.子类继承父类的构造方法. B.abstract类的子类必须是非abstract类 C.子类继承的方法只能操作子类继承和隐藏的成员变量 D.子类重写或新增的方法也只能直接操作被子类隐藏的成员变量7. 下列哪个叙述是正确的( D ) A.final类可以有子类. B.abstract类中只可以有abstract方法 C.abstract类中可以有非abstract方法,但该方法不可以用final修饰 D.不可以同时使用abstract和final修饰修饰同一个方法 E.允许使用static修饰abstract方法8.假设C是B的子类,B是A的子类,cat是C的一个对象,bird是B的一个对象,下列哪个叙述是错误的( D ) A. cat instanceof B的值是true B. bird instanceof A的值是true C. cat instanceof A的值是true D. bird instanceof C的值是true9.下列程序注释中的哪个代码(A,B,C,D)是错误的(无法通过编译)( B ) class A static int m; static void f() m=20; /A class B extends A void f() /B m=222; /C class E public static void main(String args) A.f(); /D 10.下列代码中标注的(A,B,C,D)中,哪一个是错误的( B ) abstract class Takecare protected void speakHello() /A public abstract static void cry(); /B static int f() return 0; /C abstract float g(); /D 11. 下列程序注释中的哪个代码(A,B,C,D)是错误的(无法通过编译)(D ) Abstract class A Abstract float getFloat(); /A Void f() /B Public class B extend A Private float m=1.0f; /C Private float getFloat() /D Return m; 12. 下列哪个代码(A,B,C,D)放入程序中标注的【代码】处将导致编译错误?(B ) A. public float getNum() return 4.0f; B. public void getNum() C. public void getNum(float d) D. public double getNum(float d) return 4.0f; class A public float getNum() return 3.0f; class B extends A 【代码】 13.对于下列代码,下列哪个叙述是正确的? ( A ) A.程序提示编译错误(原因是A类没有不带参数的构造方法) B.编译无错误, 【代码】输出结果是0。 C.编译无错误, 【代码】输出结果是1。 D.编译无错误, 【代码】输出结果是2。 class A public int i=0; A(int m) i=1; class B extends A B(int m) i=2; public static void main(String args ) B b=new B(200); System.out.println(b.i); / 【代码】 14、编译Java Application 源程序文件将产生相应的字节码文件,这些字节码文件的扩展名为( B )。 A. java B. .class C. html D. .exe15以下关于继承的叙述正确的是( A )。A、在Java中类只允许单一继承B、在Java中一个类只能实现一个接口C、在Java中一个类不能同时继承一个类和实现一个接口D、在Java中接口只允许单一继承16以下哪个关键字可以用来对对象加互斥锁?( B ) A、transient B、synchronized C、 serializeD、static17、如下哪个是Java中的标识符( D ) A、public B、superC、3number D、width18、如下哪个是Java中的标识符( A )A、fieldname B、superC、3number D、#number19、如下哪个是Java中有效的关键字( C ) A、nameB、helloC、false D、good20、下面的代码段执行之后count的值是什么( D )int count = 1;for (int i = 1; i = 5; i+) count += i;System.out.println(count);A、5 B、1C、15 D、1621、定义一个类,必须使用的关键字是( B )A、publicB、classC、interfaceD、static22、定义一个接口必须使用的关键字是( C )A、public B、classC、interfaceD、static23、声明并创建一个按钮对象b,应该使用的语句是( A )A、Button b=new Button();B、button b=new button();C、Button b=new b();D、b.setLabel(“确定”);24、Frame对象默认的布局管理器是( B )A、FlowLayoutB、BorderLayoutC、CardLayoutD、null25、下面哪一个import命令可以为我们提供编写网络应用程序的类(D)A、import java.sql.*;B、import java.util.*;C、import java.io.*;D、import java.net.*;26、如果需要从文件中读取数据,则可以在程序中创建哪一个类的对象( A )A、FileInputStream B、FileOutputStream C、DataOutputStream D、FileWriter27、当某一线程正处于休眠状态,而另一个线程用 Thread 类中的 interrupt() 方法中断它时,抛出的异常类型是( C )。A) IOException B) RuntimeExceptionC) InterruptedException D) ClassNotFoundException28下列修饰符中与访问控制无关的是(D)Aprivate BpublicCprotectedDfinal29关于对象成员占用内存的说法哪个正确?(B)A同一个类的对象共用同一段内存B、同一个类的对象使用不同的内存段,但静态成员共享相同的内存空间C对象的方法不占用内存D以上都不对30下列说法哪个正确?( C )A不需要定义类,就能创建对象B对象中必须有属性和方法C属性可以是简单变量,也可以是一个对象D、属性必须是简单变量31下列说法哪个正确?( A )A、一个程序可以包含多个源文件B、一个源文件中只能有一个类C、一个源文件中可以有多个公共类D、一个源文件只能供一个程序使用32关于方法main()的说法哪个正确?(C)A方法main()只能放在公共类中B main()的头定义可以根据情况任意更改C一个类中可以没有main()方法D所有对象的创建都必须放在main()方法中33构造函数何时被调用?( A)A、创建对象时B、类定义时C、使用对象的方法时D、使用对象的属性时34抽象方法:( C )A、可以有方法体B、可以出现在非抽象类中C、是没有方法体的方法D、抽象类中的方法都是抽象方法35关于继承的说法正确的是:( B)A、子类将继承父类所有的属性和方法。B、子类将继承父类的非私有属性和方法。C、子类只继承父类public方法和属性D、子类只继承父类的方法,而不继承属性36关于构造函数的说法哪个正确?(C)A、一个类只能有一个构造函数B、一个类可以有多个不同名的构造函数C、构造函数与类同名D、构造函数必须自己定义,不能使用父类的构造函数37 this和super: ( C )A、都可以用在main()方法中B、都是指一个内存地址C、不能用在main()方法中D、意义相同38覆盖与重载的关系是(A)A、覆盖只有发生在父类与子类之间,而重载可以发生在同一个类中B覆盖方法可以不同名,而重载方法必须同名Cfinal修饰的方法可以被覆盖,但不能被重载D覆盖与重载是同一回事39关于接口哪个正确?(A)A、实现一个接口必须实现接口的所有方法B一个类只能实现一个接口C接口间不能有继承关系D接口和抽象类是同一回事40异常包含下列哪些内容?(A)A程序执行过程中遇到的事先没有预料到的情况B程序中的语法错误C程序的编译错误D以上都是41对于已经被定义过可能抛出异常的语句,在编程时:(A)A、必须使用trycatch语句处理异常,或用throws将其抛出B如果程序错误,必须使用 trycatch语句处理异常C可以置之不理D只能使用trycatch语句处理42字符流与字节流的区别在于(D)A前者带有缓冲,后者没有B前者是块读写,后者是字节读写C. 二者没有区别,可以互换使用D. 每次读写的字节数不同43. 请说出下列代码的执行结果 : String s = abcd; String s1 = new String(s); ( B )if (s = = s1) System.out.println(the same); if (s.equals(s1) System.out.println(equals); A. the same equals B. equals C. the same D. 什么结果都不输出44. 下列有关 Java 中接口的说法哪个是正确的? ( B )A. 接口中含有具体方法的实现代码 B. 若一个类要实现一个接口,则用到 “implements” 关键字 C. 若一个类要实现一个接口,则用到“ extends ”关键字 D. 接口不允许继承 45.下列说法正确的是B A.不需定义类,就能创建对象 B.属性可以是简单变量,也可以是一个对象 C.属性必须是简单变量 D.对象中必有属性和方法 5.若有定义 String to=I am a good cat;则to.indexOf(a,7)的值为BA.7 B.13 C.14 D.8 8.下面不是面向对象技术特点的是A A.模块化 B.封装 C.继承性 D.多态性11.下面哪个代表八进制数字C A.0x12 B.320 C.032 D.12 14.下面不是合法Java标识符的是C A.ab B.$3 C.3ab D.ab3 16.接口中的方法被默认是什么的B A.private B.public C.protected D.package 17.Java语言的编译器命令是AA.javac B.java C.javaw D.jar19.关于实例方法和类方法的区别,下列描述正确的是BA.实例方法是不用创建类的实例就可以直接调用B.类方法是通过static关键字声明的方法C.实例方法属于类D.类方法是通过new以后才能调用的方法23.使用哪个关键字来定义一个接口D A.implements B.class C.extends D.interface 25.若有定义 String tom=I am a good cat;则tom.indexOf(a)的值为A A.2 B.3 C.4 D.5 28. main()需要一个参数,它是B A.一个整型量 B.一个String对象 C.一个实型量 D.一个任意类的对象 29.下列不是重载方法的特征的是D A.参数个数不同 B.参数名相同而类型不同 C.参数类型不同 D.参数名相同且类型相同 30.在Java中,名字必须与它所在的类的名字相同,而且不返回任何数据类型的方法是AA.构造方法 B.类方法 C.实例方法 D.重载方法32.不是修饰符的是DA.public B.private C.protected D.class33.java.lang包中的类,该类的实例用来封装对象运行时的状态的是AA.Class B.Object C.Math D.Date36.在编写异常处理的Java程序中,每个catch语句块都应该与_C_语句块对应,使得用该语句块来启动Java的异常处理机制.A.if-else B.switch C.try D.throw37.下面关于继承的描述正确的是_A_.A.在Java中只允许单一继承 B.在Java中一个类只能实现一个接口C.在Java中一个类不能同时继承一个类和实现一个接口D.Java的单一继承使代码不可靠40.下列_B_是异常的含义.A.程序的语法错B.程序编译或运行中所发生的异常事件C.程序预定义好的异常事件D.程序编译错误43.定义一个名为key的类,使之不能被继承,应选D A.class key B.native class key C.class key final; D.final class key 44.已知:int a=new int100; 在下列给出的数组元素中,非法的是_D_.A.a0 B.a1 C.a99 D.a10045.编译一个定
展开阅读全文