File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
http://aspose.com/file-tools
Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Logic below not followed

 
Nikhitha Pai
Greenhorn
Posts: 19
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
What is the output of the following code?



Correct Answer

Monkey

I did not understand this logic. Please explain
 
Loganathan Karunakaran
Ranch Hand
Posts: 78
  • 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I just added two print statements:


here is the output:

boo2==>false
boo3==>true
Monkey

The below concepts would help to understand the output:

Default Values:

In this class, the variable 'boo2' is not initialized. If the member and static variables are not initialized, they would get default values. example, booleans get a default value of false, integers get a default value of 0.

Hence the value of 'boo2' is false in this example

instanceof operator:
This operator is used to check whether an object falls under certain type. Every object inherits the class 'Object'. So the variable boo3 is set to true

Order of precedence:

& operator has higher precedence than the | operator.

So, (boo1 & boo2 | boo2 & boo3 | boo2 ), after substituting the values will be like below:

( true & false | false & true | false ) will result in
( false | false | false ) will result in
( false )

Similarly, ( boo3 & boo2 | boo2 & boo1 | boo2 | boo1) will result in

( true & false | false & true | false | true )
( false | false | false | true )
(true)


Hope this helps,

Regards


 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic