声明:例题均来源于网络,仅供学习参考,若涉侵权请联系删除。
以下例题均来自题库 :java.code2ji.cn
📘 二叉树性质
题目:
某二叉树中共有 350 个结点,其中 200 个为叶子结点,则该二叉树中度为 2 的结点数为?
- A. 149
- B. 150
- C. 199
- D. 不可能有这样的二叉树
正确答案: D
解析:
在任意一棵二叉树中,叶子结点(度为 0 的节点)的数量总是比度为 2 的结点多 1。
若已知叶子结点数为 200,则度为 2 的节点为:
200 - 1 = 199
此时总节点数至少为:
度为 0(叶子)+ 度为 2 = 200 + 199 = 399
但题干中总结点为 350,显然矛盾,因此 不存在这样的二叉树。
🧮 条件运算符(?:)
题目:
java
public class Test {
public static void main(String[] args){
System.out.println((2 < 0) ? 10 : 8);
}
}
程序运行结果是?
- A. 2
- B. 0
- C. 10
- D. 8
正确答案: D
解析:
(2 < 0)
为 false
,因此取三元表达式中的 else
部分,即 8
。
🔧 接口内容
题目:
接口中,除了抽象方法之外,还可以包含哪种内容?
- A. 变量
- B. 常量
- C. 成员方法
- D. 构造方法
正确答案: B
解析:
接口中只能包含抽象方法和 常量(即 public static final
类型的字段),不能包含普通变量、方法体和构造函数。
🖥️ Application 与 Applet 的区别
题目:
关于 Java Application 与 Java Applet 的区别,正确的是?
- A. 运行方式不同,程序结构相同,运行工具不同,限制相同
- B. 运行方式相同,程序结构不同,运行工具不同,限制相同
- C. 运行方式相同,程序结构相同,运行工具不同,限制也不同
- D. 运行方式不同,程序结构不同,运行工具不同,限制也不同
正确答案: D
解析:
- Application 有
main()
,可独立运行;Applet 必须嵌入 HTML,通过浏览器运行。 - Applet 无法读写本地文件,而 Application 可以。
- 两者结构、运行工具、权限限制皆不同。
📂 Reader 类的分类
题目:
下列叙述中,关于 Reader
的正确说法是?
- A. Reader 是一个读取字符文件的接口
- B. Reader 是一个读取数据文件的抽象类
- C. Reader 是一个读取字符文件的抽象类
- D. Reader 是一个读取字节文件的一般类
正确答案: C
解析:
Java 中 Reader
是 字符流 的抽象类,对应 InputStream
的字节流抽象类。
🔢 运算符优先级
题目:
下列运算符中,优先级与其他不一样的是?
- A.
++
- B.
+=
- C.
*=
- D.
=
正确答案: A
解析:
++
是单目运算符,优先级高于其他赋值运算符(如 +=
, *=
等),而 =
是最低。
🔐 死锁机制
题目:
下列关于 Java 死锁的描述中,错误的是?
- A. Java 中没有检测和避免死锁的专门机制
- B. 多线程互相等待可能形成死锁
- C. 可通过定义加锁顺序,按加锁的反序释放避免死锁
- D. 可通过定义加锁顺序,按加锁的正序释放避免死锁
正确答案: D
解析:
为了避免死锁,应该在加锁时按固定顺序加锁,解锁时采用加锁的反序释放,否则仍可能出现资源竞争。
🧵 线程调度
题目:
下列关于线程调度的描述中,错误的是?
- A.
sleep()
方法可能使优先级更低的线程获得执行机会 - B.
yield()
只让同优先级的线程获得机会 - C. 高优先级线程出现时会抢占 CPU
- D. 同优先级的线程调度一定是分时的
正确答案: D
解析:
同优先级线程是否轮流运行(分时调度)是由 JVM 实现决定 的,不一定是分时的。
🎯 数组与随机抽取
题目:
java
public class Jixiangwu {
public static void main(String[] args){
String[] stars = {"贝贝","晶晶","欢欢","迎迎","妮妮"};
System.out.println("你抽取的奥运吉祥物是" +
stars[(int)(stars.______ * Math.random())] + "!");
}
}
下划线处应填写?
- A. long
- B. width
- C. wide
- D. length
正确答案: D
解析:
使用 数组名.length
可以获取数组长度。Math.random()
生成的是 [0,1)
的 double 值,因此 stars.length * Math.random()
可用于随机取数组下标。
🔍 条件语句分析
题目:
java
if (x > 0) {
System.out.println("first");
} else if (x > -3) {
System.out.println("second");
} else {
System.out.println("third");
}
什么范围内的 x
会输出 "second"
?
- A. x > 0
- B. x > -3
- C. x <= -3
- D. x <= 0 且 x > -3
正确答案: D
解析:
x > 0
输出"first"
x <= 0 && x > -3
才会进入else if
输出"second"
x <= -3
输出"third"
附题库链接 :全网最全的java题库网站