Talk is cheap,show me the code.
上代码:
public class Test{
public static void main(String args[]){
int[] arr=new int[5];
int b=2;
arr[b]=b=3;
System.out.println(Arrays.toString(arr));
System.out.println(b);
}
}
这个最后输出结果是:
[0,0,3,0,0]
3
我想要问的是:连续赋值语句的执行的具体过程,为什么b=3 而不是给arr[3]赋值3?
请大神指教!
java运算符
优先级 运算符 结合性
1 () [] . 从左到右
2 ! +(正) -(负) ~ ++ -- 从右向左
3 * / % 从左向右
4 +(加) -(减) 从左向右
5 << >> >>> 从左向右
6 < <= > >= instanceof 从左向右
7 == != 从左向右
8 &(按位与) 从左向右
9 ^ 从左向右
10 | 从左向右
11 && 从左向右
12 || 从左向右
13 ?: 从右向左
因为[]的优先级高,所以先执行[],这是b是2,再进行=号赋值运算
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。