Explore the English language on a new scale using AI-powered English language navigator.
True/falseThere are many situations when one deals with true/false questions in the program. Is 2 greater than 3? Does 2 + 2 equal to 4? Does guess equal to secretNumber? (Remember number guessing game.) In this lesson we'll show how to store answers in boolean variables and construct more complicated conditions. Boolean typeRecall primitive types table. One of them is the boolean type, variables of which could only be set to true or false. Let's illustrate it on example: public class TrueFalse { public static void main(String[] args) { boolean boolVar; boolVar = true; System.out.println("boolVar = " + boolVar); boolVar = false; System.out.println("boolVar = " + boolVar); } } boolVar = true boolVar = false There are more interesting things we can do. One can assign a result of comparison to boolean variable: public class TrueFalse { public static void main(String[] args) { boolean boolVar; boolVar = (2 < 3); System.out.println("2 < 3? Answer is " + boolVar); boolVar = (4 == 5); System.out.println("4 == 5? Answer is " + boolVar); } } 2 < 3? Answer is true 4 == 5? Answer is false Logical connectivesWhat if one wants to ask: "Is (2 smaller than 3) and (3 smaller than 4)?". Java provides several tools to build a combination of conditions. In general, one needs three of them:
Truth table for AND and OR is:
Let's see logical connectives in action: public class TrueFalse { public static void main(String[] args) { boolean boolVar; boolVar = (2 < 3) && (3 < 4); System.out.println("(2 < 3) && (3 < 4): " + boolVar); boolVar = (4 == 5) || (2 + 2 == 4); System.out.println("(4 == 5) || (2 + 2 == 4): " + boolVar); boolVar = (2 + 2 == 3) && (2 < 3 || 5 > 7); System.out.println("(2 + 2 == 3) && (2 < 3 || 5 > 7): " + boolVar); } } (2 < 3) && (3 < 4): true (4 == 5) || (2 + 2 == 4): true (2 + 2 == 3) && (2 < 3 || 5 > 7): false And a bit more complicated program printing truth table for AND: public class TruthTable { public static void main(String[] args) { boolean a, b; a = false; System.out.println("a b a && b"); do { b = false; do { System.out.println(a + "\t" + b + "\t" + (a && b)); b = !b; } while (b); a = !a; } while (a); } } a b a && b false false false false true false Note. When using boolean variable as a condition in statement, don't compare it with true: public class TrueFalse { public static void main(String[] args) { boolean a = true; do { a = !a; } while (a == true); // not a mistake, but bad style } }
It's already a boolean value, just use it:
public class TrueFalse { public static void main(String[] args) { boolean a = true; do { a = !a; } while (a); // much better } } We hope the lesson helped you to master true/false stuff in Java. Use it in your programs. |