自算符讲得太浅了吧?
来源:2-10 选择练习
做条咸鱼才最好
2021-06-11 23:50:34
public class Hello {
public static void main(String[] args) {
int a=2;
int b=(++a)+(a++)+(++a);
System.out.println(a);
System.out.println(b);
}
请问这里的输出的a b如何解题?慕课网老师说后缀形式先运算再自增自减,问题是这里是多个自增怎么算哦。
正确的逻辑应该是这样吧:
前缀形式的运算规则可以概括为:”先自增(减),后引用”
后缀形式的运算规则可以概括为:”先引用,后自增(减)”
这里所说的”引用”,指的是使用变量的值。
强调一个细节:无论是前缀形式还是后缀形式,自增自减运算符的优先级要高于赋值运算符。
1回答
好帮手慕小小
2021-06-12
同学你好,同学理解的自增运算符的使用是正确的,在运算中存在多个自增也是同样适用的。
输出a、b的解题思路如下:
执行①时,运算式中++a的值为a+1后的值为 3,(++在前先自增,在运算)
①执行完毕后a的值为3
执行②时,运算式中a++的值为 a自身的值为3,(++在后先运算,在自增)
②执行完毕后a的值为4
执行③时,运算式中++a的值为a+1后的值为5,
③执行完毕后a的值5
b=3+3+5;
2、后缀形式的运算是”先引用,后自增(减),++ 与 赋值运算符间的运算如下:
int a = 12; int b = a++; //运算后,b的值为12,(++在后,自身的值12先运算,再自增) //a的值为13
祝学习愉快~
相似问题