Home  |   STIU  |   WOW  |   SCJP  |   SCDJWS   |   JEE FAQ  |   About US  |  

FAQ
  Java FAQ
  JSP FAQ
  Servlet FAQ
 

Advertisement

XyzWs Java FAQ:
How does the result differ between the String and number operands of the '+' operator?


Printer-friendly version Printer-friendly version | Send this 
article to a friend Mail this to a friend


Previous Next vertical dots separating previous/next from contents/index/pdf Contents
Advertisement
XyzWs Java FAQ: How does the result differ between the String and number operands of the '+' operator?

How does the result differ between the String and number operands of the '+' operator?

Let's take a look at the following example,

class Program {

  public static void main(String[] args) {
    System.out.println(1 + 2 + " fiddlers");
    System.out.println("fiddlers " + 1 + 2);

  }

}

The output is:

3 fiddlers
fiddlers 12

The + operator is syntactically left-associative, the expression a + b + c is always regarded as (a + b) + c. The type analysis to represent string concatenation or addition is based on the evaluation order.

In the 1 + 2 + " fiddlers", the first two are int, so the result is 3. Then since the next operand is a String object, 3 is converted to String and "fiddlers" is concatenated to 3, so the result is "3 fidders".

In the "fiddlers " + 1 + 2, since the first operand is a String, the rest of the operands are converted to String then concatenated to it, so the result is "fiddlers 12".


Previous Next vertical dots separating previous/next from contents/index/pdf Contents

Support  | Feedback  | Help