The java.util.Random class is used to generate random numbers. Java Random class objects are thread safe. It provides several methods to generate random numbers of type integer, double, long, float etc.
Note: Random class objects are not suitable for security sensitive applications so it is better to use java.security.SecureRandom in these cases.
Java Random class constructors
Constructor | Description |
Random() | It creates a new random number generator. |
Random(long seed) | This creates a new random number generator using a single long seed. |
Â
Java Random class methods
Method | Description |
protected int next(int bits) | It generates the next pseudorandom number. |
boolean nextBoolean() | It returns the next pseudorandom, uniformly distributed boolean value from this random number generator’s sequence. |
void nextBytes(byte[] bytes) | It generates random bytes and places them into a user-supplied byte array. |
double nextDouble() | It returns the next pseudorandom, uniformly distributed double value between 0.0 and 1.0 from this random number generator’s sequence. |
float nextFloat() | It returns the next pseudorandom, uniformly distributed float value between 0.0 and 1.0 from this random number generator’s sequence. |
double nextGaussian() | It returns the next pseudorandom, Gaussian (“normally”) distributed double value with mean 0.0 and standard deviation 1.0 from this random number generator’s sequence. |
int nextInt() | It returns the next pseudorandom, uniformly distributed int value from this random number generator’s sequence. |
int nextInt(int n) | It returns a pseudorandom, uniformly distributed int value between 0 (inclusive) and the specified value (exclusive), drawn from this random number generator’s sequence. |
long nextLong() | It returns the next pseudorandom, uniformly distributed long value from this random number generator’s sequence. |
void setSeed(long seed) | It sets the seed of this random number generator using a single long seed. |
Example
package com.w3spoint;
import java.util.Random;
public class Test {
public static void main(String args[]){
Random random = new Random();
//It generates boolean value
System.out.println(random.nextBoolean());
//It generates double value
System.out.println(random.nextDouble());
//It generates float value
System.out.println(random.nextFloat());
//It generates int value
System.out.println(random.nextInt());
//It generates int value within specific limit
System.out.println(random.nextInt(50));
}
} |
package com.w3spoint; import java.util.Random; public class Test {
public static void main(String args[]){
Random random = new Random();
//It generates boolean value
System.out.println(random.nextBoolean());
//It generates double value
System.out.println(random.nextDouble());
//It generates float value
System.out.println(random.nextFloat());
//It generates int value
System.out.println(random.nextInt());
//It generates int value within specific limit
System.out.println(random.nextInt(50));
}
}
Output
true
0.29472606320906436
0.11627269
368153135
37 |
true
0.29472606320906436
0.11627269
368153135
37
Java random class examples