java Math數學工具及Random隨機函式

biubiubiuo發表於2018-03-01

Math類包含用於執行基本數學運算的方法,如絕對值、對數、平方根和三角函式。它是一個final類,其中定義的都是一些常量和靜
態方法。常用方法如下:
public static double sqrt(double a) //求平方根
public static double ceil(double a) //求比a大的第一個整數
public static double floor(double a) //求比a小的第一個整數
public static double pow(double a,double b) //求指數,a為底數,b為指數
puiblic static long round(double a) //四捨五入
public staic int round(float a) //四捨五入
public static double random() //產生0~1的隨機數

java三種產生隨機數的方法:
1.通過System.currentTimeMillis()來獲取一個當前時間毫秒數的long型數字
2.通過Math.random()返回一個0到1的隨機double值
3.通過Random類來產生一個隨機數,這是專業的Random工具類,功能強大
Random類中實現的隨機演算法是偽隨機,即有規則的隨機。有一個起源種子數(seed),相同種子的Random物件,相同次數生成
的隨機數一樣
構造方法:
1.public Random()
2.public Random(long seed)

常用方法
public void nextBytes(byte[] bytes)
public int nextInt()
public int nextInt(5) //[0,5)的整數,永遠取不到5
public int nextBoolean() //布林值
public int nextFloat() //0-1浮點數
public int nextDouble() //0-1 double型別浮點數

Math類包含用於執行基本數學運算的方法,如絕對值、對數、平方根和三角函式。它是一個final類,其中定義的都是一些常量和靜
態方法。常用方法如下:
public static double sqrt(double a) //求平方根
public static double ceil(double a) //求比a大的第一個整數
public static double floor(double a) //求比a小的第一個整數
public static double pow(double a,double b) //求指數,a為底數,b為指數
puiblic static long round(double a) //四捨五入
public staic int round(float a) //四捨五入
public static double random() //產生0~1的隨機數

java三種產生隨機數的方法:
1.通過System.currentTimeMillis()來獲取一個當前時間毫秒數的long型數字
2.通過Math.random()返回一個0到1的隨機double值
3.通過Random類來產生一個隨機數,這是專業的Random工具類,功能強大
Random類中實現的隨機演算法是偽隨機,即有規則的隨機。有一個起源種子數(seed),相同種子的Random物件,相同次數生成
的隨機數一樣
構造方法:
1.public Random()
2.public Random(long seed)

常用方法
public void nextBytes(byte[] bytes)
public int nextInt()
public int nextInt(5) //[0,5)的整數,永遠取不到5
public int nextBoolean() //布林值
public int nextFloat() //0-1浮點數
public int nextDouble() //0-1 double型別浮點數

import java.util.Random;

public class MathRandomDemo {

    public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.println(Math.floor(10.55));   //比它小的第一個整數
        System.out.println(Math.ceil(10.55));   //比它大的第一個整數
        System.out.println(Math.pow(2,3));   //求指數2的3次方
        System.out.println(Math.round(10.6));   //四捨五入
        System.out.println(Math.sqrt(64));   //比它小的第一個整數
        System.out.println(Math.random());
        
        Random random1 = new Random();
        System.out.println(random1.nextInt());
        
        Random random2 = new Random(10);//隨機數不變
        System.out.println(random2.nextInt());
        
        Random random3 = new Random(System.currentTimeMillis());//將數字設為時間的毫秒數,則在不斷變化
        System.out.println(random3.nextInt());
        System.out.println(random3.nextInt(5)); //隨機生成[0,5),取不到 5
        System.out.println(random3.nextBoolean());
        System.out.println(random3.nextDouble());//雙精度
        System.out.println(random3.nextFloat());//單精度
        
    }

}

 

相關文章