0% found this document useful (0 votes)
32 views12 pages

Java Operators and Expressions MCQs

This document covers operators in Java, including logical, relational, and arithmetic operators, along with their precedence and usage in expressions. It includes multiple-choice questions, true/false statements, and explanations of various operator types, such as unary, binary, and ternary operators. Additionally, it provides examples of Java expressions and outputs for specific code snippets.

Uploaded by

Ashok Garg
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
32 views12 pages

Java Operators and Expressions MCQs

This document covers operators in Java, including logical, relational, and arithmetic operators, along with their precedence and usage in expressions. It includes multiple-choice questions, true/false statements, and explanations of various operator types, such as unary, binary, and ternary operators. Additionally, it provides examples of Java expressions and outputs for specific code snippets.

Uploaded by

Ashok Garg
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Chapter 1 - Unit 4

Operators in Java
Class 10 - APC Understanding Computer Applications
with BlueJ

Multiple Choice Questions

Question 1

Which of the following is the correct precedence of logical operators?

1. !, &&, ||
2. &&, !, ||
3. ||, !, &&
4. &&, ||, !

Answer

!, &&, ||

Reason — The correct precedence of logical operators is !, &&, ||.

Question 2

Choose the odd one out from the following:

1. >
2. ==
3. &&
4. <

Answer

&&

Reason — && is the logical AND whereas the other operators are relational.

Question 3

Given: String st = (a>= 90)? "Excellent": "Best";


Predict the output, when a = 90.

1. Best
2. Excellent: Best
3. Best: Excellent
4. Excellent

Answer
Excellent

Reason — Since condition (a>= 90) of ternary operator is true, st is assigned the value of expression 1 i.e.,
excellent.

Question 4

Choose the odd one out from the following:

1. Unary operator
2. Binary operator
3. Ternary operator
4. Bitwise operator

Answer

Bitwise operator

Reason — Unary operator, Binary operator and ternary operator are arithmetic operators.

Question 5

Given: x += x++ + ++x + --x


Find the value, when x=5.

1. 23
2. 21
3. 22
4. 24

Answer

23

Reason — The expression is calculated as follows:

x = x + (x++ + ++x + --x) (x = 5)


x = 5 + (5 + ++x + --x) (x = 6)
x = 5 + (5 + 7 + --x) (x = 7)
x = 5 + (5 + 7 + 6) (x = 6)
x = 5 + 18
x = 23
State True or False

Question 1

The precedence of operators in Java follows BODMAS.


False

Question 2

The output of a++ will be 1, if int a = -1.


False

Question 3
The relational operators always result in terms of 'True' or 'False'.
True

Question 4

Given: int m=5; m*=5 then the value stored in m results in 55.
False

Question 5

The statement (a>b)&&(a>c) uses a logical operator.


True

Question 6

If int a=27,b=4,c=0; then c = a % b; results in 3.


True

Question 7

The statement p += 5 means p = p*5.


False

Question 8

In the precedence of logical operators; NOT is followed by AND.


True

Write Java expressions

Question 1

ab+cd33ab+cd
Answer
[Link](a * b + c * d)

Question 2

p3+q4−12rp3+q4−21r
Answer
[Link](p, 3) + [Link](q, 4) - (1.0 / 2.0 * r)

Question 3

−b+b2−4ac2a2a−b+b2−4ac
Answer
(-b + [Link]((b * b) - (4 * a * c))) / (2.0 * a)

Question 4
0.05−2y3(x−y)(x−y)0.05−2y3
Answer
(0.05 - (2 * [Link](y,3))) / (x - y)

Question 5

mn+(m+n)3mn+3(m+n)
Answer
[Link](m * n) + [Link](m + n)

Question 6

34(a+b)−25ab43(a+b)−52ab
Answer
(3.0 / 4.0 * (a + b)) - (2.0 / 5.0 * a * b)

Question 7

38(b2+c3)83(b2+c3)
Answer
3.0 / 8.0 * [Link](([Link](b,2) + [Link](c,3)))

Question 8

a3+b2−c33a+b2−3c
Answer
[Link](a) + [Link](b,2) - [Link](c)

Question 9

a+b2+c333a+b2+c3
Answer
[Link](a + [Link](b,2) + [Link](c,3)) / 3

Question 10

3x+x2(a+b)(a+b)3x+x2
Answer
[Link](3 * x + [Link](x,2)) / (a + b)

Question 11

z=x3+y3−yz3z=x3+y3−z3y
Answer
z = [Link](x,3) + [Link](y,3) - y / [Link](z,3)

Question 12

q=1a+b+3c2q=a+b1+c23
Answer
q = 1 / [Link](a + b) + 3 / [Link](c,2)
Predict the output

Question 1

int c = (3<4)? 3*4 : 3+4;

Output

12

Explanation

As 3 is less than 4 so condition of ternary operator is true. Variable c is assigned the value of expression 1 which is 3
* 4 = 12.

Question 2

int a = 14, b = 4; boolean x = (a > b) ? true : false;

Output

true

Explanation

As 14 is greater than 4 so condition of ternary operator is true. Variable x is assigned the value of expression 1
which is true.

Question 3

int x = 90;
char c = (x<=90)? 'Z' : 'I';

Output

Explanation

As value of x is 90 so condition of ternary operator is true. Variable c is assigned the value of expression 1 which is
Z.

Question 4
int a = 18; int b = 12;
boolean t = (a > 20 && b < 15)? true : false;

Output

false

Explanation

The condition a > 20 is false as value of a is 18. So the logical AND operator — && returns false. Variable t is
assigned the value of expression 2 which is false.

Question 5

c = (val + 550 < 1700)? 200: 400;


if: (a) val = 1000 (b) val = 1500

Output

(a) 200
(b) 400

Explanation

When val = 1000, val + 550 = 1550. As 1550 is less than 1700 so condition of ternary operator is true. Variable c is
assigned the value of expression 1 which is 200.
When val = 1500, val + 550 = 2050. As 2050 is greater than 1700 so condition of ternary operator is false. Variable
c is assigned the value of expression 2 which is 400.

Answer the following questions

Question 1

What is an operator? What are the three main types of operators? Name them.

Answer

An operator is a symbol or sign used to specify an operation to be performed in Java programming.

The three main types of operators are Arithmetical, Logical and Relational.

Question 2

How is Java expression different from statement?

Answer

An expression is a set of variables, constants and operators i.e. an expression is a combination of operators and
operands. When an expression is assigned to a variable, the complete set is referred to as a statement.

Question 3

Explain the following with one example each.

(a) Arithmetic operator

Answer
Arithmetic operators are used to perform mathematical operations on its operands. Operands of arithmetic operators
must be of numeric type. A few arithmetic operators operate upon one operand. They are called Unary Arithmetic
operators. Other arithmetic operators operate upon two operands. They are called Binary Arithmetic operators.
As an example consider the below statement:
int a = 10 + 20;
Here, the addition arithmetic operator, represented by the symbol + will add 10 and 20. So variable a will be 30.
(b) Relational operator

Answer

Relational operators are used to determine the relationship between the operands. Relational operators compare their
operands to check if the operands are equal to ( == ), not equal to ( != ), less than ( < ), less than equal to ( <= ),
greater than ( > ), greater than equal to ( >= ) each other. The result of an operation involving relation operators is a
boolean value — true or false.
Example:
int a = 8;
int b = 10;
boolean c = a < b;
Here, as a is less than b so the result of a < b is true. Hence, boolean variable c becomes true.
(c) Logical operator

Answer

Logical operators operate on boolean expressions to combine the results of these boolean expression into a single
boolean value.
Example:
int a = 7;
int b = 10;
boolean c = a < b && a % 2 == 0;
Here, the result of first boolean expression a < b is true and the result of second boolean expression a %
2 is false. The logical AND operator ( && ) combines these true and false boolean values and gives a resultant
boolean value as false. So, boolean variable c becomes false.
(d) Ternary operator

Answer

Ternary operator operates on three operands. Its syntax is:


condition ? expression 1 : expression 2
Ternary operator evaluates the condition. If the condition is true then result of ternary operator is the value of
expression 1. Otherwise the result is the value of expression 2.
Example:
boolean isLeapYear = true;
int febDays = isLeapYear ? 29 : 28;
Here, the ternary operator checks if the value of boolean variable isLeapYear is true or false. As it is true,
expression 1, which in this example is the value 29, is the result of the ternary operator. So, int
variable febDays becomes 29.

Question 4

Distinguish between:

(a) Unary & Binary arithmetic operator

Answer

Unary Arithmetic Operator Binary Arithmetic Operator

It operates on a single operand It operates on two operands


Unary Arithmetic Operator Binary Arithmetic Operator

Increment (++) and Decrement (--) operators are examples Multiplication (*) and Division (/) are examples of
of Unary Arithmetic Operators Binary Arithmetic Operators

(b) Postfix increment and Prefix increment

Answer

Postfix Increment Prefix Increment

It works on the principle of USE-THEN-CHANGE. It works on the principle of CHANGE-THEN-USE.

The increment operator (++) is written before the


The increment operator (++) is written after the operand.
operand.

Example: Example:
int a = 99; int a = 99;
int b = a++; int b = ++a;
After the execution of these two statements, a will have the After the execution of these two statements, both
value of 100 and b will have the value of 99. a and b will have the value of 100.

(c) Postfix decrement and Prefix decrement

Answer

Postfix Decrement Prefix Decrement

It works on the principle of USE-THEN-CHANGE. It works on the principle of CHANGE-THEN-USE.

The decrement operator (--) is written before the


The decrement operator (--) is written after the operand.
operand.

Example: Example:
int a = 100; int a = 100;
int b = a--; int b = --a;
After the execution of these two statements, a will have the After the execution of these two statements, both
value of 99 and b will have the value of 100. a and b will have the value of 99.

(d) (p != q) and !(p == q)

Answer

(p != q) !(p == q)

This expression uses the relational This expression first checks if values of p and q are equal using the
(p != q) !(p == q)

operator != (Not equal to) to relational operator == (equality). It then inverts the result of equality
determine if values of p and q are operator using the logical NOT (!) operator to determine if values of p
different. and q are different.

Question 5

What is the difference between

(a) / and % operator?

Answer

/ %

Division operator Modulus operator

Returns the quotient of division operation Returns the remainder of division operation

Example: int a = 5 / 2; Here a will get the value of 2 Example: int b = 5 % 2; Here b will get the value of 1
which is the quotient of this division operation which is the remainder of this division operation

(b) = and == ?

Answer

= ==

It is the assignment operator used for assigning a It is the equality operator used to check if a variable is equal to
value to a variable. another variable or literal.

Example: Example:
int a = 10; if (a == 10)
This statement assigns 10 to variable a. This statement checks if variable a is equal to 10 or not.

Question 6(a)

What will be the output of the following code?

int k=5,j=9;
k += k++ - ++j + k;
[Link]("k="+k);
[Link]("j="+j);

Output

k=6
j=10
Explanation

⇒ k = k + (k++ - ++j + k)
k+= k++ - ++j + k

⇒ k = 5 + (5 - 10 + 6)
⇒k=5+1
⇒k=6

Question 6(b)

If int y =10 then find int z = (++y*(y++ + 5));

Output

z = 176

Explanation

⇒ z = (11 * (11 + 5))


z = (++y * (y++ + 5))

⇒ z = (11 * 16)
⇒ z = 176

Question 6(c)

Give the output of the following expression:


a += a++ + ++a + --a + a--; when a = 7;

Output

a = 39

Explanation

⇒ a = a + (a++ + ++a + --a + a--)


a+= a++ + ++a + --a + a--

⇒ a = 7 + (7 + 9 + 8 + 8)
⇒ a = 7 + 32
⇒ a = 39

Question 6(d)

What is the value of y after the execution?


y += ++y + y-- + --y; when int y=8

Output

y = 33

Explanation

⇒ y = y + (++y + y-- + --y)


y+= ++y + y-- + --y

⇒ y = 8 + (9 + 9 + 7)
⇒ y = 8 + 25
⇒ y = 33
Question 7

Rewrite the following program segment using if-else statements instead of the ternary operator.

(a) String grade = (marks>=90)?"A": (marks>=80)? "B": "C";

Answer

String grade;
if (marks >= 90)
grade = "A";
else if (marks >= 80)
grade = "B";
else
grade = "C";
(b) commission = (sale > 5000) ? sale*10/100 : 0;

Answer

if (sale > 5000)


commission = sale * 10 / 100;
else
commission = 0;
(c) net = (salary > 10000) ? salary - (8.33/100)*salary : salary - (5/100)*salary

Answer

if (salary > 10000)


net = salary - (8.33/100) * salary;
else
net = salary - (5/100) * salary;
(d) s = (a + b < c || a + c <= b || b + c <= a) ? "Triangle is not possible": "Triangle is possible";

Answer

if (a + b < c || a + c <= b || b + c <= a)


s = "Triangle is not possible";
else
s = "Triangle is possible";
(e) c = (x >= 'A' && x <= 'Z') ? "Upper Case Letter" : "Lower Case Letter";

Answer

if (x >= 'A' && x <= 'Z')


c = "Upper Case Letter";
else
c = "Lower Case Letter";

Question 8

Rewrite the following using ternary operator.

(a)

if (x % 2 == 0)
[Link]("Even");
else
[Link]("Odd");
Answer
[Link](x % 2 == 0 ? "Even" : "Odd");
(b)

if (bill > 10000)


discount=bill*10.0/100;
else
discount=bill*5.0/100;
Answer

discount = bill > 10000 ? bill*10.0/100 : bill*5.0/100;


(c)

if(income < 10000)


tax = 0;
else
tax = 12;
Answer

tax = income < 10000 ? 0 : 12;


(d)

if(a > b)
{
if (a > c)
g = a;
else
g = c;
}
else if (b > c)
g = b;
else
g = c;
Answer

g = a > b ? a > c ? a : c : b > c ? b : c;


(e)

if (p >= 4750)
k = p * 5 / 100;
else
k = p * 10 / 100;
Answer

k = (p >= 4750) ? p * 5 / 100 : p * 10 / 100;

Common questions

Powered by AI

Relational operators compare two operands, yielding a boolean result. Examples include `==`, `!=`, `<`, `<=`, `>`, `>=`. For instance, `boolean c = (a < b);` if `a` is less than `b`, `c` will be true . Logical operators combine boolean expressions and also return a boolean value. They include `&&` (AND), `||` (OR), and `!` (NOT). For example, `boolean c = (a < b) && (b < c);` evaluates to true only if both comparisons are true .

Postfix increment (a++) applies the USE-THEN-CHANGE principle, meaning it evaluates the expression using the current value of the operand and then increases it. For example, in `int a = 99; int b = a++;`, `b` will be 99 and `a` will be 100 after execution. Prefix increment (++a) uses the CHANGE-THEN-USE principle, where the incremented value is used right away. In `int a = 99; int b = ++a;`, both `a` and `b` will be 100 after execution .

The expression `x += x++ + ++x + --x` is evaluated by the following sequence: `x += 5 + 5 + 7 + 6`. This sequence operates as follows: `x++` uses `x` as 5 and then increments, `++x` now works on `x` as 6 before incrementing, and `--x` decrements after the increment. With `x=5`, it calculates to `5 + (5 + 7 + 6)` since `x` becomes 6 after `x++` and `++x`. The final value of `x` becomes 23 .

The division operator `/` returns the quotient of the division between two numbers, whereas the modulus operator `%` returns the remainder. For example, in `int a = 5 / 2;`, `a` is assigned 2, the integer quotient. Meanwhile, `int b = 5 % 2;` assigns `b` the value 1, which is the remainder .

Operator precedence determines the sequence in which operations are performed in an expression. In Java, logical operators prioritize `!` higher than `&&` and `||`, meaning NOT operations are performed before AND and OR. For instance, in expressions containing a combination of these operators, negation (`!`) operations will execute first, followed by `&&`, and last by `||`, influencing the final result of the expression .

The nested if-else structure can be rewritten using a ternary operator as: `g = a > b ? (a > c ? a : c) : (b > c ? b : c);` This expression uses nested ternary operators to achieve the same conditional logic more concisely .

Both `p != q` and `!(p == q)` are logically equivalent in evaluation; `p != q` explicitly checks if `p` and `q` are not equal, while `!(p == q)` evaluates the equality and negates it. Philosophically, these expressions demonstrate different cognitive approaches: one direct and the other indirect. Criticism might arise from introducing potential double negation conceptual complexity in `!(p == q)`, especially in complex expressions .

In Java, the ternary operator works as a concise if-else statement. It evaluates the condition; if true, it returns the first expression, otherwise the second. In `String st = (a >= 90)? "Excellent": "Best";`, since `a = 90` meets the condition `a >= 90`, `st` is assigned "Excellent" .

The expression is evaluated as `k = 5 + (5 - 10 + 6)`, where the execution follows the sequence: `k += k++ - ++j + k`. Initially, `k++` uses 5 and then increments `k` to 6. `++j` increments `j` to 10. The result is calculated as `5 + 1`, thus `k` becomes 6, and `j` is 10 post-execution .

Operator precedence establishes order in which parts of an expression are evaluated, whereas operator overloading involves defining a new behavior for an operator depending on operand types, allowing the same operator to handle different data types specifically. Java does not support operator overloading to maintain simplicity, avoid complexity, and prevent unintentional usage errors, as the predefined behavior remains uniform and less error-prone [Derived from the broader context].

You might also like