开发者社区> 问答> 正文

关于java中连环赋值的问题

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?
请大神指教!

展开
收起
蛮大人123 2016-02-26 10:20:41 2281 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    java运算符
    优先级 运算符 结合性
    1 () [] . 从左到右
    2 ! +(正) -(负) ~ ++ -- 从右向左
    3 * / % 从左向右
    4 +(加) -(减) 从左向右
    5 << >> >>> 从左向右
    6 < <= > >= instanceof 从左向右
    7 == != 从左向右
    8 &(按位与) 从左向右
    9 ^ 从左向右
    10 | 从左向右
    11 && 从左向右
    12 || 从左向右
    13 ?: 从右向左
    因为[]的优先级高,所以先执行[],这是b是2,再进行=号赋值运算

    2019-07-17 18:47:57
    赞同 展开评论 打赏
问答分类:
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载