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 が等しいものとなる。

bannerAds