自算符讲得太浅了吧?

来源: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;

http://img.mukewang.com/climg/60c4298b09dc51ee06470261.jpg

2、后缀形式的运算是”先引用,后自增(减),++ 与 赋值运算符间的运算如下:

int a = 12;
int b = a++;
//运算后,b的值为12,(++在后,自身的值12先运算,再自增)
//a的值为13


祝学习愉快~


2

0 学习 · 9886 问题

查看课程