【问题标题】:What is the meaning of "&" in java [duplicate]java中的“&”是什么意思[重复]
【发布时间】:2016-05-14 03:03:36
【问题描述】:

我有这个代码

  import java.io.*; import java.util.*;
import javax.xml.parsers.*; import org.xml.sax.InputSource;
class TeamPlayer {
    private int pulse;
    TeamPlayer() { pulse= -10; }
    TeamPlayer(int v0) {pulse= v0 +5;}
    public int m(int v) { return 31%3 ;}
    public int get_pulse() { return 1* pulse;}
}
class GoalKeeper extends TeamPlayer {
    GoalKeeper() { stress -=8; }
    public static int stress=3;
    public int m(int v) { return (v & 3) + 15; }
}

但我不明白“&”是什么意思。和“&&”有区别吗?

【问题讨论】:

标签: java


【解决方案1】:

它是按位“与”运算符。链接:https://docs.oracle.com/javase/tutorial/java/nutsandbolts/operators.html

编辑更具体的解释:它用于组合二进制表示中位置为1的两个数字,如果两个数字都为1那么:

0101 & 0000 = 0000
0101 & 1111 = 0101
0101 & 0100 = 0100
...and so on...

【讨论】:

  • 你能说得更具体点吗?
  • @user5510402 "谷歌"!
【解决方案2】:

它是一个执行二元运算的运算符。
例如:

  1001   //9
& 1110   //14
---------
  1000   //8

如果两个操作数都是 1,则返回 1。


...和“&&”有区别吗

是的。

&& 是一个逻辑运算符,它检查两个(或多个)运算符,如果都为真,则返回真。

他们有类似的工作,除了 && 不会检查第二个参数,如果第一个参数足以判断结果为假。

【讨论】:

    【解决方案3】:

    考虑到我有表达式,

       int a=0;
       if (a!=0 && a!=1)
       {     
             //some expression(s)
       }
    

    当它检查第一个条件并发现它为假时,它不检查另一个条件并自动返回假,因为只有当所有条件都为真时才返回真。 但是在 '&' 的情况下,它也会检查第二个条件,尽管第一个条件是假的。

    【讨论】:

      猜你喜欢
      • 2016-05-18
      • 2015-09-12
      • 2012-08-13
      • 1970-01-01
      • 2012-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-04-10
      相关资源
      最近更新 更多