Javaで2つの数値が等しいかどうかを比較する方法
Javaでは==を使用して2つの数が等しいかどうかを比較することができます。例えば:
int a = 5;
int b = 10;
if (a == b) {
System.out.println("a和b相等");
} else {
System.out.println("a和b不相等");
}
5は10と異なるため、結果はaとbが等しくないことになります。
浮動小数点(floatとdouble)では、精度による誤差を避けるためにMath.abs()関数で比較する点に注意が必要です。例:
double c = 0.1 + 0.1 + 0.1;
double d = 0.3;
if (Math.abs(c - d) < 0.000001) {
System.out.println("c和d相等");
} else {
System.out.println("c和d不相等");
}
0.1 + 0.1 + 0.1 がコンピューター内部で表現されるときは 0.3 とは等しくない場合があるとしても、その差は 0.000001 未満であり、等しいとみなすことができるために、出力は c と d が等しいものとなる。