草庐IT

boolean-logic

全部标签

java - boolean 运算符的差异 : & vs && and | vs ||

我知道&&和||的规则,但是&和|是什么?请用一个例子给我解释一下。 最佳答案 这些是按位与和按位或运算符。inta=6;//110intb=4;//100//BitwiseANDintc=a&b;//110//&100//-----//100//BitwiseORintd=a|b;//110//|100//-----//110System.out.println(c);//4System.out.println(d);//6感谢Carlos指出Java语言规范(15.22.1、15.22.2)中关于运算符基于其输入的不同行为的适当

java - Java 中按位运算符对 boolean 值的影响

按位运算符应该移动变量并一点一点地对它们进行操作。在整数、长整数、字符的情况下,这是有道理的。这些变量可以包含由其大小强制执行的所有值范围。然而,在boolean值的情况下,一个boolean值只能包含两个值。1=真或0=假。但是boolean值的大小没有定义。它可以大到一个字节,也可以小到一点。那么在boolean值上使用位运算符有什么影响?JVM是否本质上将其转换为普通的逻辑运算符并继续前进?出于操作的目的,它是否将boolean值视为单个位实体?还是结果与boolean值的大小一起未定义? 最佳答案 当操作数是原始整数类型时,

java - Java 中按位运算符对 boolean 值的影响

按位运算符应该移动变量并一点一点地对它们进行操作。在整数、长整数、字符的情况下,这是有道理的。这些变量可以包含由其大小强制执行的所有值范围。然而,在boolean值的情况下,一个boolean值只能包含两个值。1=真或0=假。但是boolean值的大小没有定义。它可以大到一个字节,也可以小到一点。那么在boolean值上使用位运算符有什么影响?JVM是否本质上将其转换为普通的逻辑运算符并继续前进?出于操作的目的,它是否将boolean值视为单个位实体?还是结果与boolean值的大小一起未定义? 最佳答案 当操作数是原始整数类型时,

java - 为什么没有定义 Java 的 boolean 原始大小?

JavaVirtualMachineSpecification表示对booleanprimitive类型的支持有限。TherearenoJavavirtualmachineinstructionssolelydedicatedtooperationsonbooleanvalues.Instead,expressionsintheJavaprogramminglanguagethatoperateonbooleanvaluesarecompiledtousevaluesoftheJavavirtualmachineintdatatype.以上暗示(尽管我可能误解了它)在对boolean值

java - 为什么没有定义 Java 的 boolean 原始大小?

JavaVirtualMachineSpecification表示对booleanprimitive类型的支持有限。TherearenoJavavirtualmachineinstructionssolelydedicatedtooperationsonbooleanvalues.Instead,expressionsintheJavaprogramminglanguagethatoperateonbooleanvaluesarecompiledtousevaluesoftheJavavirtualmachineintdatatype.以上暗示(尽管我可能误解了它)在对boolean值

java - 使用 xor 运算符进行 boolean 检查是一种好习惯吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭3年前。Improvethisquestion我个人喜欢exclusiveor、^运算符,因为它在boolean检查的上下文中是有意义的,因为它很简洁。我更喜欢写作if(boolean1^boolean2){//doit}比if((boolean1&&!boolean2)||(boolean2&&!boolean1)){//doit}但我经常对其他有经验的Java开发人员(不仅仅是新手)的看法感到困惑,并且有时会评论它应该如何仅用于按

java - 使用 xor 运算符进行 boolean 检查是一种好习惯吗?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭3年前。Improvethisquestion我个人喜欢exclusiveor、^运算符,因为它在boolean检查的上下文中是有意义的,因为它很简洁。我更喜欢写作if(boolean1^boolean2){//doit}比if((boolean1&&!boolean2)||(boolean2&&!boolean1)){//doit}但我经常对其他有经验的Java开发人员(不仅仅是新手)的看法感到困惑,并且有时会评论它应该如何仅用于按

java - 对于 boolean 字段,它的 getter/setter 的命名约定是什么?

例如。booleanisCurrent=false;你给它的getter和setter起什么名字? 最佳答案 假设你有booleanactive;访问器方法是publicbooleanisActive(){returnthis.active;}publicvoidsetActive(booleanactive){this.active=active;}另见JavaProgramming/JavaBeansCodeConventionsfortheJavaProgrammingLanguage

java - 对于 boolean 字段,它的 getter/setter 的命名约定是什么?

例如。booleanisCurrent=false;你给它的getter和setter起什么名字? 最佳答案 假设你有booleanactive;访问器方法是publicbooleanisActive(){returnthis.active;}publicvoidsetActive(booleanactive){this.active=active;}另见JavaProgramming/JavaBeansCodeConventionsfortheJavaProgrammingLanguage

java - 检查 null Boolean 是否为真导致异常

我有以下代码:Booleanbool=null;try{if(bool){//DoSomething}}catch(Exceptione){System.out.println(e.getMessage());}为什么我对boolean变量“bool”的检查会导致异常?当它“看到”它不是真的时,它不应该直接跳过if语句吗?当我删除if语句或检查它是否为空时,异常消失。 最佳答案 如果您不喜欢额外的空检查:if(Boolean.TRUE.equals(value)){...} 关于java