1,题目一
int num = 5;
int ret = num++ * ++num;
num++
++在后,提供的数据5, num++在运行表达式中提供的数据为5
这里运算操作是一个乘以操作,num++需要执行完毕 num ==> 6
*
++num:
++在前,提供的数据6 + 1 ==> 7
最终表达式的结果为
5 * 7 = 35 ==> ret;
2,题目二
int num = 5;
++(num++);
Demo7.java:5: 错误: 意外的类型
++(num++);
^
需要: 变量
找到: 值
1 个错误
解释:
因为(num++)是存在于小括号以内,按照计算优先级处理,首先计算小括号里面的内容,但是因为小括号是一个整体,对外的数据时num++的结果,这是一个常量!!!
自增自减运算符,只能操作变量,不可以操作常量。
语法报错!!!
同理
++num++ 也是错误的
++num结果是一个常量
(num)这个是常量还是变量呢
这个小括号是无用的!!!
(num)++这是对的