In fact, the behavior is undefined according to the rules of c/c++. On some compilers it may increment and on others it may not. (My own experience is that in most cases, but not all, it increments). Java is a vast improvement because the behavior is defined and will not vary between JVMs.
in 'c' or 'c++', it works just fine and i gets the value 1, in case i'm trying in 'c' or 'c++', after its(i=i++) execution