为什么在Java中不允许赋值和不带括号的布尔运算符

塞格

抱歉,提出了奇怪的问题。如果有人有一个如何使它变得更好的想法,我会很高兴。至少可以想象我们有3个布尔变量:

boolean a = false;
boolean b = false;
boolean c = false;

Java允许编写以下内容:

System.out.println(a=b);
System.out.println(a==b & a==c);

从这两个陈述中,我希望以下内容也是合法的。

System.out.println(a=b & a=c);

我的问题是:为什么在第二种情况下不允许,而在第一种情况下允许呢?在第二种情况下,两个作业都以boolean解析,并且&对我来说合法。

ge

这是因为=优先级比更低&(顺便说一句,它是您的代码片段中布尔运算符,而不是按位运算符;它与&&不短路一样,它是相同的)。

因此,您的表达式为(带有括号):

a = (b & a) = c

但是您不能分配cb & a

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么在Typescript中不允许逻辑赋值(&=)运算符?

来自分类Dev

为什么在is或as运算符的左侧不允许使用lambda和匿名方法?

来自分类Dev

为什么在Javascript中,布尔运算符可能既不返回false也不返回true?

来自分类Dev

布尔运算符和ClientHandler

来自分类Dev

在R编程中,any和|之间有什么区别?(或)布尔运算符?

来自分类Dev

Java布尔运算符的StringFormat

来自分类Dev

Python中的布尔运算符

来自分类Dev

Cassandra和<=,=>运算符的日期不允许过滤

来自分类Dev

vb.net-为什么ULong(UInt64)不允许+ =运算符?

来自分类Dev

TypeScript不允许算术运算符,但我不明白为什么

来自分类Dev

TypeScript不允许算术运算符,但我不明白为什么

来自分类Dev

括号和赋值运算符顺序

来自分类Dev

为什么在int.parse(“ 1”)之后不允许使用后缀增量(++)运算符?

来自分类Dev

列出java上布尔运算符的优先顺序

来自分类Dev

Bash中的布尔运算符(&&,-a,||,-o)

来自分类Dev

D中的重载布尔运算符

来自分类Dev

C ++中for循环中的布尔运算符

来自分类Dev

在Less?中搜索时的布尔运算符?

来自分类Dev

了解bash脚本中的布尔运算符

来自分类Dev

Bash中的布尔运算符(&&,-a,||,-o)

来自分类Dev

C ++中for循环中的布尔运算符

来自分类Dev

D中的重载布尔运算符

来自分类Dev

布尔运算符评估顺序

来自分类Dev

为什么函数中本地定义的结构需要赋值运算符和复制构造函数

来自分类Dev

条件运算符不允许程序终止

来自分类Dev

将C数值运算符转换为Java布尔运算符

来自分类Dev

为什么在比较布尔值时,按位运算符比Java中的“正常”运算符要慢?

来自分类Dev

为什么 \empty 和 \isset 在 php 中是不允许的

来自分类Dev

Eclipse中的openjdk 1.7:低于1.7的源级别不允许使用运算符

Related 相关文章

  1. 1

    为什么在Typescript中不允许逻辑赋值(&=)运算符?

  2. 2

    为什么在is或as运算符的左侧不允许使用lambda和匿名方法?

  3. 3

    为什么在Javascript中,布尔运算符可能既不返回false也不返回true?

  4. 4

    布尔运算符和ClientHandler

  5. 5

    在R编程中,any和|之间有什么区别?(或)布尔运算符?

  6. 6

    Java布尔运算符的StringFormat

  7. 7

    Python中的布尔运算符

  8. 8

    Cassandra和<=,=>运算符的日期不允许过滤

  9. 9

    vb.net-为什么ULong(UInt64)不允许+ =运算符?

  10. 10

    TypeScript不允许算术运算符,但我不明白为什么

  11. 11

    TypeScript不允许算术运算符,但我不明白为什么

  12. 12

    括号和赋值运算符顺序

  13. 13

    为什么在int.parse(“ 1”)之后不允许使用后缀增量(++)运算符?

  14. 14

    列出java上布尔运算符的优先顺序

  15. 15

    Bash中的布尔运算符(&&,-a,||,-o)

  16. 16

    D中的重载布尔运算符

  17. 17

    C ++中for循环中的布尔运算符

  18. 18

    在Less?中搜索时的布尔运算符?

  19. 19

    了解bash脚本中的布尔运算符

  20. 20

    Bash中的布尔运算符(&&,-a,||,-o)

  21. 21

    C ++中for循环中的布尔运算符

  22. 22

    D中的重载布尔运算符

  23. 23

    布尔运算符评估顺序

  24. 24

    为什么函数中本地定义的结构需要赋值运算符和复制构造函数

  25. 25

    条件运算符不允许程序终止

  26. 26

    将C数值运算符转换为Java布尔运算符

  27. 27

    为什么在比较布尔值时,按位运算符比Java中的“正常”运算符要慢?

  28. 28

    为什么 \empty 和 \isset 在 php 中是不允许的

  29. 29

    Eclipse中的openjdk 1.7:低于1.7的源级别不允许使用运算符

热门标签

归档