
java考试习题及答案.doc
46页Java 程序设计习题 及历年考试题单项选择题(80) 1. 接口中的成员变量被隐含地声明为在接口中,所有的数据域都是public static final的,所有的方法都是public abstract的 (A)public static final (B)public final (C)public static (D)public abstract 2. 处理按钮点击事件的类需要实现哪个接口 (A)FocusListener (B)ActionListener (C)WindowListener (D)ItemListener 3. 已知: class A { public final void m() { System.out.println(“A.m”); } } public class B extends A { public void m() {不能覆盖A中的m(),因为A中的m()是final的 System.out.println(“B.m”); super.m(); } public static void main(String [] args) { new B().m(); } } 那么结果为? (A)A.m (B)B.m (C)B.m A.m (D)编译错误 4. 抛出异常,使用关键字声明异常的关键字是throws,抛出异常的关键字是throw (A)try (B)throw (C)finally (D)catch 5. 已知: class Base { public Base(String s) { System.out.print(“B”); } } public class Derived extends Base { public Derived (String s) {默认第一句为super();调用父类的无参构造方法,但是父类由于显示地定义了含参构造方法,所以他没有无参构造方法,导致编译错误。
System.out.print(“D”); } public static void main(String [] args) { new Derived (“C”); } } 那么结果为? (A)BD (B)DB (C)C (D)编译错误 6. Java 中char类型的数据长度为 (A)8位 (B)16位 (C)32位 (D)64位 7. Java 编译输出文件的后缀是 (A).exe (B).java (C).class (D).obj 8. 已知: class C { public static void main(String[] args) { boolean a = true; boolean b = false; boolean c = true; if((a & b) | (b & c) & c) System.out.print(“A”); If((a = false) | (a & c) ) | (a | b))“if”的”i”大写了不知道算不算,还有就是括号不匹配 System.out.print(“B”); } } (A)A (B)B (C)AB (D)编译错误 9. 下面哪个表达式是错误的 (A)int i = 100; (B)float f = 100.0;100.0是double型的,不能转换为float (C)Object o = “Hello world”; (D)char c = ‘\u1234’; 10. 引用类型的数据字段的缺省值为 (A)0.0 (B)0 (C)null (D)false 11. 下面哪个表达式可以获取字符串 s 的最后一个字符 (A)s.length() (B)s[s.length() - 1]Java很恶心,居然不支持String的下标访问 (C)s.charAt(s.length() - 1) (D)charAt(s, length(s)) 12. 数据字段的作用域是书P185 7.11 (A)所在的语句块 (B)所在的类 (C)所在的方法 (D)所在的构造函数 13. 如果类中的成员只能被子类或同一包中的类访问,那么声明该成员时应使用下面哪个修饰符 书P254 9.11 (A)private (B)package (C)protected (D)public 14. import语句的作用是 (A)导入包中成员 (B)创建包 (C)既可导入包成员,也可创建包 (D)访问控制 15. 已知: class C { public static void main(String[] args) { int a = 1; int b = 2; System.out.print( “7” + 5 + 4);如果操作数之一不是字符串,非字符串值先转换为字符串,再与另一个字符串连接起来。
System.out.print(m() + a + 3); System.out.println(a + b + m());如果操作数都不是字符串,那么+号是将两个数加起来的加法运算符 } public static String m() { return “6”; } } (A) 79613126 (B) 79614336 (C) 75461336 (D) 754613126 16. 接口中的成员方法被隐含地声明为在接口中,所有的数据域都是public static final的,所有的方法都是public abstract的 (A)public static final (B)protected abstact (C)private (D)public abstract 17. 关于包的描述错误的是 (A)包可以将相关的类和接口组织在一起,便于识别和管理 (B)包中的类可以访问同一包的其它类的私有成员私有(private)成员只允许本类访问 (C)不同包中的相同命名,不会产生冲突 (D)用public 修饰的顶级类和接口对包外代码可见 18. 下面代码的输出是 class C { public static void main(String[] args) { int x = 1; System.out.print((x > 1) & (x++ > 1));运算符 & 和 | 的两个运算对象都要计算 System.out.print( ““); System.out.print((x > 1) && (x++ > 1)); } } (A)false true (B)true false (C)false false (D)true true 19. float[] f = new float[10],则f[0]的值为0.0是double型,0.0f才是float型,需要进行强制类型转换 (A)0.0 (B)0.0f (C)null (D)false 20. 下面哪个类不能直接读取磁盘文件FilterReader是一个用于读取已过滤的字符流的抽象类 (A)FileReader (B)RandomAccessFile (C)FilterReader (D)FileInputStream 21. 如果类中的成员只能被同一包中的类访问,那么声明该成员时应使用下面哪个修饰符书P254 9.11 (A)protected (B)package (C)public (D)不使用访问修饰符 22. 表达式new StringTokenizer( “Welcome to java”).countTokens()的值是默认返回非连续字符串的个数 (A)1 (B)3 (C)13 (D)15 23. JPanel 的缺省布局管理器是书P333 小结3 (A)BorderLayout (B)FlowLayout (C)GridLayout (D)SpringLayout 24. JFrame 的缺省布局管理器是书P333 小结3 (A)BorderLayout (B)FlowLayout (C)GridLayout (D)BoxLayout 25. 已知: public class C { public int m(int x) { int r = 1; r += x;r=1 + 11 = 12 if ((x > 5) && (x < 10)) { r += 2 * x; } else (x <= 4) { r += 3 * x; } else { r += 4 * x;r=12 + 44 = 56 } r += 5 * x;r=56 + 55 = 111 return r; } public static void main(String [] args) { C o = new C(); System.out.println(“m(11) = “ + o.m(11)); } } (A)m(11) = 45 (B)m(11) = 56 (C)m(11) = 89 (D)m(11) = 。












