《JAVA语言程序设计 复习题(78页).doc》由会员分享,可在线阅读,更多相关《JAVA语言程序设计 复习题(78页).doc(81页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、-一、选择填空题:全部为多选题,只有全部正确才能得分。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 packa
2、geC. 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原文件的前缀一定是所
3、包含类型的名字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
4、 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 - 327
5、6710. 以下正确的有_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.print
6、ln(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.
7、 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.encapsulat
8、ion 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 a
9、ge) 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.
10、 构造方法没有返回类型 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 vo
11、id 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: driv
12、eCar: 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
13、.永远都不会输出 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.定义了构造方法
14、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_布局管理器;
15、一次只有一个控件可见的布局管理器是_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
16、 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_被调用,在此方法中调用
17、_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_,
18、在界面上显示多条记录并可多重选择的控件是_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(
19、) 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_;通
20、知某一个处于等待状态线程的方法是_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.BufferedR
21、eader 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_同时创建一个目录层次。对原始
22、数据类型文件的操作用文件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(686
23、8);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. 关
24、闭I/O流40. 可以通过使用URL和URLConnection类型来完成基于HTTP/FTP的远程通讯,完成以下代码读取Tarena网站的首页内容: 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(lin
25、e);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.如果下列的方法
26、能够正常运行,在控制台上将显示什么?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
27、.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 JAV
28、A.); 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(Strin
29、g 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.成员变
30、量的名字不可以和局部变量的名字相同. 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
31、类可以有子类. 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的值是tru
32、e9.下列程序注释中的哪个代码(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 voi
33、d 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. p
34、ublic 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。
35、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