java逻辑或运算
㈠ java 逻辑运算
在Java中,逻辑运算有And、Or、Not三种,其中And、Or又分为普通逻辑运算和短路逻辑运算两种。其中普通逻辑运算And用“&”表示,“|”表示或者关系。短路逻辑运算的时候,“&&”表示短路与,“||”表示短路或。
1、一般逻辑运算需要在逻辑运算符两侧的逻辑表达式,都参与逻辑运算,其表达式的值进行比较,依次计算出最后的值。
2、短路逻辑运算符需要首先计算最左边的表达式,如果最左边的表达式成立,则不再进行整个表达式的判断,直接取最左边的表达式为整个表达式的值。
下面的例子虽然输出的值一样,但是运算的方式不一样:
private void testAnd(boolean on ,boolean
tw){
System.out.println("true&&false = "+
(true&&false));
System.out.println("false&&false = "+
(false&&false));
System.out.println("false&&true = "+
(false&&true));
System.out.println("true&&true = "+
(true&&true));
System.out.println(" ");
System.out.println("true&false = "+ (true&false));
System.out.println("false&false = "+
(false&false));
System.out.println("false&true = "+ (false&true));
System.out.println("true&true = "+ (true&true));
System.out.println(" ");
System.out.println("true||false = "+ (true||false));
System.out.println("false||false = "+
(false||false));
System.out.println("false||true = "+ (false||true));
System.out.println("true||true = "+
(true||true));
System.out.println(" ");
System.out.println("true|false = "+ (true|false));
System.out.println("false|false = "+
(false|false));
System.out.println("false|true = "+ (false|true));
System.out.println("true|true = "+
(true|true));
}
输出结果为:
短路或“&&”只有在左边的表达式值为true时,才会考虑右边表达式的值,否则直接取左边的值为整个表达式的值;
true&&false = false
false&&false = false
false&&true = false
true&&true =
true
//全部计算表达式两面的值,然后取值运算;
true&false = false
false&false = false
false&true = false
true&true =
true
短路或“||”只有在左边的表达式值为false时,才会考虑右边表达式的值,否则直接取左边的值为整个表达式的值;
true||false =
true
false||false = false
false||true = true
true||true = true
普通或"|"全部计算表达式两面的值,然后得出结果
true|false = true
false|false = false
false|true = true
true|true = true
适用短路运算的条件
1)、表达式前后的逻辑条件有明显的顺序关联关系,顺序条件早的在表达式的左边;
2)、逻辑运算符比较少,不会有嵌套或者短路与非短路逻辑混合的情况;
3)、使用短路运算,必须清楚的明白所要判断的逻辑值的具体细节;
4)、如果"&&"和"||"混用,则不考虑使用短路运算;
㈡ java逻辑运算符都有哪些
逻辑运算符包括 &&、||、!。其中 && 和 || 是双目运算符,实现逻辑与、逻辑或;!是单目运算符,实现逻辑非。
逻辑运算符的优先级为:!运算级别最高,&& 运算高于 || 运算。!运算符的优先级高于算术运算符,而 && 和 || 运算则低于关系运算符。结合方向是:逻辑非(单目运算符)具有右结合性,逻辑与和逻辑或(双目运算符)具有左结合性。
(2)java逻辑或运算扩展阅读:
逻辑运算符的示例。
x>0 && x<=100 //第一行语句
y%4==0 || y%3==0 //第二行语句
!(x>y) //第三行语句
其中,第一行语句用于判断 x 的值是否大于 0 且小于或等于 100,只有两个条件同时成立结果才为真(true)。
第二行语句用于判断 y 的值是否能被 4 或者 3 整除,只要有一个条件成立,结果就为真(true)。
第三行语句先比较 x 和 y,再将比较结果取反,即如果 x 大于 y 成立,则结果为假(false),否则为真(true)。
㈢ java逻辑运算符作用
一般如果要判断两个条件时用&&连接:
如:
if(i<10&&i>0)表示如果变量i的值即大于0,且小10,就执行下面的代码。
boolean ok = false;
if(!ok)
{
System.out.println("ok");
}
//结果会打印ok;
if(!End)return;和if(End==false)return
if(End)return;和if(End==true)return;是一个意思。
(3)java逻辑或运算扩展阅读:
运算符指明对操作数的运算方式。组成表达式的Java操作符有很多种。运算符按照其要求的操作数数目来分,可以有单目运算符、双目运算符和三目运算符,它们分别对应于1个、2个、3个操作数。运算符按其功能来分,有算术运算符、赋值运算符、关系运算符、逻辑运算符、位运算符和其他运算符。
㈣ java中的短路与(&&)、短路或(||) 与 逻辑与(&)、逻辑或(|)有什么区别啊
首先名称是不同的:
&&逻辑与||逻辑或它们都是逻辑运算符
&按位与|按位或它们都是位运算符
if(a==1&&b==2)这是说既要满足a=1也要满足b=2
if(a==1||b==2)这是说或者满足a=1或者要满足b=2
而a&b或者a|b则是二进制的与或运算
&同为1时为1,否则为0
|同为0时为0,否则为1
3&5则
0011
&0101
0001
等于1
3|5则
0011
|0101
0111
等于7
&&逻辑与也叫做短路与因为只要当前项为假,它就不往后判断了,直接认为表达式为假
||逻辑或也叫做短路或因为只要当前项为真,它也不往后判断了,直接认为表达式为真
㈤ java 逻辑运算
在java中
|
是位运算符,表示"或"
只能用于二进制位的操作
比如:byte
b
=
10011001
|
00101110
b等于10111111(191)
^也是位运算符,表示"异或",也是用于二进制数的操作,
0^0=0
0^1=1
1^1=0
1^0=1
&也是位算符,表示"与"
所以flag必须是二进制数才能进行运算
&&
表示与
||表示或
都属于逻辑运算符
比如:if(a==b
||
a==c)
表示a==b
或者
a==c
这两个条件只需满足一个
if(a==b
&&
a==c)
表示a==b
并且一定要满足a==c两个条件
㈥ 在java中,逻辑运算符|和||之间有什么区别吗
其实他们之间有一个很大的差别:短路
举个例子来解释一下吧,
false&true-->false
false&&true-->false
单从结果上看,他们结果是一样的,都是false
但是前者在运行的时候,计算机首先判断第一个条件为false,然后判断第二个条件true,然后判断出结果为false
而后者,首先也是判断第一个条件,当判断出为false时,程序立即终止,因为不管第二个条件是什么,结果一定为false
这就是他们之间的区别
希望我的回答能对你有所帮助
㈦ JAVA中&&和||是什么意思怎么用
&&可以用作逻辑与的运算符,表示逻辑与(and),当运算符两边的表达式的结果都为true时,整个运算结果才为true,否则,只要有一方为false,则结果为false。
&&还具有短路的功能,即如果第一个表达式为false,则不再计算第二个表达式,例如,对于if(str
!=
null
&&
!str.equals(“”))表达式,当str为null时,后面的表达式不会执行,所以不会出现NullPointerException
||可以作逻辑或运算符,表示逻辑或(or),当运算符有一边为true时,整个运算结果为true!
㈧ java 中 || ,&&是什么意思
&&是逻辑与的意思。只要第一个条件不满足,后面条件就不再判断
例如:
publicclassTest{
publicstaticvoidmain(String[]args){
if((5==6)&&(100/0==0)){
System.out.println("运算没有问题。");
}else{
System.out.println("没有报错");
}
}
}
运行结果: