黑马程序员技术交流社区

标题: 括号运算 [打印本页]

作者: sl123    时间: 2015-8-12 23:26
标题: 括号运算
int b=3;
System.out.println((b++)/4);
这个结果为什么是0呢?括号括起来不是先计算括号里面的吗?那样应该等于1啊
作者: zby_allan    时间: 2015-8-13 00:32
++放在后面指的是先运算后自增,如果没有循环的时候,这一次的b还是3,3/4取整数部分之后是0,所以打印结果为0.如果你想要得出1,就++b,或者b+1,和括号没关系。这种自增一般都是用作循环步进时使用的。
作者: 孟茹    时间: 2015-8-13 18:07
System.out.println((b++)/4);会先计算b/4即3/4,然后b才会+1,与括号无关,所以才打印出0。楼上正解
作者: sl123    时间: 2015-8-14 22:59
zby_allan 发表于 2015-8-13 00:32
++放在后面指的是先运算后自增,如果没有循环的时候,这一次的b还是3,3/4取整数部分之后是0,所以打印结果 ...

但是用括号括起来,不是先算括号里面的自增,然后再除吗
作者: sl123    时间: 2015-8-15 22:10
孟茹 发表于 2015-8-13 18:07
System.out.println((b++)/4);会先计算b/4即3/4,然后b才会+1,与括号无关,所以才打印出0。楼上正解 ...

恩恩,与括号没有关系啊

作者: shuguang    时间: 2015-8-15 22:19
和括号没有关系,先运算再加一
作者: beimenshisan    时间: 2015-8-15 22:26
1楼正解




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