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

System.out.println Strange output

 
Supun Lakshan Dissanayake
Ranch Hand
Posts: 135
Android Java PHP
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
When i compile and run Example.java the output was ba5
I need to know why the output was ba5 ??
[ my imagination = according to the sequence of line 11 output should be ab5 ]



Regards!!!
 
fred rosenberger
lowercase baba
Bartender
Pie
Posts: 12017
24
Chrome Java Linux
  • 2
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Step through the code.

On line 11, you start to build your string, which has to complete before you can do the printing from this line.

you now step into the DoSomething() method. on line 3, you say "print the string "b"". That completes, putting the 'b' on the console.

you then return the 5.

that gets concatenated to the 'a', giving you the string "a5", which is then printed to the console, behind the 'b'.
 
Kemal Sokolovic
Bartender
Posts: 825
5
Java Python Ruby
  • 1
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
This is the result of operator precedence (priority). If no parentheses are used in complex expressions, operators with higher precedence are executed before those of a lower precedence. The method call operator has the highest precedence (along with indexing, postfix increment and decrement operator) so it's executed first. Since the method is invoked first, 'b' character is sent to the output and value 5 is returned from method. After that 'a' is concatenated to '5' and sent to the output so you get the result "ba5".
 
Supun Lakshan Dissanayake
Ranch Hand
Posts: 135
Android Java PHP
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
THANKS GUYS!!!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic