intからdoubleへ
確率を表すパーセント値を整数として受け取る関数での処理。確率計算をするために整数のパーセント値を100で割るわけですが、自分が書いたコードがこう。
double calc(int input){ double p = (double)input / 100; ...(pを使った計算)... }
周知の通り単にinput/100
としてしまうと、intとintの演算結果はintに丸められるのでうまくいかない。だからdoubleにキャストしないといけません。
しかし、他の人のコードを見ていて、もっと良い方法があることに気づきました。
わざわざ明示的にキャストしなくても、doubleのリテラルを使えば十分です。タイプ量も少ない。
double p = input / 100.0;
さらに言うと、こうした方がスマート?
double p = input * 0.01;
実行時間はこちらのほうが有利そう。あとでマイクロベンチマーク取ってみる。
マイクロベンチマークの参考記事:http://www.ibm.com/developerworks/jp/java/library/j-jtp02225/