การเปรียบแบบมีเงื่อนไข (Conditionals) if .. else
Conditionals if ..else if ...else
true
กับ เท็จ false
เท่านั้นตัวอย่าง
public class Main { public static void main(String[] args) { int a = 4; boolean b = a == 4; if (b) { System.out.println("It's true!"); } } }
หรือ
public class Main { public static void main(String[] args) { int a = 4; boolean b = a; if (b == 4) { System.out.println("It's true!"); } } }
Boolean operators
ตัวดำเนินการในการเปรียบเทียบที่ใช้บ่อย
public class Main { public static void main(String[] args) { int a = 4; int b = 5; boolean result; result = a < b; // true result = a > b; // false result = a <= 4 // a smaller or equal to 4 - true result = b >= 6 // b bigger or equal to 6 - false result = a == b // a equal to b - false result = a != b // a is not equal to b - true result = a > b || a < b // Logical or - true result = 3 < a && a < 6 // Logical and - true result = !result // Logical not - false } }
if - else and between
เงื่อนไขแบบ if อย่างเดียว
public class Main { public static void main(String[] args) { if (a == b) { // a และ b เท่ากัน } } }
เงื่อนไขแบบ if ... else
public class Main { public static void main(String[] args) { if (a == b) { // ส่วนนี้เรารู้กันแล้ว } else { // a และ b ไม่เท่ากัน... :/ } } }
ถ้า code ภายใน if หรือ else มีบรรทัดเดียวไม่ต้องใส่ {} ก็ได้
public class Main { public static void main(String[] args) { if (a == b) System.out.println("Yeah!"); else System.out.println("Ohhh..."); } }
หรือ
public class Main { public static void main(String[] args) { if (a == b) System.out.println("Another line Wow!"); else System.out.println("Double rainbow!"); } }
แนะนำ
มีอีกทางเลือกหนึ่งสำหรับการเขียน if...else ที่มีคำสั่งเดียวpublic class Main { public static void main(String[] args) { int a = 4; int result = a == 4 ? 1 : 8; //ผลลัพจะเท่ากับ 1 } }
ผลลัพธ์เหมือนกันแต้ code ต่างกันมาก
public class Main { public static void main(String[] args) { int a = 4; int result; if (a == 4) { result = 1; } else { result = 8; } } }
== and equals
การใช้ == จะใช้กับตัวแปร string ธรรมดาได้ แต่ถ้าเป็น object ต้องใช้ method equals() เพื่อเปรียบเทียบค่าใน object
public class Main { public static void main(String[] args) { String a = new String("Wow"); String b = new String("Wow"); String sameA = a; boolean r1 = a == b; // เป็นเท็จ, เป็นคนละ object boolean r2 = a.equals(b); // จริง, ข้อความใน object เหมือนกัน boolean r3 = a == sameA; // จริง, เป็น object เดียวกัน } }
แบบฝึกหัด
แก้ไขโค้ดให้แสดงผลคำว่า Success! ให้ได้
public class Main { public static void main(String[] args) { String a = new String("Wow"); String b = "Wow"; String c = a; String d = c; boolean b1 = a == b; boolean b2 = b.equals(b + "!"); boolean b3 = !c.equals(a); if (b1 && b2 && b3) { System.out.println("Success!"); } } }
public class Main {
public static void main(String[] args) {
String a = new String("Wow");
String b = "Wow";
String c = a;
String d = c;
boolean b1 = a.equals(b);
boolean b2 = b.equals(b);
boolean b3 = c.equals(a);
if (b1 && b2 && b3) {
System.out.println("Success!");
}
}
}