
- 作者: ジョシュア・ブロック,ニール・ガフター,柴田芳樹
- 出版社/メーカー: ピアソン・エデュケーション
- 発売日: 2005/11/14
- メディア: 大型本
- 購入: 3人 クリック: 92回
- この商品を含むブログ (56件) を見る
public static boolean isOdd(int i) { return i % 2 == 1; }
うーむ、どう見てもちゃんと動くとしか思えないなぁ。一応Java言語仕様を見て演算子優先順序を確認する。問題ないなぁ。
次に自分でプログラムを作って動作確認。1, 123, 1234,‥‥、と与えていく。問題なさそうだ。続いて、0, -4, 問題なし。-3, あれ、falseが返却されたぞ。-99999, これもfalseだ。おやおや、負の値を与えるとすべてfalseとなる。ふーむ、i % 2はiが負の場合、-1になるのかぁ。やっと理解。
こんな短いコードでも、正しく動くことを保証しようとするならテストを書いて検証しないと駄目ですね。