gpt4 book ai didi

java - Java如何处理以|分隔的参数?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:00:36 24 4
gpt4 key购买 nike

Java 如何处理由 | 分隔的参数?

例如

private void foo(int i) {
System.out.println(i);
}

private void bar() {
foo(1 | 2 | 1);
}

输出结果

3

我已经在 SWT/JFace 小部件构造函数中看到它的使用。我想不通的是 i 的值是如何决定的。

最佳答案

| 是按位或运算符。

foo(1 | 2 | 1);

意味着使用参数 1 bitwise-or 2 bitwise-or 1 调用 foo

  • 1 在二进制中是01
  • 2 的二进制是 10

0110 的按位或为 11,十进制为 3。

请注意,| 运算符也可用于 boolean 值。与 || 运算符的区别在于,即使第一个操作数的计算结果为 true,也会计算第二个操作数。

实际上,所有 位运算符也适用于 boolean 值,包括 xor ^。然而,这里没有相应的逻辑运算符。 (这将是多余的,因为没有办法对 ^ 进行“惰性”评估 :)

关于java - Java如何处理以|分隔的参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3202755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com