Java學習筆記11
阿新 • • 發佈:2022-04-08
邏輯運算
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