Open In App

Output of Java program | Set 28

Improve
Improve
Like Article
Like
Save
Share
Report

Question 1. What is the output of the following question?




class Test {
    int a = 10;
    static int b = 20;
  
public
    static void main(String[] args)
    {
        Test t1 = new Test();
        t1.a = 100;
        t1.b = 200;
  
        Test t2 = new Test();
  
        System.out.println("t1.a =" + t1.a + " t1.b =" + t1.b);
        System.out.println("t2.a =" + t2.a + " t2.b =" + t2.b);
    }
}


Option
A) t1.a=100 t1.b=200
t2.a=10 t2.b=200

B) t1.a=10 t1.b=200
t2.a=10 t2.b=200

C) t1.a=100 t1.b=200
t2.a=10 t2.b=20

D) t1.a=100 t1.b=200
t2.a=100 t2.b=200

Output: A

Explanation : static variable is class level variable. If we create multiple objects of class and all objects can point same reference of static variable means If you can change the value of static variable in any object, then compiler automatically updates the value of all object static variables.

Question 2. What is the output of the following question?




class Test2 {
public
    static void main(String[] args)
    {
        byte x = 12;
        byte y = 13;
        byte result = x + y;
        System.out.print(result);
    }
}


Option
a) 25
b) Error
c) -25
d) none

Output : b

Explanation : If we apply any arithmetic operator between two variables x and y, then the result type is max(int, type of x, type of y). Therefore, here the compiler will give the error possible lossy conversion int to byte.

Question 3. What is the output of the following question?




class Test3 {
public
    static void main(String[] args)
    {
        int x = 011;
        int y = 0xfee;
        int result = x + y;
        System.out.print(x + ":" + y + ":" + result);
    }
}


Options
a) Error
b) 010 : 0xfee : 4089
c) 9 : 4078 : 4087
d) 010 : 0xfee : 4087

Output : C

Explanation : If any integer number start with 0, then that number is treated as octal number hence 011 means (1*8^1 + 1*8^0) 9 and also if any integer start with 0x means then that number is treated as Hexadecimal number means we can have the value between[0-9] and [a-z or A-Z]. oxfee =(15*16^2 + 14*16^1 + 14*16^0) =>4078.

Question 4. What is the output of the following question?




class Test4 {
public
    static void main(String[] args)
    {
        int x = 0198;
        int y = 0xfree;
        int result = x + y;
        System.out.print(x + " : " + y + " : " + result);
    }
}


options
a) Error
b) 0198 : 0xfree : 68734
c) 144 : 68590 : 68734
d) 0198 :68590 : 68788

Output : a

Explanation : If we assign a 0 before integer number, then that number is treated as octal and we know octal number range is [0-7]. If we assign the number outside of this range then we get error. Similar to this, if any integer number start with 0x then that number is treated as Hexadecimal means we can assign the value in between the [0-9] [a-z or A-Z]. If we assign it out of range, then program will get the error.

Question 5. What is the output of the following question?




class Test5 {
public
    static void main(String[] args)
    {
        final int a = 1, b = 5;
  
        for (int i = 0; a < b; i++) {
            System.out.println("Hello");
        }
        System.out.println("Hi");
    }
}


option
a)Hello
Hello
…..
…..
…..
b) Error
c)Hello
Hello
Hello
Hello
Hello

d)Hello
Hello
Hello
Hello
Hello
Hi

Output: b

Explanation : In Java, if we declare any variable as final then that variable value is fixed and can not be changed at run time. In final variable, values are assigned at compile time means in this program, compiler see both a and b are final variable and final variable value never change and condition is always true. “Hi” statement is unreachable so compiler give the error Unreachable statement “Hi”.



Last Updated : 30 Aug, 2017
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads