算数运算符优先级

这里学习和总结一下算数运算符优先级问题,这里给出一张图,网上也有很多,这里重要的是理解i++和++i的区别
java基础之运算符优先级、i++、++i的区别

i++和++i区别


  • i++先赋值后运算
  • ++i先运算后赋值

int a=1;
int b=a++ +1;
System.out.println(a);
System.out.println(b);
结果:-------------------
2
2

使用idea打开它生成的class文件可以看出原理

int a = 1;
byte var10000 = a;
int a = a + 1;
int b = var10000 + 1;
System.out.println(a);
System.out.println(b);

可以清楚的看到i++使用的是一个中间缓存变量,和网上大部分网友说明的一致,因此需要明白的是当有i++时候有一个中间缓存的变量,当执行i=i+1后再讲缓存中的值复制到原来的表达式中
这里附上一篇很好的解析深入理解Java中的i++、++i语句

相关文章:

  • 2022-01-16
  • 2022-12-23
  • 2021-05-09
  • 2022-12-23
  • 2021-10-11
  • 2021-10-05
猜你喜欢
  • 2021-11-22
  • 2021-10-23
  • 2022-12-23
  • 2021-05-12
  • 2022-12-23
  • 2021-11-14
相关资源
相似解决方案