刚刚学习Java 遇到一个问题请高手解答一下为什么不相等
这个为什么是ture,不是一样的吗?我试过了两个是数字7就对的。 不管是++在前还是在后,你输出的时候a值已经变成8了 本帖最后由 qlcyl110 于 2017-2-19 13:11 编辑
java刚学习18天来告诉您!
++a是前置自增
a++是后置自增
自增的意思就是在原来的基础上加一
因为你打印的是在c=++a*2的后边
所以a的值发生了变化!!所以a!=b是真的!!
你可以看我的笔记!!! 我百度了一下,玄机就在++是在变量的前面还是后面,演示我记得是demo
http://jingyan.baidu.com/article/a378c9609e5452b32828309f.html ++a表示在a使用之前赋值,所以a!=b意思就是8!=7 ++a表示在a使用之前赋值
a++表示在a使用之后赋值 ++a=8,此时a=8,而b=7。a!=b肯定是true啊。 楼主搞清楚++a和a++
都是等同于a=a+1,只不过++a在操作之前加一,a++在操作之后 我也稍微学过一点,加油 两个整形比较的是数据 两个String比较的是内存的地址
而++a 实际已经把a的值改变了
所以两者不相等 就这么简单 本帖最后由 lomo369 于 2017-2-18 23:25 编辑
你把第三行int c的那段话删除了,就返回false。注意调试技巧。然后就会发现第三行有问题