Open In App

Output of Java programs | Autoboxing and Unboxing

Last Updated : 11 Jul, 2025
Comments
Improve
Suggest changes
Like Article
Like
Report
Prerequisite - Autoboxing and unboxing in Java 1)What is the output of the following program? Java
class Main {
    public static void main(String[] args)
    {
        Double x1, y1, z1;
        double x2, y2, z2;
        x1 = 10.0;
        y1 = 4.0;
        z1 = x1 * x1 + y1 * y1;
        x2 = 10.0;
        y2 = 4.0;
        z2 = x2 * x2 + y2 * y2;
        System.out.print(z1 + " ");
        System.out.println(z2);
    }
}
Options: A. 116.0 116.0 B. Run-time error C. Compile-time error D. 116 116.0 Answer: A. 116.0 116.0 Explanation: First, the values 10.0 and 20.0 are auto-boxed in x1 and y1 respectively. Then for calculating z1, x1 and y1 are unboxed and the expression is evaluated, then the result is boxed into z1. While, printing z1, it is auto-unboxed, the value is printed then reboxed. z2 is calculated normally using primitive data-types. 2)What is the output of the following program? Java
class Main {
    public static void main(String[] args)
    {
        Boolean b1 = true;
        Boolean b2 = false;
        System.out.print((b1 == b2) + " ");
        System.out.print(b1.equals(b2));
    }
}
Options: A. Compile-time error B. false false C. false true D. true true Answer: B. false false Explanation: The values true and false are auto-boxed in b1 and b2 respectively. For b1==b2, b1 and b2 are unboxed and then compared which return false. For b1.equals(b2), as b1 and b2 are Boolean objects, they can be compared using equals() method. This also returns false as b1 and b2 are not equal. 3)What is the output of the following program? Java
class Main {
    public static void main(String args[])
    {
        Double x = new Double(10);
        double i = x.doubleValue();
        System.out.print(i + " " + x);
    }
}
Options: A. Compile-time error B. 10 10 C. 10.0 10.0 D. 10 10.0 Answer: C. 10.0 10.0 Explanation: x is a Double type object. Therefore when x is printed it will be auto-unboxed and 10.0 will be printed. Whereas, doubleValue() is a method for unboxing a Double object into double. Therefore, i will also have a value of 10.0. 4)What is the output of the following program? Java
class Main {
    static int funct(Integer x)
    {
        return x;
    }
    public static void main(String args[])
    {
        Integer x = funct(10);
        System.out.println(x);
    }
}
Options: A. Compile-time error B. Run-time error C. 10 D. No output Answer: C. 10 Explanation: When 10 is passes into funct(), it is autoboxed. When the value is returned from funct it is autoboxed and then the value is again auto-boxed in x. When x is printed, it is again unboxed. 5)What is the output of the following program? Java
class Main {
    public static void main(String args[])
    {
        Boolean b1 = "TRUE";
        Boolean b2 = "FALSE";
        boolean b = b1 && b2;
        System.out.println(b);
    }
}
Options: A. Compile-time error B. FALSE C. false D. TRUE Answer: A. Compile-time error Explanation: It will be a compile-time error because "TRUE" and "FALSE" are Strings and cannot be converted to Boolean.

Practice Tags :

Similar Reads