社区
非技术区
帖子详情
关于JAVA中变量自减问题
DeviLeo
2006-12-31 07:24:40
先看JAVA和C++的两段代码:
JAVA: int m=2;
m=m--;
System.out.println("m="+m);
输出结果: m=2
C++: int m=2;
m=m--;
cout<<"m="<<m<<endl;
输出结果: m=1
我的问题是为什么JAVA输出m的值是2,而C++输出的值却是1?
同样的语句,为什么结果不同?
我不想知道如何用其他方法来解决或避免,我只想知道发生这种情况的原因.
...全文
138
2
打赏
收藏
关于JAVA中变量自减问题
先看JAVA和C++的两段代码: JAVA: int m=2; m=m--; System.out.println("m="+m); 输出结果: m=2 C++: int m=2; m=m--; cout<<"m="<<m<<endl; 输出结果: m=1 我的问题是为什么JAVA输出m的值是2,而C++输出的值却是1? 同样的语句,为什么结果不同? 我不想知道如何用其他方法来解决或避免,我只想知道发生这种情况的原因.
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
林巅峰
2006-12-31
打赏
举报
回复
和参数的传递有关吧。你可以跟踪一下。
关于
Java
原子性操作的【错误】理解(赋值和自增
自减
)
关于
Java
原子性操作的理解(赋值和自增
自减
) 文章目录关于
Java
原子性操作的理解(赋值和自增
自减
)赋值操作是否是原子性?自增
自减
操作是否是原子性的? 赋值操作是否是原子性? 不是,不管是基础数据类型还是引用数据类型,它都不是原子操作 int类型的赋值 booleanl类型的赋值,果然JVM是将boolean当成int来处理呢,ture是1,false是0 double类型的赋值 引用类型...
java
自增
自减
_【
java
解惑】前缀自增
自减
和后缀自增
自减
问题
如下代码:publicclassExample025{publicstaticvoidmain(String[]args){intape=100;intit=100;intape_it=100;for(inti=0;iape--;it=it--;ape_it=--ape_it;}System.out.println("ape="+ape...
多线程学习篇三:共享带来的
问题
及解决方案
多个线程读共享资源其实也没有
问题
,在多个线程对共享资源读写操作时发生指令交错,就会出现
问题
。以上的结果可能是正数、负数、零。因为
Java
中
对静态
变量
的自增、
自减
并不是原子操作,要彻底理解,必须从字节码来进行分析。两个线程对初始值为 0 的静态
变量
一个做自增,一个做
自减
,各做 5000 次,结果是 0 吗?多个线程在临界区内执行,由于代码的执行序列不同而导致结果无法预测,称之为发生了。一个程序运行多个线程本身是没有
问题
的,
问题
出在多个线程访问。为了避免临界区的竞态条件发生,有多种手段可以达到目的。
4线程两加两减
2019独角兽企业重金招聘Python工程师标准>>> ...
java
算术运算符 自增
自减
,取模运算的程序
程序: /* 测试算术运算,取模、自增
自减
运算 */ public class Test_operator { public static void main(String[] args) { byte a = 3; int b = 14; //short c = a+b;报错 int d = a+b; float e = 3.15f; double f = 6.28; //int
非技术区
23,404
社区成员
70,507
社区内容
发帖
与我相关
我的任务
非技术区
Java 非技术区
复制链接
扫一扫
分享
社区描述
Java 非技术区
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章