Java中,例如x=true||(++i>10);这句,为什么不先算括号里的?反而i的输出...
发布网友
发布时间:2024-10-19 05:21
我来回答
共2个回答
热心网友
时间:2024-12-02 10:07
你这是短路运算符和非短路运算符的问题。
||和&&是短路运算符,当前一个子表达式能够决定整个表达式的值时,后面的所有表达式将不再进行运算。你的表达式x = true || (++i > 10)中,第一个表达式true就决定了x的值,无论后面是什么值,都不会进行运算,也就是++i > 10根本不会到这一步,所以i值不变。
|和&是非短路运算符,只有当整个表达式中所有的子表达式全部运算完毕后,才会得出最终的结果。
括号只是在同一个表达式中决定优先级。
热心网友
时间:2024-12-02 10:09
今天的美貌也认真工作了呢~可盐可甜,一眼万年~仙子下凡辛苦了!眼睛里面有星星~是脸蛋天才没错了~美颜盛世!完全是行走的画报了!!!教科书级别的美貌!明明可以靠颜值,偏偏要靠才华!啊啊啊美貌犯规了!!!