Java学习笔记11
逻辑运算
public class Demo05 {
//逻辑运算符 && ,||, !
//与(and) 或(or) 非(取反)
public static void main(String[] args) {
boolean a = true;
boolean b = false;
System.out.println("a && b:"+(a&&b));//逻辑与运算:两个变量都为真,结果才为真
System.out.println("a || b:"+(a||b));//逻辑或运算:两个变量有一个为真,则结果为真
System.out.println("! (a && b):"+!(a&&b));//逻辑非运算,如果是真则为假,如果是假,则为真
a && b:false
a || b:true
! (a && b):true
//短路运算
int c = 5;
boolean d = (c<4)&&(c++<4);
System.out.println(d);
System.out.println(c);//与运算c<4为错将不执行后面(c++<4)
false
5
}
}
位运算(与二进制有关)
&, | ,! ,^(与,或,非,异或)
《 (左移) *2
》(右移) /2
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 只要有1结果为1
(异或)A^B=0011 0001 只有一个1的情况下才为1
~B= 1111 0010 与B结果相反
*/
System.out.println(2<<3);
/*
2*8=16 2*2*2*2
0000 0000 0
0000 0001 1
0000 0010 2
0000 1000 8
0001 0000 16 2左移三位得到16
*/
16
浙公网安备 33010602011771号