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".
The quieter you are, the more you are able to hear.