问答详情
源自:3-2 Java中的算术运算符

关于左图的++a和a++的问题。

++++a和a++++是不对的,并不能让a多次+1再赋予给b吗?只能执行a++或者++a这种的运算吗?

提问者:慕雪1790920 2016-10-01 20:50

个回答

  • 天地过往而不拘
    2016-10-01 21:09:34
    已采纳

    这其实是编译原理的知识,我们写的code是由编译器或解释器进行语义分析的。

    如果是一条语句的开始出现一个+a;显然它无法解释成任何语句,

    ++a;可以解释为自加1

    +++a;无法解释成任何语句

    ++++a;更加无法解释成正确语句。

    但是一种情况下,比如c=a+++b;可以被解释为c=a+(++b);

    也就是实际代码在编译器编译的时候是根据一定的编译规则去解释的,不符合规则的写法,自然报错。

  • Fukaikiso
    2016-10-01 23:39:28

    ++是自加运算符

  • 风中打伞的小孩
    2016-10-01 23:13:33

    a+++,目前我所知的编译器没有这个功能,也就是不可以,其实也不需要,如果想让a自加许多次的话,再往后学一点,循环那里可以用更简单,明了的方式实现

  • 幕粉一枚
    2016-10-01 21:12:47

    ++a是a先自加一,然后在运行a;而a++是执行完a再给a加一

  • 慕粉3789681
    2016-10-01 20:58:02

    当然不行,会报错的,有什么想法可以先在自己电脑上面敲一遍,比直接问别人强得多,我也是刚学,老是有各种奇奇怪怪的想法,每次都顺着自己的意思去敲一遍,然后搞明白之后,再去想其他方法实现自己的脑洞,感觉很爽!