++x 是什么意思,它与x++有什么区别?

在java里, x++和 ++x 有什么区别?~

x++和++x 两者区别: 如果单独作为一条语句的话,并没有区别例如 x++;和++x;没有任何区别 如果作为一个表达式;前者表达式值为x,然后x自身+1;后者表达式值x自身+1以后的x值, 例:x=1; a=x++;这里a结果是1;x是2; x=1;a=++x; 这里a结果是2, x结果也是2

但他们是单独的式子的时候 ,没区别 但是当他们在其余的表达式中的时候就有了
x++是先输出x的值在进行自加
而++x是先自加然后在输出x的值

两个操作都是自增操作,都只能对变量进行该操作,但是两种自增有些许区别:

1、++x先将x的值自增1,然后再在当前表达式中使用x的值。

2、x++先在当前表达式中使用x的值,然后再将x的值自增1。

例如inty=3,x=6。那么

++x+y=(6+1)+3=10,运算结束后x=7。

x+++y=6+3=9,运算结束后x=7。

运算特点

C语言的运算非常灵活,功能十分丰富,运算种类远多于其它程序设计语言。在表达式方面较其它程序语言更为简洁,如自加、自减、逗号运算和三目运算使表达式更为简单,但初学者往往会觉的这种表达式难读,关键原因就是对运算符和运算顺序理解不透不全。

当多种不同运算组成一个运算表达式,即一个运算式中出现多种运算符时,运算的优先顺序和结合规则就会显得十分重要。



首先,两个操作都是自增操作,都只能对变量进行该操作,但是两种自增有些许区别

++x  先将x的值自增1,然后再在当前表达式中使用x的值。

x++  先在当前表达式中使用x的值,然后再将x的值自增1。

举例:

(1)int x=1;System.out.println(x++);    //输出1,  x++先在当前表达式中使用x的值,然后再将x的值自增1,System.out.println(x);     //输出2,经过上一条指令x自增了1

(2)int x=1;System.out.println(++x);    //输出2,  ++x 先将x的值自增1,然后再在当前表达式中使用x的值,System.out.println(x);     //输出2,经过上一条指令x自增了1。

x++实际上分为三个步骤 取值,计算,赋值 例如x=1,x++, 实际上JVM定义了一个缓存值y y=x;取值(只运算一次) y=y+1;

计算 x=y;赋值 而++x,步骤不一样, y=x;取值(只运算一次) x=y;赋值 y=y+1;计算 这就是书上说的x++是先计算后赋值 ++x是先赋值后计算。

扩展资料

C的运算符有以下几类:

1、算术运算符:* - + / %

2、关系运算符: > < == != >= <=

3、逻辑运算符:! && ||

4、位运算符:<< >> ~ | ^ &

5、赋值运算符:=及扩展赋值运算符

6、条件运算符:?:

7、逗号运算符:,

8、指针运算符:*和&

9、求字节数运算符:sizeof

10、强制类型转换运算符:(类型)

11、分量运算符:、 ->

12、下标运算符:[ ]

13、其他:如函数调用运算符:()



++x和x++都表示x的值加1
不同的是
++x是先将x的值加1,然后才参加运算;
x++则是先参加运算,然后再把x的值加1。

比如
x=1;
b=++x
那么b =2
先自加 再赋值

如果是b=x++;
那么b=1
先赋值 再自加
明白了吗

另外,前置自加还可以作左值,例如
++x = 3; //正确
x++ = 3;//错误

相关兴趣推荐

IT评价网,数码产品家用电器电子设备等点评来自于网友使用感受交流,不对其内容作任何保证

联系反馈
Copyright© IT评价网