1. 下面表达式 `2 + 3 * 4` 的计算结果是?
正确答案:B
根据运算符优先级,乘法优先于加法,所以计算顺序是:2 + (3 * 4) = 2 + 12 = 14
2. 在Java中,表达式 `5 / 2` 的结果是?
正确答案:B
这是整数除法,结果会截断小数部分,所以 5 / 2 = 2
3. 逻辑表达式 `true || false && false` 的结果是?
- A. true
- B. false
- C. 编译错误
- D. 运行时错误
正确答案:A
逻辑与(&&)优先于逻辑或(||),所以计算顺序是:true || (false && false) = true || false = true
4. 下面哪个是表达式语句?
- A. int x;
- B. x = 10;
- C. if (x > 0)
- D. for (int i = 0; i < 10; i++)
正确答案:B
表达式语句是在表达式后面加上分号形成的语句。x = 10; 是一个赋值表达式语句。
5. 关于短路求值,下面说法正确的是?
- A. 只有逻辑与(&&)支持短路求值
- B. 只有逻辑或(||)支持短路求值
- C. 逻辑与(&&)和逻辑或(||)都支持短路求值
- D. Java不支持短路求值
正确答案:C
Java中的逻辑与(&&)和逻辑或(||)都支持短路求值。当前面的条件已经能确定结果时,后面的条件就不会被计算。
6. 表达式 `x = y = z = 10` 中,赋值的顺序是?
- A. 从左到右:x = y, y = z, z = 10
- B. 从右到左:z = 10, y = z, x = y
- C. 同时赋值
- D. 编译错误
正确答案:B
赋值运算符是右结合的,所以执行顺序是从右到左:z = 10, y = z, x = y
7. 下面哪个表达式的优先级最高?
- A. +(加法)
- B. *(乘法)
- C. ==(等于)
- D. &&(逻辑与)
正确答案:B
在这些运算符中,乘法(*)的优先级最高,其次是加法(+),然后是等于(==),最后是逻辑与(&&)。
8. 关于字符串比较,下面说法正确的是?
- A. 应该使用 == 运算符比较字符串内容
- B. 应该使用 equals() 方法比较字符串内容
- C. == 和 equals() 效果完全相同
- D. 字符串不能进行比较
正确答案:B
== 运算符比较的是对象引用,而 equals() 方法比较的是字符串内容。要比较字符串内容应该使用 equals() 方法。
9. 表达式 `10 % 3` 的结果是?
正确答案:B
% 是取模运算符,10 % 3 表示 10 除以 3 的余数,结果是 1。
10. 下面哪种语句属于控制流语句?
- A. int x = 10;
- B. x++;
- C. if (x > 0) { }
- D. System.out.println(x);
正确答案:C
控制流语句用于控制程序的执行流程,包括条件语句(if)、循环语句(for, while)、跳转语句(break, continue, return)等。