Java MCQs on Arithmetic Operators of Java Programming Language.
1. Which of the following can be operands of arithmetic operators? Answer: d 2. Modulus operator, %, can be applied to which of these? Answer: c 3. With x = 0, which of the following are legal lines of Java code for changing the value of x to 1? a) 1, 2 & 3 Answer: c 4. Decrement operator, −−, decreases the value of variable by what number? Answer: a 5. Which of these statements are incorrect? Answer: d 6. What will be the output of the following Java program? a) 1 1 7. What will be the output of the following Java program? a) 5.640000000000001 5 8. What will be the output of the following Java program? a) 25 9. Can 8 byte long data type be automatically type cast to 4 byte float data type? Answer: a 10. What will be the output of the following Java program? a) 3 2 4
a) Numeric
b) Boolean
c) Characters
d) Both Numeric & Characters
Clarification: The operand of arithmetic operators can be any of numeric or character type, But not boolean.
a) Integers
b) Floating – point numbers
c) Both Integers and floating – point numbers
d) None of the mentioned
Clarification: Modulus operator can be applied to both integers and floating point numbers. 1. x++;
2. x = x + 1;
3. x += 1;
4. x =+ 1;
b) 1 & 4
c) 1, 2, 3 & 4
d) 3 & 2
Clarification: Operator ++ increases value of variable by 1. x = x + 1 can also be written in shorthand form as x += 1. Also x =+ 1 will set the value of x to 1.
a) 1
b) 2
c) 3
d) 4
Clarification: None.
a) Assignment operators are more efficiently implemented by Java run-time system than their equivalent long forms
b) Assignment operators run faster than their equivalent long forms
c) Assignment operators can be used only with numeric and character data type
d) None of the mentioned
Clarification: None.
class increment
{
public static void main(String args[])
{
double var1 = 1 + 5;
double var2 = var1 / 4;
int var3 = 1 + 5;
int var4 = var3 / 4;
System.out.print(var2 + " " + var4);
}
}
b) 0 1
c) 1.5 1
d) 1.5 1.0
Clarification: None
output:
$ javac increment.java
$ java increment
1.5 1
class Modulus
{
public static void main(String args[])
{
double a = 25.64;
int b = 25;
a = a % 10;
b = b % 10;
System.out.println(a + " " + b);
}
}
b) 5.640000000000001 5.0
c) 5 5
d) 5 5.640000000000001
Clarification: Modulus operator returns the remainder of a division operation on the operand. a = a % 10 returns 25.64 % 10 i:e 5.640000000000001. Similarly b = b % 10 returns 5.
output:
$ javac Modulus.java
$ java Modulus
5.640000000000001 5
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
a) True
b) False
Clarification: Both data types have different memory representation that’s why 8-byte integral data type can be stored to 4-byte floating point data type.
class Output
{
public static void main(String args[])
{
int a = 1;
int b = 2;
int c;
int d;
c = ++b;
d = a++;
c++;
b++;
++a;
System.out.println(a + " " + b + " " + c);
}
}
b) 3 2 3
c) 2 3 4
d) 3 4 4
Clarification: None.
output:
$ javac Output.java
$ java Output
3 4 4