What is output of the following code:
public class Test{
public static void main(String[] args){
int[] x = {120, 200, 016 };
for(int i = 0; i < x.length; i++)
System.out.print(x[i] + " ");
}
}
public class Test{
public static void main(String[] args){
int[] x = {120, 200, 016 };
for(int i = 0; i < x.length; i++)
System.out.print(x[i] + " ");
}
}
A. 120 200 16
B. 120 200 14
C. 120 200 016
D. 016 is a compile error. It should be written as 16.
Answer: Option B
Solution (By Examveda Team)
016 is an octal number. The prefix 0 indicates that a number is in octal.
@Abhichek Tiwari,
In the value 016, 0 is representing that the whole no.(016) is Octal no. not an integer so the compiler will convert it into its corresponding integer value which is:
0*8^2+1*8^1+6*8^0=14
here we are converting into octal.
0*8^2+1*8^1+6*8^0=14
if 0 is octal then the value will remain 16 how it will change to 14