While the answer from @njzk2 is correct, it is useful to point out why it is correct. 
There are other possibilities - for example, why doesn't Java execute the postincrement operator after the assignment? (Answer: because that's not what the Java Language Designers chose)
The evaluation order for compound assignments (things like +=) is specified in the Java Language Specification section 15.26.2. I'll quote how it is defined for Java 8:
- First, the left-hand operand is evaluated to produce a variable. If this evaluation completes abruptly, then the assignment expression
  completes abruptly for the same reason; the right-hand operand is not
  evaluated and no assignment occurs. 
- Otherwise, the value of the left-hand operand is saved and then the right-hand operand is evaluated. If this evaluation completes
  abruptly, then the assignment expression completes abruptly for the
  same reason and no assignment occurs. 
- Otherwise, the saved value of the left-hand variable and the value of the right-hand operand are used to perform the binary operation
  indicated by the compound assignment operator. If this operation
  completes abruptly, then the assignment expression completes abruptly
  for the same reason and no assignment occurs. 
- Otherwise, the result of the binary operation is converted to the type of the left-hand variable, subjected to value set conversion
  (§5.1.13) to the appropriate standard value set (not an
  extended-exponent value set), and the result of the conversion is
  stored into the variable. 
The most important thing is that the value of the left hand expression is saved first, then the right hand is completely evaluated, and then the result of the compound operation is stored in the variable on the left hand side.