问题 单项选择题

下面代码的执行结果是( )。 public class test {public static void main (String args[]) { float m=5.0f; int n=4; System.out.println((++m)*(n--));} }

A.20.0

B.20

C.24.0

D.24

答案

参考答案:C

解析: 本题考查自增(自减)运算和类型的自动转换。由于++m表达式中++在变量之前,所以先对m进行自增运算,将m加上1.0,再将m的值作为表达式++m的值,即(++m)的值是 6.0;而在n--表达式中,--在变量n之后,所以先取变量n的值作为表达式的值,变量n再自减,即 (n--)的值是4,然后作6.0*4运算,此时整数4会自动转换为实型数据再参与运算,所以结果是24.0而不是24。故选C。

选择题
选择题