Java Math random()

The Java Math random() method returns a value that is greater than or equal to 0.0 and less than 1.0.

The syntax of the random() method is:

Math.random()

Note: The random() method is a static method. Hence, we can call the method directly using the class name Math.


random() Parameters

The Math.random() method does not take any parameters.


random() Return Values

  • returns a pseudorandom value between 0.0 and 1.0

Note: The values returned are not truly random. Instead values are generated by a definite computational process, that satisfy some condition of randomness. Hence called pseudorandom values.


Example 1: Java Math.random()

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

    // Math.random()
    // first random value
    System.out.println(Math.random());  // 0.45950063688194265

    // second random value
    System.out.println(Math.random());  // 0.3388581014886102

    // third random value
    System.out.println(Math.random());  // 0.8002849308960158

  }
}

In the above example, we can see that the random() method returns three different values.


Example 2: Generate Random Number Between 10 and 20

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

    int upperBound = 20;
    int lowerBound = 10;

    // upperBound 20 will also be included
    int range = (upperBound - lowerBound) + 1;

    System.out.println("Random Numbers between 10 and 20:");

    for (int i = 0; i < 10; i ++) {

      // generate random number
      // (int) convert double value to int
      // Math.round() generate value between 0.0 and 1.0
      int random = (int)(Math.random() * range) + lowerBound;
      System.out.print(random + ", ");
    }

  }
}

Output

Random Numbers between 10 and 20:
15, 13, 11, 17, 20, 11, 17, 20, 14, 14,

Example 3: Access Random Array Elements

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

    // create an array
    int[] array = {34, 12, 44, 9, 67, 77, 98, 111};

    int lowerBound = 0;
    int upperBound = array.length;

    // array.length will excluded
    int range = upperBound - lowerBound;

    System.out.println("Random Array Elements:");
    // access 5 random array elements
    for (int i = 0; i <= 5; i ++) {

      // get random array index
      int random = (int)(Math.random() * range) + lowerBound;
      System.out.print(array[random] + ", ");
    }

  }
}

Output

Random Array Elements:
67, 34, 77, 34, 12, 77,

Recommended Tutorials