⑨ 逻辑运算符、位运算符
以下内容来自【狂神说Java】Java零基础学习视频通俗易懂P29
1、逻辑运算符
java代码及知识点如下
package operater;
//逻辑运算符
public class Demo04 {
public static void main(String[] args) {
//&&与(and) ||或(or) !非(取反)
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
System.out.println("=========================");
//短路运算(a&&b 如果与运算过程中,a为假,则不会执行b。 因为一个为假,整个等式就是假的,不用进行下去了)
int c = 5 ;
boolean d = (c<4)&&(c++<4); // c<4 为假,则直接判断d为false
System.out.println(d); //结果为false
System.out.println(c); //结果为5 ,证明c++没有执行
}
}
2、位运算
java 代码及知识点
package operater;
public class Demo06 {
public static void main(String[] args) {
/* 位运算(和二进制相关) &与 /或 ^异或 ~取反 <<左移 >>右移
A = 0011 1100
B = 0000 1101
A&B = 0000 1100 (相同的位置都是1,才会是1) 与
A/B = 0011 1101 (相同的位置都是0,才会是0) 或
A^B = 0011 0001 (相同的位置数字不同,才会是1) 异或
~B = 1111 0010 (直接全部取反) 取反
<< *2
>> /2
(二进制,不了解的百度搜一下)
0000 0000 0
0000 0001 1
0000 0010 2
0000 0100 4
0000 1000 8
0001 0000 16
*/
System.out.println(2<<3); //在第2位 左移 3位
//从 0000 0010
//变成 0001 0000
}
}