ttp://www.javadrive.jp/start/ope/index7.html
このページ見て勉強してるんですが、納得いかないことがあります。
int a = 7;
int b;
b = a++;
System.out.println(a); //8
System.out.println(b); //7
について、
>変数「b」に変数「a」を代入していますので数値の7が変数「b」に代入されます。それから変数「a」の値を1だけ増加させます。
とのことなのですが、これをいじって、
int a = 7;
a = a++;
System.out.println(a); //7
とした場合、
>数値の7が変数「左辺のa」に代入されます。次に「右辺のa」の値を1だけ増加させます。
のはずなのにaは増えていません。
a = a++;
だと、インクリメントされないけれど、
a++;
だと正常にインクリメントされます。
a = a++;
の場合、左辺のaと右辺のaが指している場所が違う(実はaが2つある)んですか?