比较运算符&逻辑运算符&位运算符

来源:互联网 发布:unity3d ui特效制作 编辑:程序博客网 时间:2024/05/21 13:04

/*
比较运算符: 比较运算符的结果都是返回一个布尔值的。


== (判断是否等于)
==用于比较两个基本数据类型数据的时候,比较的是两个变量所存储的值是否一致.
==用于比较两个引用类型变量的数据时候,比较的是两个 引用类型变量所记录的内存地址是否一致. 




!= (不等于)
> (大于)
< (小于)
>= (大于等于)
<= (小于等于)
*/

class Demo7 {public static void main(String[] args) {/*int a = 10;int b =10;System.out.println("10等于10吗?"+ (a==b));  System.out.println("10不等于1吗?"+ (10!=1) ); //true  */byte b  = 10;long l = 30;System.out.println(l>b); //两个不同类型的数据是否可以比较呢.,可以的,但是两个不同类型的数据必须是兼用的数据。//这个比较的过程会先把b转换了long类型的数据,然后再进行比较 。System.out.println('a'>50);}}





/*
逻辑运算符 :逻辑运算符的作用是用于连接布尔表达式的。 


& (与,并且)
规律: 只有左右变量同时 为true,那么结果才是true,否则就为false。


|  (或,或者)


规律: 只要两边的布尔表达式有一边为true,那么结果就为true,只有两边同时为false 的时候,结果才是false.


^  (异或)


规律: 只要两边的布尔表达式 结果不一致,那么结果就为true,如果左右两边 的布尔表达式一致,那么就为false.


! (非)


--------------------
&& (短路与\双与)


短路与和单与符号的相同与不同点:

相同点: 短路与和单与运算 的结果是一样的。


不同点: 使用短路与的时候,如果左边的布尔表达式为false,则不会在运算右边的布尔表达式,从而提高了
效率。使用单与的时候,即使发现左边的布尔表达式为false,还是会运算右边的布尔表达式的。




只有左边的布尔表达式为false时,双与的效率才要高于单与的.




|| (短路或\双或)




短路或与单或的相同点与不同点:

相同点:运算的结果是一致 的。


不同点:使用短路或的时候,当发现左边的布尔表达式为true时,则不会运算右边的布尔表达式。
使用单或的时候 发现左边的布尔表达式为true,还是会运算右边布尔表达式。




需求:要求两年或两年以上的工作经验,年龄大于18岁。


*/

class Demo8 {public static void main(String[] args) {/*int workAge = 2;int age = 24;System.out.println(workAge>=2|age++>18);System.out.println("age:"+ age);System.out.println(true&true);  //trueSystem.out.println(true&false); // falseSystem.out.println(false&true); // falseSystem.out.println(false&false); // falseSystem.out.println(true|true);  // trueSystem.out.println(true|false); // trueSystem.out.println(false|true); // trueSystem.out.println(false|false); // falseSystem.out.println(true^true);  //  falseSystem.out.println(true^false); //  trueSystem.out.println(false^true); //  trueSystem.out.println(false^false); //  falseSystem.out.println(!true); // System.out.println(true&&true);  //trueSystem.out.println(true&&false); // falseSystem.out.println(false&&true); // falseSystem.out.println(false&&false); // false*/System.out.println(true||true);  // trueSystem.out.println(true||false); // trueSystem.out.println(false||true); // trueSystem.out.println(false||false); // false}}







/*

位运算符:位运算符就是直接操作二进制位的。
& (与)
| (或)
^ (异或)
规律: 如果操作数A连续异或同一个操作数两次,那么结果还是操作数A。


应用: 对数据加密.




~  (取反)

class Demo9{public static void main(String[] args){System.out.println(6&3); // 2 System.out.println(6|3); // 7System.out.println(6^3); //  5System.out.println(~7);  // -8}}


0 0