Heim >Java >javaLernprogramm >So generieren Sie Zufallszahlen in Java

So generieren Sie Zufallszahlen in Java

青灯夜游
青灯夜游Original
2018-11-21 15:10:3658069Durchsuche

Wie generiert man Zufallszahlen in Java? In diesem Artikel erfahren Sie, wie Sie Zufallszahlen in Java generieren. Es hat einen gewissen Referenzwert. Freunde in Not können sich darauf beziehen. Ich hoffe, es wird Ihnen hilfreich sein.

Java bietet drei Möglichkeiten, Zufallszahlen mithilfe einiger integrierter Methoden und Klassen zu generieren:

1. Java.util.Random-Klasse

2. Zufallsmethode: Kann Zufallszahlen vom Typ Double generieren.

3. ThreadLocalRandom-Klasse

Schauen wir uns an, wie Java die Generierung von Zufallszahlen implementiert.

1. java.util.Random-Klasse

Klassen in der Java-Utility-Klassenbibliothek: java.util.Random bietet Methoden zum Generieren verschiedener Arten von Zufallszahlen.

Um Zufallszahlen mit der Klasse java.util.Random zu generieren, müssen wir zuerst eine Instanz dieser Klasse erstellen und diese Instanz dann verwenden, um Methoden wie nextInt(), nextDouble(), nextLong() usw. aufzurufen .

Wir können die Klasse java.util.Random verwenden, um zufällige Ganzzahlen, Gleitkommazahlen, Zahlen mit doppelter Genauigkeit, lange Ganzzahlen, boolesche Operanden und andere Typen zufällig zu generieren.

Wir können der Methode Parameter übergeben, um eine Obergrenze für den zu generierenden Zahlenbereich festzulegen. nextInt(6) generiert beispielsweise eine Zahl im Bereich von 0 bis einschließlich 5.

// 随机数生成
// 使用java.util.Random; 
import java.util.Random; 

public class generateRandom{ 

	public static void main(String args[]) 
	{ 
		// 创建随机类的实例
		Random rand = new Random(); 

		// 在0到999范围内生成随机整数
		int rand_int1 = rand.nextInt(1000); 
		int rand_int2 = rand.nextInt(1000); 

		// 输出随机整数
		System.out.println("随机整数: "+rand_int1); 
		System.out.println("随机整数: "+rand_int2); 

		// 生成随机双精度数
		double rand_dub1 = rand.nextDouble(); 
		double rand_dub2 = rand.nextDouble(); 

		// 输出随机双精度数
		System.out.println("随机双精度数: "+rand_dub1); 
		System.out.println("随机双精度数: "+rand_dub2); 
	} 
}

Ausgabe ausführen:

So generieren Sie Zufallszahlen in Java

2. Math.random-Methode

Mathe-Klasse enthält Verschiedenes Methoden zur Durchführung verschiedener numerischer Operationen wie Potenzierung, Logarithmus usw. Eine dieser Methoden: random (), kann eine doppelte Zahl mit positivem Vorzeichen zurückgeben. Der Wert ist größer oder gleich 0,0 und kleiner als 1,0, dh der Wertebereich ist das links geschlossene und rechts offene Intervall [0,0, 1,0).

Der von der random()-Methode zurückgegebene Wert wird pseudozufällig ausgewählt und (ungefähr) gleichmäßig im Bereich von [0,0,1,0) verteilt.

Hinweis: Es können nur Zufallszahlen vom doppelten Typ generiert werden.

Im Folgenden stellen wir vor, wie Sie diese Methode verwenden, um Zufallszahlen über Java-Code zu generieren:

// Math.random() 生成随机数
import java.util.*; 

public class generateRandom 
{ 
	public static void main(String args[]) 
	{ 
		// 随机双精度数的生成
		System.out.println("随机双精度数: " + Math.random()); 
		System.out.println("随机双精度数: " + Math.random()); 
	} 
}

Laufergebnisse:

So generieren Sie Zufallszahlen in Java

3. java.util.concurrent.ThreadLocalRandom-Klasse

Die ThreadLocalRandom-Klasse wurde in Java 1.7 eingeführt und kann den Wettbewerb zwischen mehreren Threads lösen. Kann Zufallszahlen vom Typ Ganzzahl, doppelte Genauigkeit, Boolescher Wert und andere Typen generieren.

Die wichtigsten Implementierungsdetails von ThreadLocalRandom:

1), verwenden Sie ein gewöhnliches Long anstelle des AtomicLong in Random als Startwert

2), Sie können keine ThreadLocalRandom-Instanz erstellen Da sein Konstruktor privat ist, können wir seine statische Methode ThreadLocalRandom.current()

3 verwenden. Er ist CPU-Cache-fähig und verwendet 8 lange virtuelle Felder, um die 64-Bit-L1-Hochgeschwindigkeits-Cache-Zeile zu füllen

Im Folgenden stellen wir vor, wie Sie diese Klasse verwenden, um Zufallszahlen durch einfachen Java-Code zu generieren:

// 随机数的产生
// 使用java.util.concurrent.ThreadLocalRandom类
import java.util.concurrent.ThreadLocalRandom; 

public class generateRandom 
{ 
	public static void main(String args[]) 
	{ 
		// 在0到999范围内生成随机整数
		int rand_int1 = ThreadLocalRandom.current().nextInt(); 
		int rand_int2 = ThreadLocalRandom.current().nextInt(); 

		// 输出随机整数
		System.out.println("Random Integers: " + rand_int1); 
		System.out.println("Random Integers: " + rand_int2); 

		// 生成随机双精度数
		double rand_dub1 = ThreadLocalRandom.current().nextDouble(); 
		double rand_dub2 = ThreadLocalRandom.current().nextDouble(); 

		// 输出随机双精度数
		System.out.println("Random Doubles: " + rand_dub1); 
		System.out.println("Random Doubles: " + rand_dub2); 

		// 生成随机布尔值
		boolean rand_bool1 = ThreadLocalRandom.current().nextBoolean(); 
		boolean rand_bool2 = ThreadLocalRandom.current().nextBoolean(); 

		// 输出随机布尔值
		System.out.println("Random Booleans: " + rand_bool1); 
		System.out.println("Random Booleans: " + rand_bool2); 
	} 
}

Ausgabe ausführen:

So generieren Sie Zufallszahlen in Java

Zusammenfassung: Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, dass er für das Studium aller hilfreich sein wird. Weitere verwandte Video-Tutorials finden Sie unter: Java-Tutorial!

Das obige ist der detaillierte Inhalt vonSo generieren Sie Zufallszahlen in Java. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn