Java Math log1p()

The Java Math log1p() method returns the natural logarithm (base e) of the sum of specified value and 1.

The syntax of the log1p() method is:

Math.log1p(double x)

Here, log1p() is a static method. Hence, we are calling the method directly using the class name Math.

log1p() Parameters

The log1p() method takes a single parameter.

  • x - the value whose logarithm is to be computed

log1p() Return Values

  • returns the natural logarithm of x + 1
  • returns NaN if x is NaN or less than -1
  • returns positive infinity if x is positive infinity
  • returns zero if x is zero

Example1 : Java Math.log1p()

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

    // log1p() for double value
    System.out.println(Math.log1p(9.0));       // 2.302585092994046

    // log1p() for zero
    System.out.println(Math.log1p(0.0));       // 0.0

    // log1p() for NaN
    // square root of negative number is NaN
    double nanValue = Math.sqrt(-5.0);
    System.out.println(Math.log1p(nanValue));  // NaN

    // log1p() for infinity
    double infinity = Double.POSITIVE_INFINITY;
    System.out.println(Math.log1p(infinity));  // Infinity

    // log1p() for negative numbers
    System.out.println(Math.log(-9.0));        // NaN


In the above example, notice the expression,

Math.log1p(Math.pow(10, 3))

Here, Math.pow(10, 3) returns 103. To learn more, visit Java Math.pow().

Note: We have used the Math.sqrt() method to calculate the square root of -5. The square root of negative numeber is not a number.

Example 2: Math.log1p() and Math.log()

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

    double a = 9.0;
    // log1p() for double value
    System.out.println(Math.log1p(a));   // 2.302585092994046

    // Compute log() for a + 1
    a = a + 1;
    System.out.println(Math.log(a));    // 2.302585092994046

    // Here you can see log1p(x) == log(x + 1)


Recommended Tutorials:

Did you find this article helpful?