Java测试错题题解
博主声明:
本文由博主luoru_LR原创,请多支持与指教。
转载请在开头附加本文链接及作者信息,并标记为转载。
博主主页
Math.round(11.5) 等于:正确答案:C
A.11
B.11.5
C.12
D.12.5
解析:
Math类中提供了三个与取整有关的方法:ceil、floor、round,这些方法的作用与它们
的英文名称的含义相对应,例如,ceil的英文意义是天花板,该方法就表示向上取
整,Math.ceil(11.3)的结果为12,Math.ceil(-11.3)的结果是-11;floor的英文意义是地
板,该方法就表示向下取整,Math.floor(11.6)的结果为11,Math.floor(-11.6)的结果是
-12;最难掌握的是round方法,它表示“四舍五入”,算法为Math.floor(x+0.5),即将原
来的数字加上0.5后再向下取整,所以,Math.round(11.5)的结果为12,Math.round(-11.5)的结果为-11。
下列有关Thread的描述,哪个是正确的?正确答案:C
A.启动一个线程的方法是:thread. run()
B.结束一个线程的通常做法是:thread. stop()
C.将一个线程标记成daemon线程,意味着当主线程结束,并且没有其它正在运行的
非daemon线程时,该daemon线程也会自动结束。
D.让一个线程等待另一个线程的通知的方法是:thread. sleep()。
解析:
A.启动一个线程的方法是 start()
B.结束线程用的是interrupt()方法,而stop()是强制结束线程,并不推荐使用,同时stop()方法已被弃用
C.daemon线程是守护线程,当主线程结束时,守护线程会自动结束
D.一个线程等待另外一个线程的方法是wait()方法
Java中下面哪个能创建并启动线程 正确答案:C
public class MyRunnable implements Runnable {
public void run() {
//some code here
}
}
A.new Runnable(MyRunnable).start()
B.new Thread(MyRunnable).run()
C.new Thread(new MyRunnable()).start()
D.new MyRunnable().start()
解析:
Java中线程实现的两种方式
(1)继承Thread,并重写run()方法,调用方法,new A().start() 就调用了线程
(2)实现Runnable接口,覆盖了run()方法,调用方法, new Thread(new A()).start(),调用线程
HashMap和HashTable的描述,错误的是? 正确答案:D
A.他们都实现了Map接口。
B.HashMap非线程安全,在多个线程访问Hashtable时,不需要自己为它的方法实现同步,而HashMap就必须为之提供额外同步。
C.HashMap允许将null作为一个entry的key或者value,而Hashtable不允许。
D.通过contains方法可以判断一个对象是否存在于HashMap或者Hashtable中。
解析:
可以通过containsKey(key)和containsValue(value)判断对象中有没有key和value,而不是contain方法。
What is displayed when the following is executed; 正确答案:A
double d1=-0.5;
System.out.println("Ceil d1="+Math.ceil(d1));
System.out.println("floor d1="+Math.floor(d1));
A.Ceil d1=-0.0 floor d1=-1.0
B.Cei