App下載

淺談Java中的Math類(lèi)和Random類(lèi) 以及常用方法

猿友 2021-07-30 13:58:31 瀏覽數(shù) (2229)
反饋

本篇文章將為大家簡(jiǎn)單地總結(jié)關(guān)于 Java 內(nèi)置包裝類(lèi)之一的 Math 類(lèi),以及隨機(jī)類(lèi) Random 類(lèi)的內(nèi)容,以及兩個(gè)類(lèi)畢竟經(jīng)常使用的方法,供大家學(xué)習(xí)參考。

java的Math類(lèi)

2021051809470929

java中的java.lang.Math類(lèi)可以直接使用,不需要導(dǎo)包,在JDK的API 中看到Math類(lèi)被final修飾著,那么說(shuō)明了這個(gè)Math類(lèi)不能被繼承,構(gòu)造器私有化,不能創(chuàng)建Math類(lèi)的對(duì)象,也就是說(shuō)

public static void main(String []args){
	Math m = new Math();
}

這種寫(xiě)法是錯(cuò)誤的

在這里插入圖片描述

Math內(nèi)部的所有的屬性和方法都被static修飾了,這說(shuō)明在調(diào)用的時(shí)候直接使用類(lèi)名.的方式直接調(diào)用,無(wú)需創(chuàng)建對(duì)象。
接下來(lái)介紹Math類(lèi)中的幾個(gè)常用的方法:

方法 說(shuō)明 返回值類(lèi)型
random() 返回帶正號(hào)的雙精度值,大于或等于0.0,小于1.0。 static double
abs() 取數(shù)的絕對(duì)值,可以是int long double float int / long / double / float
ceil() 向上取值 返回一個(gè)double類(lèi)型
floor() 向下取值 返回一個(gè)double類(lèi)型
round() 四舍五入 返回一個(gè)long或者是int類(lèi)型的值
max()和min() 返回最大值和最小值 返回的值可以是double、float、int、long類(lèi)型的值
package Test;

public class Test06 {
    public static void main(String[] args) {
        //常用屬性:
        System.out.println(Math.PI);
        //常用的方法:
        System.out.println("隨機(jī)數(shù):" + Math.random());//[0.0,1.0)
        System.out.println("絕對(duì)值" + Math.abs(-80));
        System.out.println("向上取值" + Math.ceil(9.1));
        System.out.println("向下取值" + Math.floor(9.9));
        System.out.println("四舍五入" + Math.round(3.5));
        System.out.println("取大的那個(gè)值" + Math.max(3, 6));
        System.out.println("取小的那個(gè)值" + Math.min(3, 6));
    }
}

同樣Math類(lèi)可以使用靜態(tài)導(dǎo)入的方式,直接導(dǎo)入Math類(lèi)的所有方法和屬性

package Test;
//靜態(tài)導(dǎo)入

import static java.lang.Math.*;

public class Test07 {
    public static void main(String[] args) {
        //常用屬性:
        System.out.println(PI);
        //常用的方法:
        System.out.println("隨機(jī)數(shù):" + random());//[0.0,1.0)
        System.out.println("絕對(duì)值" + abs(-80));
        System.out.println("向上取值" + ceil(9.1));
        System.out.println("向下取值" + floor(9.9));
        System.out.println("四舍五入" + round(3.5));
        System.out.println("取大的那個(gè)值" + max(3, 6));
        System.out.println("取小的那個(gè)值" + min(3, 6));
    }
    //如果和Math中的方法重復(fù)了,程序會(huì)優(yōu)先選擇本類(lèi)的方法,這就是就近原則
    public static int random(){
        return 100;
    }
}

java的Random類(lèi)

2021051809471031

Random類(lèi)在java.util.Random中

Random類(lèi)的常用方法:

方法 說(shuō)明
nextInt() 返回此隨機(jī)數(shù)生成器序列中的下一個(gè)偽隨機(jī)、均勻分布的int值。
nextDouble() 返回此隨機(jī)數(shù)生成器序列中的下一個(gè)偽隨機(jī)、均勻分布的介于0.0和1.0之間的雙精度值。
package Test;

import java.util.Random;

public class Test08 {
    public static void main(String[] args) {
        System.out.println("隨機(jī)數(shù)" + Math.random());
        //學(xué)習(xí)Random類(lèi)
        //利用帶參數(shù)的構(gòu)造器創(chuàng)建對(duì)象
        Random r1 = new Random(System.currentTimeMillis());
        int i = r1.nextInt();
        System.out.println(i);
        //利用空參構(gòu)造器創(chuàng)建對(duì)象
        Random r2 = new Random();//表面是在調(diào)用無(wú)參構(gòu)造器,實(shí)際上底層還是調(diào)用了帶參構(gòu)造器
        System.out.println(r2.nextInt(10));
        System.out.println(r2.nextDouble());
    }
}

本篇關(guān)于 Java 中 Math 類(lèi)和 Random 類(lèi)基礎(chǔ)知識(shí)的總結(jié)以及常用方法說(shuō)明的文章介紹到此就結(jié)束了,想要了解更多關(guān)于 Java Math類(lèi)和Random類(lèi)的詳細(xì)內(nèi)容,可以搜索W3Cschool相關(guān)技術(shù)文章,希望本篇文章能夠幫助到大家的學(xué)習(xí)。


0 人點(diǎn)贊