Java MCQs on Integer and Floating Datatypes of Java Programming Language.
1. What is the range of short data type in Java? Answer: b 2. What is the range of byte data type in Java? Answer: a 3. Which of the following are legal lines of Java code? a) 1 and 2 Answer: d 4. An expression involving byte, int, and literal numbers is promoted to which of these? Answer: a 5. Which of these literals can be contained in float data type variable? Answer: b 6. Which data type value is returned by all transcendental math functions? Answer: c 7. What will be the output of the following Java code? a) 16.34 8. What will be the output of the following Java statement? a) Infinity Answer: d 9. What will be the output of the following Java code? a) 25 10. What will be the output of the following Java code? a) 301.5656
a) -128 to 127
b) -32768 to 32767
c) -2147483648 to 2147483647
d) None of the mentioned
Clarification: Short occupies 16 bits in memory. Its range is from -32768 to 32767.
a) -128 to 127
b) -32768 to 32767
c) -2147483648 to 2147483647
d) None of the mentioned
Clarification: Byte occupies 8 bits in memory. Its range is from -128 to 127. 1. int w = (int)888.8;
2. byte x = (byte)100L;
3. long y = (byte)100;
4. byte z = (byte)100L;
b) 2 and 3
c) 3 and 4
d) All statements are correct
Clarification: Statements (1), (2), (3), and (4) are correct. (1) is correct because when a floating-point number (a double in this case) is cast to an int, it simply loses the digits after the decimal. (2) and (4) are correct because a long can be cast into a byte. If the long is over 127, it loses its most significant (leftmost) bits. (3) actually works, even though a cast is not necessary, because a long can store a byte.
a) int
b) long
c) byte
d) float
Clarification: An expression involving bytes, ints, shorts, literal numbers, the entire expression is promoted to int before any calculation is done.
a) -1.7e+308
b) -3.4e+038
c) +1.7e+308
d) -3.4e+050
Clarification: Range of float data type is -(3.4e38) To +(3.4e38)
a) int
b) float
c) double
d) long
Clarification: None.
class average {
public static void main(String args[])
{
double num[] = {5.5, 10.1, 11, 12.8, 56.9, 2.5};
double result;
result = 0;
for (int i = 0; i < 6; ++i)
result = result + num[i];
System.out.print(result/6);
}
}
b) 16.566666644
c) 16.46666666666667
d) 16.46666666666666
Clarification: None.
output:
$ javac average.java
$ java average
16.46666666666667
class output {
public static void main(String args[])
{
double a, b,c;
a = 3.0/0;
b = 0/4.0;
c=0/0.0;
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
b) 0.0
c) NaN
d) all of the mentioned
Clarification: For floating point literals, we have constant value to represent (10/0.0) infinity either positive or negative and also have NaN (not a number for undefined like 0/0.0), but for the integral type, we don’t have any constant that’s why we get an arithmetic exception.
class increment {
public static void main(String args[])
{
int g = 3;
System.out.print(++g * 8);
}
}
b) 24
c) 32
d) 33
Clarification: Operator ++ has more preference than *, thus g becomes 4 and when multiplied by 8 gives 32.
output:
$ javac increment.java
$ java increment
32
class area {
public static void main(String args[])
{
double r, pi, a;
r = 9.8;
pi = 3.14;
a = pi * r * r;
System.out.println(a);
}
}
b) 301
c) 301.56
d) 301.56560000
Clarification: None.
output:
$ javac area.java
$ java area
301.5656
