a++和++a;a+=和a=a+1的区别

a++和++a的区别

看谁在前面,符号在前面,先自增,然后用自增的值和接下来的值做运算

​ 变量在前面,先用变量的值和其他的值做运算,然后再让他自增

a–,和–a同上

a++: 先取值,再自增
int a=18;
System.out.println(2+a++);//20
这里已经取值,得到值就不会执行后边的++
第一步执行:18+2=20
第二步执行:a=18+1
System.out.println(a);//19

++a(先自增再取值)
int a=18;
System.out.println(2+(++a));//21
这里先取值,取值过后才赋值
第一步执行:a=18+1//a此时为19
第二步执行:2+19
System.out.println(a);//19

单独使用时,功能一模一样,都是让a的值增加1;
不同的是与赋值号“=”一起使用时,y=++a表示先将a的值增加1后,再把值赋给y;
而,y=a++表示先把a的值给y,a自己再增加1.
“==”不是赋值

int a =1;
int c =a++;
a=1;
int d=++a;
c 等于1,d等于2。

a=a+1;其实是一种错误写法,不能通过编译,因为高转低没有做强制类型转换
a+=1;是可以通过编译的,由java底层来完成操作【就是a+1=】

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值