★★Java質問・相談スレッド149★★
■ このスレッドは過去ログ倉庫に格納されています
0717デフォルトの名無しさん
2011/11/15(火) 00:58:46.14「解きながら学ぶJava入門編」の3章の錬成問題で
int a=1,b=3,c=5;
System.out.println("a=b=c:"+(a=b=c));
System.out.println("c=b=a:"+(c=b=a));
の実行結果がそれぞれ「5」となるとありました。
参考:
ttp://www.bohyoh.com/Books/TokinagaraJavaA/TKMJA03.pdf
実際に以下のように書いて実行すると、出力はどちらも「5」に
なりました。代入演算子=は右結合となるので、1つ目は「5」ですが
2つ目は「1」になりそうですが、実際は結果が違いました。
なぜこのような結果になるのか教えて頂けないでしょうか。
よろしくお願いします。
public class Test {
public static void main(String[] args) {
int a=1,b=3,c=5;
System.out.println("a=b=c:"+(a=b=c));
System.out.println("c=b=a:"+(c=b=a));
}
}
■ このスレッドは過去ログ倉庫に格納されています