你的答案:B
会抛出:java.util.IllegalFormatConversionException: d != java.lang.Double 异常。
2、如下代码:
public class Test {
private int a;
public int b;
protected int c;
int d;
public static void main(String[] args) {
Test test = new Test();
int a = test.a++;
int b = test.b--;
int c = test.c++;
int d = test.d--;
System.out.println(a + " - " + b + " - " + c + " - " + d);
}
}
请问哪个说法是正确的?
0/ 3
A. 编译错误,因为变量a、b、c和d没有被初始化
B. 编译错误,因为变量a无法被访问
C. 编译成功并输出0 - 0 - 0 - 0
D. 编译成功并输出1 - -1 - 1 - -1
参考答案:C
你的答案:D (这题太大意了,低级错误)
3、代码片段:
package certkiller;
class Target {
public String name = "hello";
}
哪些类能够直接访问并且改变name这个变量的值。
0/ 3
A. 任意类
B. 只有Target这个类
C. certkiller包下的类
D. Target的子类
参考答案:C
你的答案:A (留意Target不是public的)
4、代码片段:
1. public class Person {
2. private String name;
3. public Person(String name) { this.name = name; }
4. public boolean equals(Person p) {
5. return p.name.equals(this.name);
6. }
7. }
哪个选项的描述是正确的?
0/ 3
A. equals方法没有正确覆盖Object类中的equals方法。
B. 编译这段代码会出错,因为第5行的私有属性p.name访问不到。
C. 如果要与基于哈希的数据结构一起正常地工作,只需要在这个类中再实现hashCode方法即可。
D. 当添加一组Person对象到类型为java.util.Set的集合时, 第4行中equals方法能够避免重复。
参考答案:A
你的答案:B (因为在Person类里面,所以可以访问name属性,Object类的的equals方法是public boolean equals(Object obj) )
5、代码片段:
import java.util.*;
public class Example {
public static void main(String[] args) {
// 在这里插入代码
set.add(new Integer(2));
set.add(new Integer(1));
System.out.println(set);
}
}
插入哪个选项时的代码能够使程序输出[1, 2]?
0/ 3
A. <code lang="java"> Set set = new TreeSet(); </code>
B. <code lang="java"> Set set = new HashSet(); </code>
C. <code lang="java"> Set set = new SortedSet(); </code>
D. <code lang="java"> List set = new SortedList(); </code>
E. <code lang="java"> Set set = new LinkedHashSet(); </code>
参考答案:A
你的答案:C (SortedSet是一个接口来的。。。= =!)
6、代码片段:
class Sudo {
static void telnet() { /* 这里是省略的代码 */ }
void ssh() { /* 这里是省略的代码 */ }
}
请问哪些选项的描述是正确的?
0/ 5
A. Sudo.ssh()能够正确调用ssh()方法
B. Sudo.telnet()能够正确调用telnet()
C. 在ssh()方法里面,能够直接调用telnet()
D. 在telnet()方法里面,能够直接调用ssh()
参考答案:BC
你的答案:A,C (看选项不认真啊)
7、代码片段:
public abstract interface Sudo {
public void crazy(String s);
}
请问以下哪些选项中的类定义是正确的?
A. public abstract class MySudo implements Sudo { public abstract void crazy(String s) { } }
B. public abstract class YourSudo implements Sudo { }
C. public class HerSudo implements Sudo { public void crazy(String i) { } public void crazy(Integer s) { } }
D. public class HisSudo implements Sudo { public void crazy(Integer i) { } }
E. public class ItsSudo extends Sudo { public void crazy(Integer i) { } }
参考答案:BC
你的答案:C (注意抽象类实现接口)
8、代码片段:
void waitForSignal() {
Object obj = new Object();
synchronized (Thread.currentThread()) {
obj.wait();
obj.notify();
}
}
以下哪一个描述是正确的?
0/ 3
A. 需要处理InterruptedException。
B. 代码能编译但可能运行时抛出IllegalStateExcepion。
C. 运行10分钟后代码抛出TimeOutException。
D. 需要把obj.wait()替换为((Thread) obj).wait()后代码才能通过编译。
E. 把obj.wait()和obj.notify()这两句调换一下位置,能使代码执行。
参考答案:A
你的答案:B (InterruptedException这个异常是线程被中断时抛出的)wait()的定义:public final void wait() throws InterruptedException
9、代码片段:
import java.io.*;
public class Forest implements Serializable {
private Tree tree = new Tree();
public static void main(String[] args) {
Forest f = new Forest();
try {
FileOutputStream fs = new FileOutputStream("Forest.Ser");
ObjectOutputStream os = new ObjectOutputStream(fs);
os.writeObject(f);
os.close();
} catch(Exception ex) {
ex.printStackTrace();
}
}
}
class Tree {}
哪一项的描述是正确的?
0/ 3
A. 编译出错
B. 运行时抛出异常
C. 一个Forest的实例被序列化了
D. 一个Forest的实例和一个Tree的实例都被序列化了
参考答案:B
你的答案:A (要写入一个非序列化对象,会抛出java.io.NotSerializableException异常)
10、代码片段:
// 这里省略了DateFormat对象df的初始化
12. Date date = new Date();
13. df.setLocale(Locale.Ialy);
14. String s = df.Format(date);
如果这段代码在2000年12月14日运行,请问以下描述哪个是正确的? 0/ 5
A. 字符串s的值是14-dec-2004
B. 字条串s的值是Dec 14, 2000
C. 运行时抛出异常
D. 第13行编译出错
参考答案:D
你的答案:B (Locale.Ialy Ialy要大写。。。感觉好坑)
11、对于java.io.BufferedWriter和java.io.FileWriter这两个类,下面哪一个功能只有其中的一个类直接提供了方法支持? 0/ 5
A. 关闭流
B. 冲刷流的缓冲
C. 往流里写数据
D. 在流里标记一个位置
E. 往流里写入一个行分隔符
参考答案:E
你的答案:D (BufferedWriter提供一个newLine方法往流里写入一个行分隔符)
12、哪个选项里的代码能正确创建和初始化一个int数组? 0/ 3
A. int[] a = {1, 2};
B. int[] a; a = new int[2]; a[0] = 1; a[1] = 2;
C. int[] a = new int[2]{1, 2};
D. int[] a = new int[]{1, 2};
参考答案:ABD
你的答案:A,B,C (简单题,这题错不应该啊。。)
13、which two statements declare an array capable of 10 int?
0/ 3
A. int[] foo;
B. int foo[];
C. int foo[10];
D. Object[] foo;
E. Object foo[10];
参考答案:AB
你的答案:C,E (傻了。。。java没有C、E这样的定义)