当前位置:首页 » 编程语言 » java逻辑或运算

java逻辑或运算

发布时间: 2022-09-21 07:34:04

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("没有报错");
}

}
}

运行结果:

热点内容
压缩圆环 发布:2025-01-11 06:41:37 浏览:509
安卓背面是什么字母 发布:2025-01-11 06:37:55 浏览:212
个人小程序怎么购买云服务器 发布:2025-01-11 06:33:08 浏览:909
手机mc怎么玩服务器国际服 发布:2025-01-11 06:18:33 浏览:157
win2008ftp中文乱码 发布:2025-01-11 06:10:03 浏览:868
平板配置为什么这么低 发布:2025-01-11 06:05:30 浏览:622
可编程视频 发布:2025-01-11 06:03:24 浏览:785
java多线程编程实战 发布:2025-01-11 06:03:17 浏览:631
图的算法java 发布:2025-01-11 05:57:07 浏览:483
梯形图编译器 发布:2025-01-11 05:56:26 浏览:260