title: Can somebody explain i+++x?
body: <p>I was messing with <code>i++</code> when I stumbled upon <code>i+++[another expression]</code>. I went and tested it in DrJava:</p>
  
  <pre><code>&gt; int i;
  &gt; i++ 
  0
  &gt; i+++1
  2
  &gt; i+++1
  3
  &gt; i+++2
  5
  &gt; i+++1
  5
  &gt; ++i+1
  7
  &gt; ++i+1
  8
  &gt; ++i+1
  9
  &gt; ++i+2
  11
  </code></pre>
  
  <p>Later, I did this:</p>
  
  <pre><code>&gt; int i;
  &gt; i+++(++i);
  &gt; System.out.print(i);
  2
  &gt; System.out.print(i);
  2
  &gt; i+++(++i);
  &gt; System.out.print(i);
  4
  &gt; i+++(++i);
  &gt; System.out.print(i);
  6
  </code></pre>
  
  <p>I concluded that the value that was being returned was the addition of i++ and another variable. But what about i+++(++i)? What's going on there? And most importantly, why would I want (or not want) to use this in my code?</p>