搜索
编程论坛
→
开发语言
→
『 JAVA论坛 』
→ 很基础的题,但我想不通
标题:
很基础的题,但我想不通
只看楼主
不落夕阳
等 级:
论坛游民
帖 子:64
专家分:30
注 册:2016-10-13
结帖率:
69.57%
楼主
已结贴
√
问题点数:5 回复次数:7
很基础的题,但我想不通
public class Test {
public static void main(String args[]){
int x=2,t=0;
t=(x++)/3;
System.out.println(t);
}
}
为什么执行结果为0,我一直认为等于1,想不通啊!
搜索更多相关主题的帖子:
public
2016-12-02 10:11
kk_11
等 级:
新手上路
帖 子:2
专家分:2
注 册:2016-12-2
第
2
楼
得分:2
运算后一个浮点型,一个整型,不匹配啊,所以还是原来的初始化值啊 ,空间存储的值传递啊!
2016-12-02 17:23
kaosaier
等 级:
职业侠客
威 望:
7
帖 子:124
专家分:303
注 册:2016-7-23
第
3
楼
得分:0
回复 2楼 kk_11
同意
minecraft,我的最爱!
2016-12-02 20:40
JavaJack
来 自:YunNan
等 级:
论坛游民
帖 子:24
专家分:26
注 册:2016-11-16
第
4
楼
得分:3
(x++)/3是先执行x/3的操作,就相当于先执行2/3,/操作取结果的整数部分,所以是0,这些操作完成之后才会将+1的值赋值给x
你如果将x++换成++x,就是先将+1的值赋给x(此时x),再进行3/3操作,此时在运行,结果为1
2016-12-02 22:27
不落夕阳
等 级:
论坛游民
帖 子:64
专家分:30
注 册:2016-10-13
第
5
楼
得分:0
回复 4楼 JavaJack
哦,懂了
2016-12-02 23:28
纵横阳仔
来 自:自学成才的火星人儿
等 级:
贵宾
威 望:
26
帖 子:147
专家分:698
注 册:2016-10-20
第
6
楼
得分:0
你可以将x++换成++x再试一试
2016-12-06 11:40
cuqa
等 级:
论坛游民
帖 子:21
专家分:26
注 册:2012-10-10
第
7
楼
得分:0
是0没错啊,x++,先把x的值带进表达式运行,运行结束后再对x自增。++x会先自增,再带进表达式
2016-12-07 22:10
袁东东
等 级:
新手上路
帖 子:1
专家分:0
注 册:2016-12-8
第
8
楼
得分:0
4楼正解,++X表示X先进行++运算,得到的结果再去除以3,X++表示先运算后进行++,就是先拿出来除以3最后再自增
2016-12-08 11:02
8
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-471890-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.501890 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved