先分析一下这个表达式:
x+=expr //expr代表一个表达式
1. 对于Java: x的值是在计算expr之前被提取的。
2. 对于C: x的值是在计算完expr之后才被提取的。
看个例子:
int x=2; int y=3; x+=y+=x+=y;
请问:以上代码执行完之后,x和y的值各变成了多少?
在Java中: x变成了10;y变成了8。 在C中: x变成了13;y变成了8。
我们来做一下分析:
在Java中:由于被之前提取
1. 首先最右边的式子:x+=y
将x提取到中间变量temp中: temp1=x(此时temp==2).执行完x+=y之后,x变成5.
2. 接下来到了中间的式子:y+=x
首先提取y,temp2=y。执行完y+=x之后y=temp1+x=3+5,y变成了8.
3。最后到了最左边的这个式子:x+=y
在这里实际上执行的是x=temp1+y=2+8(实际上Java用了中间变量机制)
在这里C语言执行的是x=x+y=5+8(C语言没有中间变量机制)
相关推荐
java 对修改环境变量的修改与添加,path 各种变量
Java环境变量配置 在"系统变量"下进行如下配置: (1)新建->变量名:JAVA_HOME变量值:D:\Java\jdk1.6.0_12(这只是我的JDK安装路径) (2)编辑->变量名:Path在变量值的最前面加上:%JAVA_HOME%\bin;%JAVA_HOME%\jre\...
在Java中实现Oracle变量的绑定方法 .doc 在Java中实现Oracle变量的绑定方法 .doc
在C语言中使用extern 关键字来定义全局变量的时候,我们需要在.h文件和.c文件中重复定义,这种重复,导致了出错几率的增加。 今天,在整理自己的代码的时候,考虑到我写的代码从一至终都是在一个cpp文件里面。于是,...
JAVA_HOME:C:\Program Files\Java\jdk1.6.0_21 PATH:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; classpath:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; java环境变量配置 windows xp下配置JDK环境变量: ...
JAVA读取环境变量 在windows、linux中都可以运行,可指定任何环境变量
java 程序修改环境变量
Java 面向对象中的两类 变量 : 成员变量和局部变量
利用java反射机制修改类的私有成员的例子,如果需要了解反射机制的可以参考下。
java 环境变量 java 环境变量 java 环境变量 java 环境变量 java 环境变量
java代码修改环境变量path 无需重启
此文档提供两种为java修改环境变量的方法
java环境变量设置java环境变量设置java环境变量设置
NULL 博文链接:https://toknowme.iteye.com/blog/2212529
Java环境变量设置,.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; .;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar; %JAVA_HOME%\bin %JAVA_HOME%\jre\bin
Java中的基本类型和引用类型变量的区别
java 常量与变量 java 常量与变量
Java和Tomcat环境变量配置,只需将相关文件路径更改为您的资源所在目录。
java替换word字符串 附带jar;支持docx,doc
指向JDK安装后的根目录,如“ C:\Program files\Java\jdk1.8.0_20”,Eclipse、NetBeans等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。 Path 环境变量 指向Java命令程序所在目录,设置Path后,操作系统...