共计 2735 个字符,预计需要花费 7 分钟才能阅读完成。
这篇文章主要讲解了“Java 测试题有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着丸趣 TV 小编的思路慢慢深入,一起来研究和学习“Java 测试题有哪些”吧!
题目一:float a = 0.125f; double b = 0.125d; System.out.println((a – b) == 0.0); 代码的输出结果是什么?
A. true
B. false
题目二:double c = 0.8; double d = 0.7; double e = 0.6; 那么 c - d 与 d - e 是否相等?
A. true
B. false
题目三:System.out.println(1.0 / 0); 的结果是什么?
A. 抛出异常
B. Infinity
C. NaN
题目四:System.out.println(0.0 / 0.0); 的结果是什么?
A. 抛出异常
B. Infinity
C. NaN
D. 1.0
题目五:和 的区别是?
A. 任何整数没有区别
B. 负整数一定没有区别
C. 浮点数可以 运算,但是不可以 运算
D. 正整数一定没有区别
题目六:某个类有两个重载方法:void f(String s) 和 void f(Integer i),那么 f(null) 的会调用哪个方法?
A. 前者
B. 后者
C. 随机调用
D. 编译出错
题目七:某个类有两个重载方法:void g(double d) 和 void g(Integer i),那么 g(1) 的会调用哪个方法?
A. 前者
B. 后者
C. 随机调用
D. 编译出错
题目八:String a = null; switch(a) 匹配 case 中的哪一项?
A. null
B. null
C. 不与任何东西匹配,但不抛出异常
D. 直接抛出异常
题目九:String, T, Alibaba String get(String string, T t) {return string;} 此方法:
A. 编译错误,从左往右第一个 String 处
B. 编译错误,T 处
C. 编译错误,Alibaba 处
D. 编译正确
题目十:HashMap 初始容量 10000 即 new HashMap(10000),当往里 put 10000 个元素时,需要 resize 几次(初始化的那次不算)?
A. 1 次
B. 2 次
C. 3 次
D. 0 次
答案:
题目一: float a = 0.125f; double b = 0.125d; System.out.println((a – b) == 0.0); 代码的输出结果是什么?
A. true
B. false
解释:首先浮点数是由符号位、指数位、有效数字三个部分组成,而 0.125f、0.125d 均可以精确的表示出来,不存在精度丢失,因而 a -b==0.0。
题目二: double c = 0.8; double d = 0.7; double e = 0.6; 那么 c - d 与 d - e 是否相等?
A. true
B. false
解释:类似十进制里面的分数 1 /3,就是无限循环数,无法精确表示出来,同理浮点数里有些数值也没法精确表示出来。
System.out.println(0.8-0.7);// 输出 0.10000000000000009
System.out.println(0.7-0.6);// 输出 0.09999999999999998
题目三: System.out.println(1.0 / 0); 的结果是什么?
A. 抛出异常
B. Infinity
C. NaN
解释:在整型运算中,除数是不能为 0 的,否则直接运行异常。但是在浮点数运算中,引入了无限这个概念。可以看一下源码 Double 的定义, public static final double POSITIVE_INFINITY = 1.0 / 0.0;
题目四: System.out.println(0.0 / 0.0); 的结果是什么?
A. 抛出异常
B. Infinity
C. NaN
D. 1.0
解释:java 源码,Double 包装类下,public static final double NaN = 0.0d / 0.0;NAN 表示非数字,它与任何值都不相等,甚至不等于它自己。
题目五: 和 的区别是?
A. 任何整数没有区别
B. 负整数一定没有区别
C. 浮点数可以 运算,但是不可以 运算
D. 正整数一定没有区别
解释:表示不带符号向右移动二进制数,移动后前面统统补 0;两个箭头表示带符号移动,正整数的符号位是 0,因而两者没有区别
题目六: 某个类有两个重载方法:void f(String s) 和 void f(Integer i),那么 f(null) 的会调用哪个方法?
A. 前者
B. 后者
C. 随机调用
D. 编译出错
解释:1)精确匹配 - 2)基本数据类型(自动转换成更大范围)- 3)封装类(自动拆箱与装箱)- 4)子类向上转型依次匹配 - 5)可变参数匹配。子类向上转型,两者的父类都是 object 类(null 默认类型是 object),因而会同时匹配上两者,编译器会报 Ambiguous method call. Both 错误
题目七: 某个类有两个重载方法:void g(double d) 和 void g(Integer i),那么 g(1) 的会调用哪个方法?
A. 前者
B. 后者
C. 随机调用
D. 编译出错
解释:1)精确匹配 - 2)基本数据类型(自动转换成更大范围)- 3)封装类(自动拆箱与装箱)- 4)子类向上转型依次匹配 - 5)可变参数匹配,本题是进行到第二步匹配上了。
题目八: String a = null; switch(a) 匹配 case 中的哪一项?
A. null
B. null
C. 不与任何东西匹配,但不抛出异常
D. 直接抛出异常
解释:在 Java 编程语言的设计者的判断中,这比静默跳过整个开关语句要合理,因为使用 null 作为开关标签的话,编写的代码将永远不会执行。
题目九: String, T, Alibaba String get(String string, T t) {return string;} 此方法:
A. 编译错误,从左往右第一个 String 处
B. 编译错误,T 处
C. 编译错误,Alibaba 处
D. 编译正确
解释:尖括号里的每个元素都指代一种未知类型,在定义处只具备执行 Object 方法的能力,在编译期间,所有的泛型信息都会被擦除,编译后,get() 的两个参数是 Object,返回值也是 Object。
题目十: HashMap 初始容量 10000 即 new HashMap(10000),当往里 put 10000 个元素时,需要 resize 几次(初始化的那次不算)?
A. 1 次
B. 2 次
C. 3 次
D. 0 次
解释:比 10000 大,且最接近的 2 的 n 次方数是 16384,默认负载因子是 0.75,16384*0.75 = 12288 10000,因而不需要扩容。
感谢各位的阅读,以上就是“Java 测试题有哪些”的内容了,经过本文的学习后,相信大家对 Java 测试题有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是丸趣 TV,丸趣 TV 小编将为大家推送更多相关知识点的文章,欢迎关注!