那位朋友帮我介绍一下java中逻辑运算符非的用法?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了那位朋友帮我介绍一下java中逻辑运算符非的用法?相关的知识,希望对你有一定的参考价值。

最好能举个代码例子,谢谢了
对就是这个,不过我还是不太懂,能举个详细的例子吗?谢了

所有一元运算符,如 ! 运算符,按照下面的规则来求表达式的值:

假如应用于 undefined 或 null 表达式,则会产生一个运行时错误。
对象被转换为字符串。
假如可能,字符串被转换为数值。否则会产生一个运行时错误。
Boolean 值被当作数值(假如是 false 则为 0,假如是 true 则为 1)。
该运算符被用来产生数值。

对于 ! 运算符,假如 expression 是非零的,则 result 是零。假如 expression 是零,则 result 是 1
参考技术A 楼上的误人子弟啊,java中0和1不表示逻辑的.逻辑只能用true和false来表示.!的一种用法就像一楼所说.第二种就是!=了比如说一个判断一个对象不为null时
Object!=null.诸如此类..
参考技术B 逻辑非?? 难道是 说 ! 这个符号??
如果是的话,
他就是把true 换成false 或者 把 false换成true的作用

例如:
boolean a, b;
a = true;
b = !a;
那么b就是false了。
你说的是这个吗。。。。?
参考技术C if(!a=1)是错误的
int
a
=0;
if(!(a
==
1))
这样
JAVA中Boolean型不能随便赋值
非只能是对Boolean型才可以使用。如表达式
参考技术D if(!a=1)是错误的
int
a
=0;
if(!(a
==
1))
这样
java中boolean型不能随便赋值
非只能是对boolean型才可以使用。如表达式

逻辑表达式的用法 与或非的用法

先说逻辑与(&&),它可以从三个层次进行理解

第一个层次最简单,就是简单的布尔值之间的逻辑与,就是左值和右值都是true时,返回true,两边都是false或者两边的值其中一边是fasle,就返回false;(AND操作);

第二个层次,(false,null,indefined,0,-0,NaN和""这些都是假值,其他所有的值包括对象都是真值),对这些"真值"和"假值"进行AND操作,返回一个"真值"或者"假值";

值得注意的是,(&&)并不返回一直的是布尔值,他会返回第二个层次出现的真值或者假值,,但是这些"真值"和"假值"到底是什么值呢?所以引入第三层的理解

第三个层次的理解,其实也简单,当语句中的左操作数是假值时,就不对语句的右操作数进行运算了,直接返回左操作数作为表达式的运算结果;当左操作数是真值时,将右操作数的值返回,作为表达式的运算结果,

举个例子如下:

var o={s:1};              //创建一个对象
var p=null;                 //创建了一个null
o&&o.s                       //返回1,应为o是真值,所以返回o.s的值
p&&p.x                       //返回null,应为p是假值,所以不去计算p.x,直接返回p的值  
o&&o.b; //这样会抛出一个类型错误异常,因为o为真值,需要返回o.b,但是o.b并不存在,

这样就好理解了

虽然&&可以用来返回真值和假值,但是大多数情况下,真值就是true,假值就是false;

 

再说一下逻辑或(||),举一反三,逻辑与也有与逻辑或类似的三个层次理解,就不详细写了

逻辑与最常用的方法是从一群备选的操作数中选出一个真值的表达式

举个例子

var min =min_value||sum.min_value||100;

先找到min_value,如果它没有定义,那就在sum对象中查找,如果还没有,只能给它赋值一个死值100,

这种方法通常用在函数中给参数设置默认值

举个例子

function add(a,b){
     b=b||0;
     return a+b;    
}

当不对b设置初始值时,b等于0;add函数返回的就是a+0,也就是a的值;

 

 

逻辑非(!)

他的目的是将操作数的布尔值进行求反,例如:如果x是真值,!x返回false,如果x是假值,!x返回true。

返回布尔值时,已经将这些真值啊,假值啊转换成了布尔值,再对其进行求反。

这里介绍一种!的常见用法

有时候我们需要对一个变量查检其是否存在或者检查值是否有一个有效值,就使用!!,

例如,检测一个从一个函数返回的值student是否是个有效值,就使用  !!student,如果他返回是true,那么他就是一个有效值。

 

以上是关于那位朋友帮我介绍一下java中逻辑运算符非的用法?的主要内容,如果未能解决你的问题,请参考以下文章

逻辑与或非的使用方法

有朋友能详细介绍一下java中sort的用法吗

那位高手能帮我把电脑电的确定,退出,下一步,等等翻成英文

java中的位运算符及其用法。

那位高人帮我破解一下这个IP密码!!!谢谢了!

那位大神帮我解决一下clearcase的问题: