Write a Java program to check if a given number is a power of two.

Here’s a Java program to check if a given number is a power of two:

import java.util.Scanner;

public class PowerOfTwo {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        System.out.print("Enter a number: ");
        int num = scanner.nextInt();
        boolean isPowerOfTwo = checkPowerOfTwo(num);
        if (isPowerOfTwo) {
            System.out.println(num + " is a power of two.");
        } else {
            System.out.println(num + " is not a power of two.");
        }
    }

    public static boolean checkPowerOfTwo(int num) {
        if (num <= 0) {
            return false;
        }
        return (num & (num - 1)) == 0;
    }
}

In this program, we first take user input for a number. We then call the `checkPowerOfTwo()` method to check if the number is a power of two.

A power of two is a number that can be expressed as 2^n for some integer n. For example, 2, 4, 8, 16 are powers of two.

The `checkPowerOfTwo()` method takes an integer `num` as a parameter and returns a boolean indicating whether the number is a power of two or not. We first check if the number is less than or equal to 0, in which case it cannot be a power of two. We then use the bitwise AND operator to check if `num` and `num - 1` have no common bits set. If they have no common bits set, then `num` is a power of two.

At the end of the program, we print out whether the number is a power of two or not.