黑马程序员技术交流社区

标题: ++a,a++ [打印本页]

作者: 文涛    时间: 2013-11-8 16:39
标题: ++a,a++
我在程序中使用a++=1;就可以为什么使用++a=1;就回报错呢?
作者: 敗唫①輩ふ    时间: 2013-11-8 16:44
a++是先去a的值,过后再加1,++a是先加1在返回a的值。

作者: 涐扪①起奮乧    时间: 2013-11-8 17:37
  1. class Demo
  2. {
  3.      public static void main(String[] args)

  4.                 {
  5.                         int a = 3;
  6.                         //a++ = 5;//格式书写错误
  7.                         //a = 5+a++;//格式书写正确
  8.                         //a = 5+++a;//格式书写错误
  9.                         a = 5+(++a);
  10.                         //++a = 1;//格式书写错误
  11.                         System.out.println(a);
  12.                        
  13.                 }
  14. }
复制代码
针对楼主问题,我认为程序中使用a++=1,也是不可以编译成功的,我是这样想的,a是一个变动的变量,是无法给你一个变动的变量附值的。如果可以赋值,那应该做一些特殊的处理或者限定什么的。具体内部原因,不晓得,等待楼下大神详解。
作者: @ne_pie尒ce    时间: 2013-11-8 17:49
The left-hand side of an assignment must be a variable
使用“+="赋值,左边必须是变量,a++=1也会编译失败
++a=1,不能给一个运算结果赋值吧




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2