「java中与或运算」java的与运算
今天给各位分享java中与或运算的知识,其中也会对java的与运算进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!
本文目录一览:
- 1、JAVA中双与、双或和单与、单或的区别是什么?
- 2、java中的逻辑运算符 与和或 怎么才能用通俗的方法解释下腻....就是易懂些 我是初学朦朦胧胧的~
- 3、java中的(或运算,异或运算,与运算)解释下
- 4、java 逻辑运算
JAVA中双与、双或和单与、单或的区别是什么?
区别1: 和 | 可用于bitwise operation,即二进制运算,而和 || 不可以。
区别2:在逻辑运算时, 和 || 叫做short-circuit logical operator, 意思是先判定左侧的逻辑值,如果可以决定结果则不再浪费时间去判定右侧的逻辑值。例如(23) || (a*5+b/3-c5),因为(23)是true,无论右侧是true or false,结果都是true, 所以右侧将不再进行判定。而 和 | 则总会对两侧进行判定,称为non-short-circuit logical operator.
java中的逻辑运算符 与和或 怎么才能用通俗的方法解释下腻....就是易懂些 我是初学朦朦胧胧的~
例如: 条件1 : 1==1 这个是正确的吧? 条件2 2==2 这个也是正确的吧?
1、与 当条件1 和 条件2 都满足时 if(条件1 与 条件2){ (成立)这里就去做你的事了 ▲1 }
例如 条件3 : 3==3 这个是正确的吧? 条件4 : 4==5 这个是错误的吧?
2、或 当条件1和条件2 任意一个满足相等时 if (条件3 或 条件4){ (成立) 这里就去做你的事了▲2}
然后呢? 与 ,如果条件1和条件2 任意1个 不成立的时候 ,就不能进行 ▲1 这里的事了
或, 当条件3和条件4 都不成立的时候 ,就不能进行 ▲2 这里的事了 , 当然 当它们都成立的时候 ,更可以进行 ▲2 了,对吧?
java中的(或运算,异或运算,与运算)解释下
java中或运算、异或运算、与运算的使用实例和解释如下:
public class Test { public static void main(String[] args) {
// 1、左移( )
// 0000 0000 0000 0000 0000 0000 0000 0101 然后左移2位后,低位补0:
// // 0000 0000 0000 0000 0000 0000 0001 0100 换算成10进制为20 System.out.println(5 2);// 运行结果是20
// 2、右移( ) 高位补符号位
// 0000 0000 0000 0000 0000 0000 0000 0101 然后右移2位,高位补0:
// 0000 0000 0000 0000 0000 0000 0000 0001
System.out.println(5 2);// 运行结果是1
// 3、无符号右移( ) 高位补0
// 例如 -5换算成二进制后为:0101 取反加1为1011
// 1111 1111 1111 1111 1111 1111 1111 1011 /
/ 我们分别对5进行右移3位、 -5进行右移3位和无符号右移3位:
System.out.println(5 3);// 结果是0
System.out.println(-5 3);// 结果是-1
System.out.println(-5 3);// 结果是536870911
// 4、位与( )
// 位与:第一个操作数的的第n位于第二个操作数的第n位如果都是1,那么结果的第n为也为1,否则为0
System.out.println(5 3);// 结果为1
System.out.println(4 1);// 结果为0
// 5、位或( | )
// 第一个操作数的的第n位于第二个操作数的第n位 只要有一个是1,那么结果的第n为也为1,否则为0
System.out.println(5 | 3);// 结果为7
// 6、位异或( ^ )
// 第一个操作数的的第n位于第二个操作数的第n位 相反,那么结果的第n为也为1,否则为0
System.out.println(5 ^ 3);//结果为6
// 7、位非( ~ ) // 操作数的第n位为1,那么结果的第n位为0,反之。 System.out.println(~5);// 结果为-6 } }
java 逻辑运算
在Java中,逻辑运算有And、Or、Not三种,其中And、Or又分为普通逻辑运算和短路逻辑运算两种。其中普通逻辑运算And用“”表示,“|”表示或者关系。短路逻辑运算的时候,“”表示短路与,“||”表示短路或。
1、一般逻辑运算需要在逻辑运算符两侧的逻辑表达式,都参与逻辑运算,其表达式的值进行比较,依次计算出最后的值。
2、短路逻辑运算符需要首先计算最左边的表达式,如果最左边的表达式成立,则不再进行整个表达式的判断,直接取最左边的表达式为整个表达式的值。
下面的例子虽然输出的值一样,但是运算的方式不一样:
private void testAnd(boolean on ,boolean
tw){
System.out.println("truefalse = "+
(truefalse));
System.out.println("falsefalse = "+
(falsefalse));
System.out.println("falsetrue = "+
(falsetrue));
System.out.println("truetrue = "+
(truetrue));
System.out.println(" ");
System.out.println("truefalse = "+ (truefalse));
System.out.println("falsefalse = "+
(falsefalse));
System.out.println("falsetrue = "+ (falsetrue));
System.out.println("truetrue = "+ (truetrue));
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时,才会考虑右边表达式的值,否则直接取左边的值为整个表达式的值;
truefalse = false
falsefalse = false
falsetrue = false
truetrue =
true
//全部计算表达式两面的值,然后取值运算;
truefalse = false
falsefalse = false
falsetrue = false
truetrue =
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中与或运算和java的与运算的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。