Hello,
**************************************************
*** IncrementSum.java
public class IncrementSum {
public static void main (
String args[]) {
int SumOne=0;
int SumTwo=0;
int SumThree=0;
int SumFour=0;
int SumFive=0;
int SumSix=0;
int SumSeven=0;
SumOne=SumOne++;
SumTwo=++SumTwo;
SumThree=SumThree+1;
SumFour++;
++SumFive;
SumSix=(SumSix++)+SumSix;
SumSeven=(SumSeven++)+(SumSeven++);
System.out.println("SumOne=SumOne++ is " + SumOne);
System.out.println("SumTwo=++SumTwo is " + SumTwo);
System.out.println("SumThree=SumThree+1 is " + SumThree);
System.out.println("SumFour++ is " + SumFour);
System.out.println("++SumFive is " + SumFive);
System.out.println("SumSix=(SumSix++)+SumSix is " + SumSix);
System.out.println("SumSeven=(SumSeven++)+(SumSeven++) is " + SumSeven);
}
}
**************************************************
*** Output:
SumOne=SumOne++ is 0
SumTwo=++SumTwo is 1
SumThree=SumThree+1 is 1
SumFour++ is 1
++SumFive is 1
SumSix=(SumSix++)+SumSix is 1
SumSeven=(SumSeven++)+(SumSeven++) is 1
**************************************************
I ran a few tests as above and come to a conclusion that "in assignment of the same variable name will cancel a postfix incremental value/effect". At first, I expected "SumOne=SumOne++" to have the same effect as "SumFour++", ie. a value of 1. Somehow, this is how
Java behaves, which I do not have a logical explanation, but just need to ACCEPT it.... :roll:
Looking at SumSix and SumSeven, is there a logical explanation for it?
Thanks for the helps....:-)