Java基础学习:运算符2
-
逻辑运算符:
-
与:&&
-
或:||
-
非:!
-
代码案例:
public class Demo05 {
public static void main(String[] args) {
//逻辑运算符 :与 或 非
boolean a=true;
boolean b=false;
// ()优先执行
System.out.println(\"a && b:\"+(a && b));//false
System.out.println(\"a || b:\"+(a||b));//true
System.out.println(\"!(a && b):\"+!(a && b));//true
}
}
代码案例2:
//短路运算
//举一个短路运算的例子
public class Demo05 {
public static void main(String[] args) {
//逻辑运算符 :与 或 非
boolean a=true;
boolean b=false;
// ()优先执行
System.out.println(\"a && b:\"+(a && b));//false
System.out.println(\"a || b:\"+(a||b));//true
System.out.println(\"!(a && b):\"+!(a && b));//true
//短路运算:用++可以测短路运算的判断
int c=5;
boolean d=(c<4) && (c++<4);
System.out.println(d);//false
System.out.println(c);//5
}
}
-
位运算:
-
面试题:重点掌握
-
/**
* 位运算:是按位来计算的
*/
public class Demo06 {
public static void main(String[] args) {
/*
A=0011 1100
B=0000 1101
A&B:0000 1100 如果对应位都是1,则为1;否则都是0
A|B:0011 1101 如果对应位都是0,则为0;否则都是1
A^B 0011 0001 如果对应位相同则为0;否则为1
~B 1111 0010 按位取反
//位运算:都是跟二进制相关的;好处:效率极高
//面试题:2*8=16 2*2*2*2 怎么运算最快
<<:左移 *2
>>:右移 /2
0000 0000 0
0000 0001 1
0000 0010 2
0000 0011 3
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3);//16
}
}
来源:https://www.cnblogs.com/xiangcai0522/p/15968583.html
本站部分图文来源于网络,如有侵权请联系删除。