黑马程序员技术交流社区

标题: 关于a++和++a的问题 [打印本页]

作者: 西北风    时间: 2015-6-2 19:38
标题: 关于a++和++a的问题
今天突然有点迷糊
s+=1这个应该是s=s+1
a++应该是a=a+1
b=++a这个应该是 先给值,然后后边在自增
b=a++这个应该是先自增,然后再把自增完之后的值给对面
也不知道这个到底对不对,实际今天问老师了,但是还是有点迷糊,问完就又混了,所以想来问一下
当然也想问一下,挣黑马币或者技术分的途径都有哪些比较好实现的。
作者: 绝版坏银    时间: 2015-6-2 19:43
b=++a这个应该是 不是先自增在给值么。
b=a++ 先赋值在自增
作者: wuyusi    时间: 2015-6-2 19:50
楼上正解

作者: a397131103    时间: 2015-6-2 20:00
++在前 先自增
++在后 先赋值
作者: 石头888    时间: 2015-6-2 20:19
学习学习!
作者: twinsnan    时间: 2015-6-2 20:30
2楼说得对
作者: 791180016    时间: 2015-6-2 21:00
1楼正解
作者: 海角秋风    时间: 2015-6-2 21:05
为什么我理解是a在前面,所以先赋值;a在后面,前面没有值,所以先自增,然后再赋值?
虽然结果是一样的。。。
作者: 1315317959    时间: 2015-6-2 21:16
++a是先自加再赋值      a++是先赋值再自加
作者: 黯然残影    时间: 2015-6-2 21:18
++在前先运算再操作,++在后面先操作再运算
作者: 少年闰土    时间: 2015-6-2 21:36
b=++a;
可以理解成:
a++;
b=a

b=a++;
可以理解成:
b=a;
a++;


作者: songyu    时间: 2015-6-2 21:45
楼上都对啊:L
作者: 飘过的云    时间: 2015-6-2 21:50
s+=1 带  强制转换 功能
作者: 查无此人。    时间: 2015-6-2 22:10
大家的说的正是我想说的
作者: yky1678    时间: 2015-6-2 22:19
这么记:
++在前,先加1
++在后,后+1
作者: 城北一直晴。    时间: 2015-6-2 23:10
若:b=a++那么======》b=a,a=a+1;
若:b=++a那么======》b=a+1,b=a;



代码验证:ClassTestDemo
{
public static void main(String[] args)
{
  int a=3,b;
   b=a++;
   {
    System.out.println(b);
    System.out.println(a);
    }
}
}
作者: 城北一直晴。    时间: 2015-6-2 23:18
class TestDemo
{
public static void main(String[] args)
{
  int a=3,b;
   b=++a;//自己改着试试。
   {
    System.out.println(b);
    System.out.println(a);
    }
}
}




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