真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Java中生成隨機(jī)數(shù)的方法-創(chuàng)新互聯(lián)

這篇文章主要介紹了Java中生成隨機(jī)數(shù)的方法,具有一定借鑒價(jià)值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

成都創(chuàng)新互聯(lián)是一家專業(yè)提供雙鴨山企業(yè)網(wǎng)站建設(shè),專注與網(wǎng)站建設(shè)、網(wǎng)站制作、H5技術(shù)、小程序制作等業(yè)務(wù)。10年已為雙鴨山眾多企業(yè)、政府機(jī)構(gòu)等服務(wù)。創(chuàng)新互聯(lián)專業(yè)網(wǎng)站設(shè)計(jì)公司優(yōu)惠進(jìn)行中。

在Java中提供了三種使用一些內(nèi)置方法和類生成隨機(jī)數(shù)的方法,如下所示:

1、java.util.Random類

2、Math.random方法:可以生成double類型的隨機(jī)數(shù)。

3、ThreadLocalRandom類

下面我們就來看看具體Java是如何實(shí)現(xiàn)隨機(jī)數(shù)的生成。

1、java.util.Random類

Java 實(shí)用工具類庫中的類:java.util.Random 提供了產(chǎn)生各種類型隨機(jī)數(shù)的方法。

要使用java.util.Random類生成隨機(jī)數(shù),我們必須首先創(chuàng)建此類的實(shí)例,然后使用該實(shí)例調(diào)用nextInt(),nextDouble(),nextLong()等方法。

我們可以使用java.util.Random類隨機(jī)生成:整數(shù),浮點(diǎn)數(shù),雙精度數(shù),長(zhǎng)整數(shù),布爾運(yùn)算數(shù)等類型的隨機(jī)數(shù)。

我們可以將參數(shù)傳遞給方法,以便在要生成的數(shù)字范圍上放置上限。例如,nextInt(6)將生成0到5(包括0和5)范圍內(nèi)的數(shù)字。

// 隨機(jī)數(shù)生成
// 使用java.util.Random; 
import java.util.Random; 

public class generateRandom{ 

	public static void main(String args[]) 
	{ 
		// 創(chuàng)建隨機(jī)類的實(shí)例
		Random rand = new Random(); 

		// 在0到999范圍內(nèi)生成隨機(jī)整數(shù)
		int rand_int1 = rand.nextInt(1000); 
		int rand_int2 = rand.nextInt(1000); 

		// 輸出隨機(jī)整數(shù)
		System.out.println("隨機(jī)整數(shù): "+rand_int1); 
		System.out.println("隨機(jī)整數(shù): "+rand_int2); 

		// 生成隨機(jī)雙精度數(shù)
		double rand_dub1 = rand.nextDouble(); 
		double rand_dub2 = rand.nextDouble(); 

		// 輸出隨機(jī)雙精度數(shù)
		System.out.println("隨機(jī)雙精度數(shù): "+rand_dub1); 
		System.out.println("隨機(jī)雙精度數(shù): "+rand_dub2); 
	} 
}

運(yùn)行輸出:

Java中生成隨機(jī)數(shù)的方法

2、Math.random方法

Math類包含用于執(zhí)行各種數(shù)值運(yùn)算的各種方法,例如計(jì)算取冪,對(duì)數(shù)等。這其中的一個(gè)方法:random(),可以返回帶有正號(hào)的double數(shù),值大于或等于0.0且小于1.0 ,即取值范圍是[0.0,1.0)的左閉右開區(qū)間。

random()方法返回的值是偽隨機(jī)選擇的,在[0.0,1.0)的范圍內(nèi)(近似)均勻分布。

注:它只能生成double類型的隨機(jī)數(shù)。

下面我們就通過java代碼介紹如何使用此方法產(chǎn)生隨機(jī)數(shù):

// Math.random() 生成隨機(jī)數(shù)
import java.util.*; 

public class generateRandom 
{ 
	public static void main(String args[]) 
	{ 
		// 隨機(jī)雙精度數(shù)的生成
		System.out.println("隨機(jī)雙精度數(shù): " + Math.random()); 
		System.out.println("隨機(jī)雙精度數(shù): " + Math.random()); 
	} 
}

運(yùn)行結(jié)果:

Java中生成隨機(jī)數(shù)的方法

3、java.util.concurrent.ThreadLocalRandom類

ThreadLocalRandom類是在java 1.7中引入的,提供并發(fā)產(chǎn)生隨機(jī)數(shù),能夠解決多個(gè)線程發(fā)生的競(jìng)爭(zhēng)爭(zhēng)奪。可以生成整數(shù),雙精度,布爾等類型的隨機(jī)數(shù)。

ThreadLocalRandom的主要實(shí)現(xiàn)細(xì)節(jié):

1)、使用一個(gè)普通的long而不是使用Random中的AtomicLong作為seed

2)、不能自己創(chuàng)建ThreadLocalRandom實(shí)例,因?yàn)樗臉?gòu)造函數(shù)是私有的,我們可以使用它的靜態(tài)方法ThreadLocalRandom.current()

3)、它是CPU緩存感知式的,使用8個(gè)long虛擬域來填充64位L1高速緩存行

下面我們就通過簡(jiǎn)單的java代碼介紹如何使用這個(gè)類生成隨機(jī)數(shù):

// 隨機(jī)數(shù)的產(chǎn)生
// 使用java.util.concurrent.ThreadLocalRandom類
import java.util.concurrent.ThreadLocalRandom; 

public class generateRandom 
{ 
	public static void main(String args[]) 
	{ 
		// 在0到999范圍內(nèi)生成隨機(jī)整數(shù)
		int rand_int1 = ThreadLocalRandom.current().nextInt(); 
		int rand_int2 = ThreadLocalRandom.current().nextInt(); 

		// 輸出隨機(jī)整數(shù)
		System.out.println("Random Integers: " + rand_int1); 
		System.out.println("Random Integers: " + rand_int2); 

		// 生成隨機(jī)雙精度數(shù)
		double rand_dub1 = ThreadLocalRandom.current().nextDouble(); 
		double rand_dub2 = ThreadLocalRandom.current().nextDouble(); 

		// 輸出隨機(jī)雙精度數(shù)
		System.out.println("Random Doubles: " + rand_dub1); 
		System.out.println("Random Doubles: " + rand_dub2); 

		// 生成隨機(jī)布爾值
		boolean rand_bool1 = ThreadLocalRandom.current().nextBoolean(); 
		boolean rand_bool2 = ThreadLocalRandom.current().nextBoolean(); 

		// 輸出隨機(jī)布爾值
		System.out.println("Random Booleans: " + rand_bool1); 
		System.out.println("Random Booleans: " + rand_bool2); 
	} 
}

運(yùn)行輸出:

Java中生成隨機(jī)數(shù)的方法

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享Java中生成隨機(jī)數(shù)的方法內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,遇到問題就找創(chuàng)新互聯(lián),詳細(xì)的解決方法等著你來學(xué)習(xí)!


當(dāng)前文章:Java中生成隨機(jī)數(shù)的方法-創(chuàng)新互聯(lián)
轉(zhuǎn)載來于:http://weahome.cn/article/ccjcsi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部