[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[jfriends-ml 10530] Re: SJC-P 対策で



私はコンパイルエラーと思っていました。(恥)

On Tue, 25 Feb 2003 11:19:15 +0900, according to the article
"[jfriends-ml 10529] Re: SJC-P 対策で"
nemo_kaz <nemo_kaz@xxxxxxxxxxx> wrote:

> 1だと思ったけど、if(bool = false)の評価値はなんとfalse ですか
> はずしました。

追試してみました。

    boolean trueValue = true;
    System.out.println(trueValue = false);   //★1
    boolean falseValue = false;
    System.out.println(falseValue = false);  //★2
    int integer = 0;
    System.out.println(integer = 0);         //★3
    System.out.println(integer = 2);         //★4


結果は、以下の通り。

false
false
0
2

代入後の値が式の値となる、ということですね。
whlie (int data = System.in.read() >= 0) {
  :
}
みたいなもんですかね。

うむむ、言語仕様を参照すると…。このへんですかね。
http://www.y-adagio.com/public/standards/tr_javalang/15.doc.htm#5281
| ... 代入式の型はその変数の型とする。
| 
| 実行時には,代入式の結果は代入が起こった後の変数の値とする。代入式の結果そ
| のものは,変数ではない。 
| :

---------------------------------------------------
(株)PFU システム事業部ソフトウェア統括部第二開発部
      福嶋 航  w.fukushima@xxxxxxxxxxxxxxx