0Pricing
Java Academy · レッスン

Math クラス

よく使う数学関数です。

「Math クラス」はCoddyKit上の無料Java Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはJava Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Java Academyコースには全4レッスンが含まれています。

Mathクラス

java.lang.Mathはstaticな数学メソッドを提供する組み込みクラスです。java.langに含まれているため、importは必要ありません。クラスに対してメソッドを呼び出します。例:Math.sqrt(2)。

累乗と平方根

Math.pow(base, exp)は数値を累乗し、Math.sqrt(x)は平方根を求めます。どちらもdoubleを返します。

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.pow(2, 10));
        System.out.println(Math.sqrt(144));
    }
}

絶対値

Math.absは数値の符号を取り除き、大きさを返します。int、long、float、doubleに対してオーバーロードされています。

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.abs(-42));
        System.out.println(Math.abs(-3.14));
    }
}

最小値と最大値

Math.minとMath.maxは、2つの値のうち小さいほう、または大きいほうを返します。

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.max(10, 25));
        System.out.println(Math.min(10, 25));
    }
}

定数PIとE

Mathには、よく知られた2つの定数Math.PIとMath.Eが用意されています。これらはpublic static final doubleフィールドです。

public class Main {
    public static void main(String[] args) {
        double radius = 3;
        double area = Math.PI * radius * radius;
        System.out.println("Area: " + area);
    }
}

三角関数

Math.sin、Math.cos、Math.tanなどの三角関数は、度ではなくラジアンを使用します。Math.toRadiansで変換してください。

public class Main {
    public static void main(String[] args) {
        double degrees = 90;
        double radians = Math.toRadians(degrees);
        System.out.println(Math.sin(radians));
    }
}

対数と指数関数

Math.logは自然対数(底e)、Math.log10は常用対数(底10)を求め、Math.expはeを累乗します。

public class Main {
    public static void main(String[] args) {
        System.out.println(Math.log10(1000));
        System.out.println(Math.exp(1));
    }
}

距離を求めるhypot

Math.hypot(x, y)は、xの二乗とyの二乗の和の平方根を、途中でオーバーフローさせずに計算します。2Dの距離を求めるのに適しています。

public class Main {
    public static void main(String[] args) {
        double dist = Math.hypot(3, 4);
        System.out.println(dist);
    }
}

整数オーバーフロー用ヘルパー

Math.addExactやMath.multiplyExactなどのメソッドは、結果がオーバーフローした場合に、暗黙的に循環させるのではなくArithmeticExceptionをスローします。

public class Main {
    public static void main(String[] args) {
        try {
            int result = Math.addExact(Integer.MAX_VALUE, 1);
            System.out.println(result);
        } catch (ArithmeticException e) {
            System.out.println("Overflow detected: " + e.getMessage());
        }
    }
}

戻り値の型はdouble

Mathのほとんどのメソッドはdoubleを返します。intが必要な場合は、(int) Math.sqrt(16)のように明示的にキャストする必要があります。キャストすると0方向に切り捨てられる点に注意してください。

public class Main {
    public static void main(String[] args) {
        int side = (int) Math.sqrt(16);
        System.out.println(side);
    }
}

簡単な計算

複数のMathメソッドを組み合わせて、二乗と平方根による斜辺の計算など、結果を求めることができます。

public class Main {
    public static void main(String[] args) {
        double a = 5, b = 12;
        double c = Math.sqrt(Math.pow(a, 2) + Math.pow(b, 2));
        System.out.println("Hypotenuse: " + c);
    }
}

理解度チェック

Mathクラスについての理解度を確認しましょう。

まとめ

Mathクラスについて学びました。

  • staticメソッドを提供し、java.langに含まれているため、importは必要ありません。
  • pow、sqrt、abs、min、maxで、よく使う処理を行えます。
  • 定数PIとEを利用できます。
  • 三角関数はラジアンを使用し、ほとんどのメソッドはdoubleを返します。

よくある質問

「Math クラス」レッスンは無料ですか?

はい。「Math クラス」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Java Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Java Academyコースには全4レッスンが含まれています。

「Math クラス」で何を学びますか?

よく使う数学関数です。 ブラウザで直接実行するハンズオンコードでJava Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

Java Academyを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのJava Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「Math クラス」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このJava Academyレッスンでコードを書いて実行できますか?

はい。すべてのJava Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. Math クラス
  2. 乱数の生成
  3. 乱数の範囲とシャッフル
  4. Math の丸めと上限・下限
← Java Academyに戻る