nynw.net
当前位置:首页 >> jAvA中 A=A+1;和A+=1;有什么区别 >>

jAvA中 A=A+1;和A+=1;有什么区别

short a = 1; //先检查是否在short范围内,如果在,再转换,砍掉高位,进行赋值 a + = 1;//同上 a = a + 1; //它不做转换,而且是两次运算 //以上两句的区别是:一个编译通过,一个失败,前者在赋值过程中低层做了强制转换动作;

语句中,b = *a+1 -- 指针a 指向的数值加1, *a 是数值, b 等于 那个数值 加 1。 或 把a看成数组元素 b = a[0] + 1; *(a+1) -- 指针 (a+1) 指向的数值 b = *(a+1) -- 可以看成数组元素 b = a[1];

a++:a先创建自身的一个副本,然后a自增1,最后返回副本的值 a+=1: 事实上相当于++a a=a+1: 虽然有点雷同于a+=1,但不同的是此时右值的a和1做相加操作,形成一个副本然后赋值给a,所以有额外操作 ++a:将a自增1并返回a 鉴于a++和++a的差别,C++Pri...

我来告诉你吧! a++是先执行赋值,再自增一 比如一段代码: int a=1; int b=a++; 当你输出b时,得到的结果是1,再输出a时结果就是2了。 而 a+=1;等价于a=a+1,一般不放入赋值符号(即=)的右边。这两句话就是这点区别,在其他情况下都是一样的。

在C语言中

C语言为了使写法更方便,单条语句更简短,增加了缩写形式。 这两种方式是一样的,没有任何区别。 除此之外,还有a *= 1,a %= 1,只要是操作符都可以。

a++:a先创建自身的一个副本,然后a自增1,最后返回副本的值 a+=1: 事实上相当于++a a=a+1: 虽然有点雷同于a+=1,但不同的是此时右值的a和1做相加操作,形成一个副本然后赋值给a,所以有额外操作 ++a:将a自增1并返回a 鉴于a++和++a的差别,C++Pri...

简写的还有类似这种型式的 a += n;// a=a+n a -= n;//a=a-n a*=n;//a=a*n; a/=n;//a=a/n; a%=n//a=a%n;

int a; a=+1; int b; b+=1; 你这代码十分的诡异,我给你解释一下子 int a; a=+1; 这里定义了一个int型变量a,然后a=+1是给a赋值,值是正1。=+这个东西不是运算符 int b; b+=1 这里定义了一个int型变量b,本身b+=1是正确的,但由于b定义在方法内...

网站首页 | 网站地图
All rights reserved Powered by www.nynw.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com