b=a++问题

来源:3-8 Java中运算符的优先级

慕瓜7561383

2017-11-24 21:14

int a = 5; int b = a++; System.out.println(b); ++的优先级高于=,那应该先执行a++,再赋值,那b的结果不应该是6吗? 为什么是5

写回答 关注

3回答

  • 慕设计2363192
    2018-07-15 14:02:04

    ++在前先自增再赋值,++在后先赋值再自增,所以5是没毛病的

  • 临门_一脚
    2017-12-01 17:21:03

    ++(赋值运算符)的运算优先级确实高于=(赋值运算符),但是要理解a++的过程:a++是先调用a的值,之后a加一,如果无需调用a的值,则a自行加一。可见对于b=a++,首先调用a的初值给b赋值,然后a自行加一。所以在优先级上是没有问题的。你可以再输出a的值,检验a是否加一。

  • 学不会0
    2017-11-24 21:28:40

    ++a是先赋值再计算 a--是先a+b然后a减1

    慕丝2420...

    a++才是先赋值再计算吧?难道我记错啦。。。

    2018-07-10 16:13:03

    共 1 条回复 >

Java入门第一季(IDEA工具)升级版

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

1165554 学习 · 17587 问题

查看课程

相似问题