1. 程式人生 > >Java中Math類常用函式總結

Java中Math類常用函式總結

Java中比較常用的幾個數學公式的總結:

//取整,返回小於目標函式的最大整數,如下將會返回-2
Math.floor(-1.8);
//取整,返回發育目標數的最小整數
Math.ceil()
//四捨五入取整
Math.round()
//計算平方根
Math.sqrt()
//計算立方根
Math.cbrt()
//返回尤拉數e的n次冪
Math.exp(3);
//計算乘方,下面是計算3的2次方
Math.pow(3,2);
//計算自然對數
Math.log();
//計算絕對值
Math.abs();
//計算最大值
Math.max(2.3,4.5);
//計算最小值
Math.min(,);
//返回一個偽隨機數,該數大於等於0.0並且小於1.0
Math.random

Random類專門用於生成一個偽隨機數,它有兩個構造器:一個構造器使用預設的種子(以當前時間作為種子),另一個構造器需要程式設計師顯示的傳入一個long型整數的種子。

Random比Math的random()方法提供了更多的方式來生成各種偽隨機數。

e.g

import java.util.Arrays;
import java.util.Random;

public class RandomTest {

    /**
     * @param args
     */
    public static void main(String[] args) {
        // TODO Auto-generated method stub
        Random rand = new Random();
        System.out.println("隨機布林數" + rand.nextBoolean());
        byte[] buffer = new byte[16];
        rand.nextBytes(buffer);
        //生產一個含有16個數組元素的隨機數陣列
        System.out.println(Arrays.toString(buffer));
        
        System.out.println("rand.nextDouble()" + rand.nextDouble());
        
        System.out.println("Float浮點數" + rand.nextFloat());
        
        System.out.println("rand.nextGaussian" + rand.nextGaussian());
        
        System.out.println("" + rand.nextInt());
        
        //生產一個0~32之間的隨機整數
        System.out.println("rand.nextInt(32)" + rand.nextInt(32));
        
        System.out.println("rand.nextLong" + rand.nextLong());
    }

}

為了避免兩個Random物件產生相同的數字序列,通常推薦使用當前時間作為Random物件的種子,程式碼如下:

Random  rand = new Random(System.currentTimeMillis());

java7中引入了ThreadLocalRandom

在多執行緒的情況下使用ThreadLocalRandom的方式與使用Random基本類似,如下程式·片段示範了ThreadLocalRandom的用法:

首先使用current()產生隨機序列之後使用nextCXxx()來產生想要的偽隨機序列:

     ThreadLocalRandom trand= ThreadLocalRandom.current();
        
        int val = rand.nextInt(4,64);

產生4~64之間的偽隨機數

相關推薦

JavaMath常用函式總結

Java中比較常用的幾個數學公式的總結: //取整,返回小於目標函式的最大整數,如下將會返回-2 Math.floor(-1.8); //取整,返回發育目標數的最小整數 Math.ceil() //

JavaMath常用函式總結

Java中比較常用的幾個數學公式的總結: //取整,返回小於目標函式的最大整數,如下將會返回-2 Math.floor(-1.8); //取整,返回發育目標數的最小整數 Math.ceil() //四捨五入取整 Math.round() //計算平

JavaMath常用方法

order ref oat math dom ack ron 方法 args 8243 [java] view plain copy public class MathDemo { public static void main(

javaString常用方法、屬性等

col clas equal ack length ++ ava eal rgs package Head18; public class java09 { public static void main(String[] args) { St

Java集合的內容總結

package JavaSum; import java.util.LinkedHashMap; import java.util.Scanner; public class TestMap {         private LinkedHashMap<String,TestEmployee>

JavaString常用方法(轉)

轉自:https://blog.csdn.net/kaishizhangcheng/article/details/52332543int indexOf(String str)該方法用於返回當給定字串在當前字串中的位置,若當前字串不包含給定字串則返回-1。過載的方法int

javaObject函式詳解

1.clone方法(淺拷貝) 保護方法,實現物件的淺複製,只有實現了Cloneable接口才可以呼叫該方法,否則丟擲CloneNotSupportedException異常。 主要是JAVA裡除了8種基本型別傳引數是值傳遞,其他的類物件傳引數都是引用傳遞,我們有時候不希望在方法裡講引數改變,

javaString常用方法I(判斷 Java 檔名是否正確,判斷郵箱格式是否正確)

內容摘自慕課網 具體程式碼: public class HelloWorld { public static void main(String[] args) { // Java檔名 String fileName

JAVAMath的random()方法使用

使用了Math類的random()方法, 由於Math類是出於java.lang包(Package),故使用時不必import這個包。 此外本例還使用了移位運算子 /** * 使用了Math類的random()方法, * 由於Math類是出於java.lang包(Pa

javamath方法之數學運算(pow,exp,三角函式,指數)

static double  sin(double a ) : 返回角的三角正弦static  double cos(double a)  : 返回角的三角餘弦static  double tan(double  a)  : 返回角的三角正切static  double asin(double a) : 返回

Java匿名使用方法總結

匿名內部類也就是沒有名字的內部類 正因為沒有名字,所以匿名內部類只能使用一次,它通常用來簡化程式碼編寫 但使用匿名內部類還有個前提條件:必須繼承一個父類或實現一個介面 例項1:不使用匿名內部類來實現抽象方法 abstract class Person

JAVA抽象和介面總結

區別1:抽象類體現繼承關係,一個類只能単繼承。介面體現實現關係,一個類可以多實現。區別2:抽象類中可以定義非抽象方法和抽象方法,子類繼承後可以直接使用非抽象方法。介面的方法都            是抽象的,必須由子類去實現。介面中的成員都有固定的修飾符。區別3:抽象類有構造

java Math

big 浮點 提高 運算 次方 dom main 所有 pac package cn.liuliu.com; import java.math.BigDecimal; import java.math.BigInteger; /* * 一、Math類?

Java幾個常用總結

一. System: 1.     首先是System類,因為從一開始從接觸java起,我們就無時無刻都在接觸它,經常用它來向螢幕,向控制檯列印輸出一些資訊,System.out.println(“hello world”);這個只是在控制檯輸出一條資訊“hello wor

javaVector常用方法

並不是 tps tle dex tar spa 有變 array sets Vector類是實現List接口,所以繼承的方法就不在這裏講了 https://www.cnblogs.com/xiaostudy/p/9503199.html public void add

JavaMath、Random、BigInteger、BigDecimal

文章目錄 Math類 Random類 BigInteger類 BigDecimal類 Math類 1、 成員變

生產環境Oracle常用函式總結

1>to_char,將日期轉換為字元;add_months,在第一個引數的日期上加或者減第二個引數的值 select dkzh,jkhtbh,yhkrq,dkffrq,shqs,dqyqcs,to_char(add_months(dkffrq,shqs+dqyqcs+1),'yyyymm'

Java實用方法整理(十七)——File常用方法總結

一,建立功能 1,public boolean createNewFile() throws IOException     建立新檔案 2,public boolean mkdirs()    建立新的目錄,若父目錄不存在,會自動建立 3,public boolean

Pythonre(正則表示式)常用函式總結

1  re.match       #嘗試從字串的開始匹配一個模式     re.match的函式原型為:re.match(pattern, string, flags)     第一個引數是正則表示式,這裡為"(\w+)\s",如果匹配成功,則返回一個Match,否則返

javaFile常用所有方法及其應用

建立: createNewFile()在指定位置建立一個空檔案,成功就返回true,如果已存在就不建立,然後返回false。 mkdir()  在指定位置建立一個單級資料夾。 mkdirs()  在指定位置建立一個多級資料夾。 renameTo(File dest)如果目標檔