Java: sum of two integers being printed as concatenation of the two

前端 未结 10 2041
忘了有多久
忘了有多久 2020-12-03 19:41

Consider this code:

int x = 17;
int y = 013;
System.out.println(\"x+y = \" + x + y);

When I run this code I get the output 1711. Can anybod

10条回答
  •  鱼传尺愫
    2020-12-03 19:56

    "x+y = " + x+y
    

    equals

    ("x+y = " + x) + y
    

    which equals

    ("x+y = " + String.valueOf(x)) + y
    

    which equals

    "x+y = " + String.valueOf(x) + String.valueOf(y)
    

    013 is octal = 11 in decimal

提交回复
热议问题