Bird
Raised Fist0
DSA Javaprogramming~15 mins

Check if Number is Even or Odd Using Bits in DSA Java - Build from Scratch

Choose your learning style10 modes available
Check if Number is Even or Odd Using Bits
📖 Scenario: You are building a simple program that helps a cashier quickly check if a number is even or odd using a fast method with bits. This can be useful in low-level programming or embedded systems where speed matters.
🎯 Goal: Build a Java program that uses bitwise operations to determine if a number is even or odd.
📋 What You'll Learn
Create an integer variable named number with the value 29
Create an integer variable named mask with the value 1
Use a bitwise AND operation between number and mask to check if the number is even or odd
Print "Even" if the number is even, otherwise print "Odd"
💡 Why This Matters
🌍 Real World
Bitwise operations are used in embedded systems, game development, and performance-critical applications to quickly check properties like even or odd.
💼 Career
Understanding bitwise operations helps in low-level programming jobs, firmware development, and optimizing code for speed.
Progress0 / 4 steps
1
Create the number variable
Create an integer variable called number and set it to 29.
DSA Java
Hint

Use int number = 29; to create the variable.

2
Create the mask variable
Create an integer variable called mask and set it to 1.
DSA Java
Hint

Use int mask = 1; to create the mask variable.

3
Check if number is even or odd using bitwise AND
Use an if statement to check if (number & mask) == 0. If true, the number is even; otherwise, it is odd.
DSA Java
Hint

Use if ((number & mask) == 0) to check evenness.

4
Print the result
Print "Even" if the number is even, otherwise print "Odd" using System.out.println inside the if and else blocks.
DSA Java
Hint

The output should be Odd because 29 is not divisible by 2.

Practice

(1/5)
1. What does the expression num & 1 check when determining if a number is even or odd?
easy
A. It checks if the least significant bit of num is 1, indicating odd number
B. It checks if num is greater than 1
C. It shifts num one bit to the right
D. It adds 1 to num

Solution

  1. Step 1: Understand bitwise AND operation

    The expression num & 1 performs a bitwise AND between num and 1, which isolates the least significant bit (rightmost bit) of num.
  2. Step 2: Interpret the least significant bit

    If the least significant bit is 1, the number is odd; if it is 0, the number is even.
  3. Final Answer:

    It checks if the least significant bit of num is 1, indicating odd number -> Option A
  4. Quick Check:

    num & 1 = 1 means odd [OK]
Hint: Check last bit with & 1; 1 means odd, 0 means even [OK]
Common Mistakes:
  • Thinking & 1 shifts bits instead of checking last bit
  • Confusing bitwise AND with addition
  • Assuming & 1 checks if number is greater than 1
2. Which of the following Java code snippets correctly checks if an integer num is even using bitwise operators?
easy
A. if ((num & 0) == 1) { System.out.println("Even"); }
B. if ((num | 1) == 0) { System.out.println("Even"); }
C. if ((num & 1) == 0) { System.out.println("Even"); }
D. if ((num ^ 1) == 0) { System.out.println("Even"); }

Solution

  1. Step 1: Analyze bitwise AND with 1

    The expression num & 1 isolates the least significant bit. If it equals 0, the number is even.
  2. Step 2: Check correctness of conditions

    if ((num & 1) == 0) { System.out.println("Even"); } correctly checks if (num & 1) == 0 to print "Even". Other options misuse bitwise OR, AND with 0, or XOR, which do not correctly check evenness.
  3. Final Answer:

    if ((num & 1) == 0) { System.out.println("Even"); } -> Option C
  4. Quick Check:

    num & 1 == 0 means even [OK]
Hint: Use (num & 1) == 0 to check even numbers [OK]
Common Mistakes:
  • Using bitwise OR instead of AND
  • Comparing with wrong values like 1 when checking even
  • Using XOR incorrectly for even check
3. What is the output of the following Java code?
int num = 7;
if ((num & 1) == 0) {
    System.out.println("Even");
} else {
    System.out.println("Odd");
}
medium
A. Compilation error
B. Even
C. 0
D. Odd

Solution

  1. Step 1: Calculate bitwise AND of num and 1

    7 in binary is 0111. 0111 & 0001 = 0001, which equals 1.
  2. Step 2: Check condition and print output

    Since (num & 1) == 0 is false, the else block executes, printing "Odd".
  3. Final Answer:

    Odd -> Option D
  4. Quick Check:

    7 & 1 = 1 means odd [OK]
Hint: If num & 1 equals 1, print Odd; else Even [OK]
Common Mistakes:
  • Assuming 7 is even
  • Confusing bitwise AND with arithmetic AND
  • Expecting output 0 or error
4. Identify the error in the following Java code that tries to check if a number is odd using bits:
int num = 10;
if (num & 1 == 1) {
    System.out.println("Odd");
} else {
    System.out.println("Even");
}
medium
A. No error, code is correct
B. Missing parentheses around (num & 1)
C. Incorrect variable type for num
D. Using bitwise OR instead of AND

Solution

  1. Step 1: Analyze operator precedence in condition

    In Java, == has higher precedence than &. So num & 1 == 1 is treated as num & (1 == 1).
  2. Step 2: Fix condition with parentheses

    Since (1 == 1) is true (boolean), num & true is invalid. Correct syntax is (num & 1) == 1.
  3. Final Answer:

    Missing parentheses around (num & 1) -> Option B
  4. Quick Check:

    Use parentheses to ensure correct bitwise operation [OK]
Hint: Always parenthesize bitwise ops before comparison [OK]
Common Mistakes:
  • Ignoring operator precedence causing syntax errors
  • Using bitwise OR instead of AND
  • Assuming code compiles without parentheses
5. You want to write a Java method isEven(int num) that returns true if num is even and false if odd, using bitwise operators. Which implementation is correct?
hard
A. public boolean isEven(int num) { return (num & 1) == 0; }
B. public boolean isEven(int num) { return (num | 1) == 0; }
C. public boolean isEven(int num) { return (num ^ 1) == 0; }
D. public boolean isEven(int num) { return (num & 0) == 1; }

Solution

  1. Step 1: Understand bitwise check for even

    Even numbers have least significant bit 0, so (num & 1) == 0 returns true for even numbers.
  2. Step 2: Evaluate each option

    public boolean isEven(int num) { return (num & 1) == 0; } correctly returns true if num is even. Options A, B, and D use incorrect bitwise operations that do not reliably check evenness.
  3. Final Answer:

    public boolean isEven(int num) { return (num & 1) == 0; } -> Option A
  4. Quick Check:

    Use (num & 1) == 0 to return true for even [OK]
Hint: Return (num & 1) == 0 for even check in method [OK]
Common Mistakes:
  • Using bitwise OR or XOR incorrectly
  • Comparing with wrong values
  • Returning wrong boolean for even check
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard