Java测试题有哪些

86次阅读
没有评论

共计 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 小编将为大家推送更多相关知识点的文章,欢迎关注!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-17发表,共计2735字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)