ตัวดำเนินการทางตรรกะ

Java ระดับกลาง

Jim White

Java Developer

AND, OR และ NOT

  • ตัวดำเนินการทางตรรกะช่วยรวมเงื่อนไขหลายข้อในคำสั่งเดียว
  • มีสามตัวหลัก:
    • AND
    • OR
    • NOT
Java ระดับกลาง

AND

  • ตรวจสอบว่าเงื่อนไขทั้งสองเป็น true หรือไม่
boolean isLoggedIn = true;
boolean isAdmin = true;

// Both are true
if (isLoggedIn && isAdmin) {
  System.out.println("Welcome admin!");
} else {
  System.out.println("You shall not pass.");
}
Welcome admin!
  • หากเงื่อนไขใดเงื่อนไขหนึ่งเป็น false, && จะคืนค่า false
boolean isLoggedIn = false;
boolean isAdmin = true;

// Only one is true, so else is executed
if (isLoggedIn && isAdmin) {
  System.out.println("Welcome admin!");
} else {
  System.out.println("You shall not pass.");
}
You shall not pass.
Java ระดับกลาง

OR

  • ตรวจสอบว่าเงื่อนไขใดเงื่อนไขหนึ่งเป็น true หรือไม่
boolean isAdmin = true;
boolean isModerator = false;

// Only one condition is true
if (isAdmin || isModerator) {
  System.out.println("Welcome!");
} else {
  System.out.println("You shall not pass.");
}
Welcome!
  • คืนค่า true หากเงื่อนไขใดเงื่อนไขหนึ่งหรือทั้งสองเป็น true
boolean isAdmin = true;
boolean isModerator = true;

// Both conditions are true
if (isAdmin || isModerator) {
  System.out.println("Welcome!");
} else {
  System.out.println("You shall not pass.");
}
Welcome!
Java ระดับกลาง

NOT

  • กลับค่า true เป็น false และ false เป็น true
boolean isLoggedIn = false;

// isLoggedIn is false, so !isLoggedIn is true
if (!isLoggedIn) {
    System.out.println("You need to log in!");
} else {
    System.out.println("You are logged in, continue!");
}
You need to log in!
Java ระดับกลาง

ตัวดำเนินการทางตรรกะกับ if-else if-else

int score = 90;
boolean isAttending = false;

if (score > 80 && isAttending) {
  System.out.println("Excellent work!");
} else if (score > 80 && !isAttending) {
  System.out.println("Good work, but attendance is important.");
} else if (score <= 80 && isAttending) {
  System.out.println("You need to work harder.");
} else {
  System.out.println("You need to work harder and attend classes.");
}
Good work, but attendance is important.
Java ระดับกลาง

สรุป

ตารางด้านล่างสรุปค่าของตัวดำเนินการ &&, || และ !:

a b a && b a | | b !a
true true true true false
true false false true false
false true false true true
false false false false true
  • ตัวดำเนินการทางตรรกะใช้ได้กับ boolean หรือนิพจน์ที่ประเมินค่าเป็น boolean
boolean a = true && (!false || (true && false)); // a is true
boolean b = (7 <= 3) || (3 >= 5); // b is false
Java ระดับกลาง

มาฝึกกันเถอะ!

Java ระดับกลาง

Preparing Video For Download...