日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

1、Math类的常用方法

發布時間:2025/3/20 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 1、Math类的常用方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Java 中的 +、-、*、/ 和 % 等基本算術運算符不能進行更復雜的數學運算,例如,三角函數、對數運算、指數運算等。于是 Java 提供了 Math 工具類來完成這些復雜的運算。

在 Java 中 Math 類封裝了常用的數學運算,提供了基本的數學操作,如指數、對數、平方根和三角函數等。Math 類位于 java.lang 包,它的構造方法是 private 的,因此無法創建 Math 類的對象,并且 Math 類中的所有方法都是類方法,可以直接通過類名來調用它們。

下面詳細介紹該類的常量及數學處理方法。

靜態常量

Math 類中包含 E 和 PI 兩個靜態常量,正如它們名字所暗示的,它們的值分別等于 e(自然對數)和 π(圓周率)。

例 1
調用 Math 類的 E 和 PI 兩個常量,并將結果輸出。代碼如下:

System.out.println("E 常量的值:" + Math.E); System.out.println("PI 常量的值:" + Math.PI);

執行上述代碼,輸出結果如下:

E 常量的值:2.718281828459045 PI 常量的值:3.141592653589793

求最大值、最小值和絕對值

在程序中常見的就是求最大值、最小值和絕對值問題,如果使用 Math 類提供的方法可以很容易實現。這些方法的說明如表 1 所示。

方法說明
static int abs(int a)返回 a 的絕對值
static long abs(long a)返回 a 的絕對值
static float abs(float a)返回 a 的絕對值
static double abs(double a)返回 a 的絕對值
static int max(int x,int y)返回 x 和 y 中的最大值
static double max(double x,double y)返回 x 和 y 中的最大值
static long max(long x,long y)返回 x 和 y 中的最大值
static float max(float x,float y)返回 x 和 y 中的最大值
static int min(int x,int y)返回 x 和 y 中的最小值
static long min(long x,long y)返回 x 和 y 中的最小值
static double min(double x,double y)返回 x 和 y 中的最小值
static float min(float x,float y)返回 x 和 y 中的最小值

例 2
求 10 和 20 的較大值、15.6 和 15 的較小值、-12 的絕對值,代碼如下:

public class Test02 {public static void main(String[] args) {System.out.println("10 和 20 的較大值:" + Math.max(10, 20));System.out.println("15.6 和 15 的較小值:" + Math.min(15.6, 15));System.out.println("-12 的絕對值:" + Math.abs(-12));} }

該程序的運行結果如下:

1020的較大值:20 15.615的較小值:15.0 -12的絕對值:12

求整運算

Math 類的求整方法有很多,詳細說明如表 2 所示。

方法說明
static double ceil(double a)返回大于或等于 a 的最小整數
static double floor(double a)返回小于或等于 a 的最大整數
static double rint(double a)返回最接近 a 的整數值,如果有兩個同樣接近的整數,則結果取偶數
static int round(float a)將參數加上 1/2 后返回與參數最近的整數
static long round(double a)將參數加上 1/2 后返回與參數最近的整數,然后強制轉換為長整型

例 3
下面的實例演示了 Math 類中取整函數方法的應用:

import java.util.Scanner; public class Test03 {public static void main(String[] args) {Scanner input = new Scanner(System.in);System.outprintln("請輸入一個數字:");double num = input.nextDouble();System.out.println("大于或等于 "+ num +" 的最小整數:" + Math.ceil(num));System.out.println("小于或等于 "+ num +" 的最大整數:" + Math.floor(num));System.out.println("將 "+ num +" 加上 0.5 之后最接近的整數:" + Math.round(num));System.out.println("最接近 "+num+" 的整數:" + Math.rint(num));} }

執行結果如下:

請輸入一個數字: 99.01 大于或等于 99.01 的最小整數:100.0 小于或等于 99.01 的最大整數:99.099.01 加上 0.5 之后最接近的整數:100 最接近 99.01 的整數:99.0

三角函數運算

Math 類中包含的三角函數方法及其說明如表 3 所示。

方法說明
static double sin(double a)返回角的三角正弦值,參數以孤度為單位
static double cos(double a)返回角的三角余弦值,參數以孤度為單位
static double asin(double a)返回一個值的反正弦值,參數域在 [-1,1],值域在 [-PI/2,PI/2]
static double acos(double a)返回一個值的反余弦值,參數域在 [-1,1],值域在 [0.0,PI]
static double tan(double a)返回角的三角正切值,參數以弧度為單位
static double atan(double a)返回一個值的反正切值,值域在 [-PI/2,PI/2]
static double toDegrees(double angrad)將用孤度表示的角轉換為近似相等的用角度表示的角
staticdouble toRadians(double angdeg)將用角度表示的角轉換為近似相等的用弧度表示的角

在表 3 中,每個方法的參數和返回值都是 double 類型,參數以弧度代替角度來實現,其中 1 度等于 π/180 弧度,因此平角就是 π 弧度。

例 4
計算 90 度的正弦值、0 度的余弦值、1 的反正切值、120 度的弧度值,代碼如下:

public class Test04 {public static void main(String[] args) {System.out.println{"90 度的正弦值:" + Math.sin(Math.PI/2));System.out.println("0 度的余弦值:" + Math.cos(0));System.out.println("1 的反正切值:" + Math.atan(l));System.out.println("120 度的弧度值:" + Math.toRadians(120.0));} }

在上述代碼中,因為 Math.sin() 中的參數的單位是弧度,而 90 度表示的是角度,因此需要將 90 度轉換為弧度,即 Math.PI/180*90,故轉換后的弧度為 Math.PI/2,然后調用 Math 類中的 sin() 方法計算其正弦值。

該程序的運行結果如下:

90 度的正弦值:1.0 0 的余弦值:1.0 1 的反正切值:0.7853981633974483 120 度的弧度值:2.0943951023931953

指數運算

指數的運算包括求方根、取對數及其求 n 次方的運算。在 Math 類中定義的指數運算方法及其說明如表 4 所示。

表 4 指數方法及其說明

方法說明
static double exp(double a)返回 e 的 a 次冪
static double pow(double a,double b)返回以 a 為底數,以 b 為指數的冪值
static double sqrt(double a)返回 a 的平方根
static double cbrt(double a)返回 a 的立方根
static double log(double a)返回 a 的自然對數,即 lna 的值
static double log10(double a)返回以 10 為底 a 的對數

例 5
使用 Math 類中的方法實現指數的運算,main() 方法中的代碼如下:

public class Test05 {public static void main(String[] args) {System.out.println("4 的立方值:" + Math.pow(4, 3));System.out.println("16 的平方根:" + Math.sqrt(16));System.out.println("10 為底 2 的對數:" + Math.log1O(2));} }

該程序的運行結果如下:

4 的立方值:64.0 16 的平方根:4.0 10 為底 2 的對數:0.3010299956639812

總結

以上是生活随笔為你收集整理的1、Math类的常用方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。