---
# System prepended metadata

title: Java Math random() Method- Scaler Topics

---

---
title: Java Math random() Method- Scaler Topics
description: In this article by Scaler Topics, you will learn Math.random() method in Java helps us to generate random double values between 0 and 1.
author: Agam Jyot Singh 
category: Java
---

:::section{.abstract}

We frequently need to create random numbers while developing applications in Java programming. Several applications (for instance, a **dice roller** app) often need to create random numbers. This is where we use `Math.random()`. 

The `Math.random()` in java helps us to generate random double values between `0` and `1`.
:::

:::section{.main}

## Syntax 
**Method Signature:**
  
```java
public static double random()
```
**Syntax:**
```java
Math.random()
```

Here, Math is the class and `random()` is the `method`.
:::

:::section{.main}

## Return Type

The function returns only double type random numbers between `0.0` and `1.0`, which of course, can be type cast to `int`, or `long`.
:::




:::section{.main}

## Java Math random() Method Examples 
To understand `Math.random` in java better, let's look at some examples :

### Example : 1
The below example shows how to generate `three` random numbers using `Math.random()` method in java. You may use the same to generate more numbers if you want!
```java
import java.util.Math;

class Scaler {
  public static void main(String[] args) {

    // Printing the first random value
    System.out.println(Math.random()); 
      
    // Printing the second random value
    System.out.println(Math.random());
      
    // Printing the third random value
    System.out.println(Math.random());
      
  }
}
```

**Output :**
```plaintext
0.24764727798989705
0.8010378285494902
0.2729991552127389
```

### Example : 2
In this example, we will try to generate five random numbers between `15` and `30` :
```java
import java.util.Math;

class Scaler {
  public static void main(String[] args) {

    int min = 15;
    int max = 30;

    // Please note that the upperBound (in this case 30) will also be included
    int range = (max - min) + 1;

    System.out.println("Five random values between 15 and 30:");

    for (int i = 0; i < 5; i++) {
      // Here, we use "(int)" to convert double values into int
        
      int random = (int)(Math.random() * range) + min;
      System.out.print(random + " ");
    }
  }
}
```

**Output:**
```plaintext
Five random values between 15 and 30:
26 27 25 22 19
```

### Example : 3
In this example, we will initialize an array and use `Math.random()` to access any `5` elements from the array :
```java
import java.util.Math;

class Scaler {
  public static void main(String[] args) {

    // First, let's create an array
    int[] arr = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};

    // n = Number of elements in the array
    int n = arr.length;

    System.out.println("Five random elements from the array:");
    // Now, we can access any 5 random array elements from the array that we initialised
    for (int i = 0; i < 5; i ++) {

      // To do that, we will obtain random array index values
      int random = (int)(Math.random() * n);

      System.out.print(arr[random] + " ");
    }

  }
}
```
As clearly visible in the output below, we obtain five random numbers from the array provided :

**Output:**
```plaintext
Five random elements from the array:
3 4 1 5 2
```
:::

:::section{.summary}

## Conclusion

1. The `Math.random` method in Java provides random numerical values when it is called.
2. This, however, will produce double values in the range of `0.0` to `1.0`, and not integers.
3. However, to obtain integers, you may use implicit or explicit type-casting to obtain values according to your requirements.
:::