a5411142 发表于 2017-2-18 21:58

刚刚学习Java 遇到一个问题请高手解答一下为什么不相等


这个为什么是ture,不是一样的吗?我试过了两个是数字7就对的。

8taizi 发表于 2017-2-19 08:26

不管是++在前还是在后,你输出的时候a值已经变成8了

qlcyl110 发表于 2017-2-19 07:38

本帖最后由 qlcyl110 于 2017-2-19 13:11 编辑

java刚学习18天来告诉您!

++a是前置自增
a++是后置自增

自增的意思就是在原来的基础上加一
因为你打印的是在c=++a*2的后边

所以a的值发生了变化!!所以a!=b是真的!!

你可以看我的笔记!!!

IT无名 发表于 2017-2-18 22:12

我百度了一下,玄机就在++是在变量的前面还是后面,演示我记得是demo
http://jingyan.baidu.com/article/a378c9609e5452b32828309f.html

td520 发表于 2017-2-18 22:15

++a表示在a使用之前赋值,所以a!=b意思就是8!=7

2014晴天 发表于 2017-2-18 22:36

++a表示在a使用之前赋值
a++表示在a使用之后赋值

waxuanlong 发表于 2017-2-18 22:41

++a=8,此时a=8,而b=7。a!=b肯定是true啊。

liuyuntianxia12 发表于 2017-2-18 22:43

楼主搞清楚++a和a++
都是等同于a=a+1,只不过++a在操作之前加一,a++在操作之后

云深不知处 发表于 2017-2-18 22:47

我也稍微学过一点,加油

blackwait 发表于 2017-2-18 22:53

两个整形比较的是数据 两个String比较的是内存的地址
而++a 实际已经把a的值改变了
所以两者不相等 就这么简单

lomo369 发表于 2017-2-18 23:23

本帖最后由 lomo369 于 2017-2-18 23:25 编辑

你把第三行int c的那段话删除了,就返回false。注意调试技巧。然后就会发现第三行有问题
页: [1] 2 3
查看完整版本: 刚刚学习Java 遇到一个问题请高手解答一下为什么不相等