课程
/后端开发
/Java
/Java入门第一季(IDEA工具)升级版
int a = 5; int b = a++; System.out.println(b); ++的优先级高于=,那应该先执行a++,再赋值,那b的结果不应该是6吗? 为什么是5
2017-11-24
源自:Java入门第一季(IDEA工具)升级版 3-8
正在回答
++在前先自增再赋值,++在后先赋值再自增,所以5是没毛病的
++(赋值运算符)的运算优先级确实高于=(赋值运算符),但是要理解a++的过程:a++是先调用a的值,之后a加一,如果无需调用a的值,则a自行加一。可见对于b=a++,首先调用a的初值给b赋值,然后a自行加一。所以在优先级上是没有问题的。你可以再输出a的值,检验a是否加一。
++a是先赋值再计算 a--是先a+b然后a减1
慕丝2420029
举报
0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始
2 回答关于a=++b 和a=b++符号优先级问题
4 回答System.out.println("a等于b:"+(a == b)) ????
3 回答why a=5,b=a++
4 回答int a=5 int b=a++ 输出为什么a=6 b=5
2 回答a=5;b=2;b<=a;为什么对啊?求指点