# Java Math log1p()

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)

}
}``````