<< Chapter < Page | Chapter >> Page > |
Not the same as C and C++
Unlike C and C++, which can use an integer numeric expression in the conditional clause of an if statement, Java requires the conditional clause of an if statement to contain an expression that will return a boolean result.
Bad conditional expression
That is not the case in this program, and the following compiler error occurs under JDK 1.3:
Ap031.java:13: incompatible types
found : intrequired: boolean
if(x - y){ |
D. 6 4 9.3 7.300000000000001
Postfix increment and decrement operators
This program illustrates the use of the increment (++) and decrement (--) operators in their postfix form.
Behavior of increment operator
Given a variable x , the following two statements are equivalent:
x++;
x = x + 1; |
Behavior of decrement operator
Also, the following two statements are equivalent:
x--;
x = x - 1; |
Prefix and postfix forms available
These operators have both a prefix form and a postfix form.
Can be fairly complex
It is possible to construct some fairly complex scenarios when using these operators and combining them into expressions.
In these modules ...
In this group of self-assessment modules, the increment and decrement operators will primarily be used to update control variables in loops.
Inaccurate results
Regarding the program output, you will note that there is a little arithmetic inaccuracy when this program is executed using JDK 1.3. (The same is still true with JDK version 1.7.)
Ideally, the output value 7.300000000000001 should simply be 7.3 without the very small additional fractional part, but that sort of thing often happens whenusing floating types.
A. Compiler Error
Cannot use>with reference variables
The only relational operator that can be applied to reference variables is the == operator.
As discussed in the previous questions, even then it can only be used to determine if two reference variables refer to the same object.
This program produces the following compiler error under JDK 1.3:
Ap029.java:14: operator>cannot be applied to Dummy,Dummy
System.out.println(x>y); |
E. true true
Two references to the same object
In this case, the reference variables named x and y both refer to the same object. Therefore, when tested for equality, using either the ==operator or the default equals method, the result is true.
D. false
Read question 2
In case you skipped it, you need to read the explanation for the answer to Question 2 before reading this explanation.
Objects appear to be equal
These two objects are of the same type and contain the same values. Whyare they reported as not being equal?
Did not override the equals method
When I defined the class named Dummy used in the programs for Question 2 and Question 3 , I did not override the method named equals .
Therefore, my class named Dummy simply inherited the default version of the method named equals that is defined in the class named Object .
Notification Switch
Would you like to follow the 'Object-oriented programming (oop) with java' conversation and receive update notifications?