黑马程序员技术交流社区

标题: 是大神就进来 [打印本页]

作者: 老司机喔    时间: 2016-5-2 18:01
标题: 是大神就进来
class Demo{
         public static void main(String[] args){
          int a=1;
          a=a++;
          int b=a++;
            System.out.println("b");
}
}
大神请告诉我,b是多少?

作者: lvaenet1    时间: 2016-5-2 18:05
完全是考基础的知识啊
作者: 微米    时间: 2016-5-2 19:14
这完全就是基础的基础啊
作者: xiaoxiqq    时间: 2016-5-2 19:38
你的输出结果是b。完毕。
作者: yaolv7    时间: 2016-5-2 20:00
破事水~~~~~~~~~~~~
作者: feijiaqi    时间: 2016-5-2 20:20
{:2_30:} 基础呀基础
作者: 18573626921    时间: 2016-5-2 21:56
这还用想,一看就是b
作者: 18573626921    时间: 2016-5-2 21:58
不过b的值是1
作者: BackGaoz    时间: 2016-5-2 22:33
18573626921 发表于 2016-5-2 21:58
不过b的值是1

输出是b,如果去掉双引号,结果是2,不是1
作者: 18573626921    时间: 2016-5-2 22:38
BackGaoz 发表于 2016-5-2 22:33
输出是b,如果去掉双引号,结果是2,不是1

a才是2吧
作者: BackGaoz    时间: 2016-5-2 22:40
18573626921 发表于 2016-5-2 22:38
a才是2吧

a = a++;  先赋值后++,所以a还是1.
然后int b = a++;这个时候的a已经是2了,所以赋值给b是2,然后a又++.
作者: 放手一搏    时间: 2016-5-2 22:43
BackGaoz 发表于 2016-5-2 22:33
输出是b,如果去掉双引号,结果是2,不是1

我操作了下 去掉双引号 就写(b) 结果是1啊  不是2  你是不是搞错了
作者: fanlelong    时间: 2016-5-2 22:47
1 1  1b 是1输出是b
作者: BackGaoz    时间: 2016-5-2 22:49
放手一搏 发表于 2016-5-2 22:43
我操作了下 去掉双引号 就写(b) 结果是1啊  不是2  你是不是搞错了

是搞错了
如果int a = 1;
int c = a++;
int b = a++;
这样b才等于2.刚没搞清楚,a还是a.就是.
作者: 放手一搏    时间: 2016-5-2 22:56
a=a++   为啥输出结果是a=1
b=a++   输出结果却是  a=2  b =1   我怎么给自己弄糊涂了  你们谁给解决下





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