Saturday, September 6, 2025
HomeLanguagesJavaJava Math nextAfter() method with Example

Java Math nextAfter() method with Example

The java.lang.Math.nextAfter() returns the floating-point number adjacent to the first argument in the direction of the second argument. If both arguments are equal then the second argument is returned.

Syntax of nextAfter() method

// datatype can be float or double. 
public static dataType nextAfter(dataType st, dataType dir) 

Parameter : 

st : starting floating-point value. 
dir :value indicating which of start's neighbors or start should be returned. 

Return:

This method returns the floating-point number adjacent to the start in the direction of the direction.

Note : If one of the arguments is NaN, Output is NaN

  • If both arguments are signed zeros, direction is returned unchanged(as implied by the requirement of returning the second argument if the arguments compare as equal).
  • If start is Double.MIN_VALUE or Float.MIN_VALUE and direction has a value such that the result should have a smaller magnitude, then a zero with the same sign as start is returned.
  • If start is infinite and direction has a value such that the result should have a smaller magnitude, Double.MAX_VALUE or Float.MAX_VALUE with the same sign as start is returned.
  • If start is equal to Double.MAX_VALUE or Float.MAX_VALUE and direction has a value such that the result should have a larger magnitude, an infinity with same sign as start is returned.

Example of Java Math nextAfter() method

Example 1: 

To show the working of java.lang.Math.nextAfter() method. 

Java




// Java program to demonstrate working
// of java.lang.Math.nextAfter() method
import java.lang.Math;
 
class GfG {
 
    // driver code
    public static void main(String args[])
    {
        double a = 0.0 / 0;
        double b = 12.2;
 
        // Input a is NaN, Output NaN
        System.out.println(Math.nextAfter(a, b));
 
        double c = 0.0;
        double d = 0.0;
 
        // Both Input are signed zeros, Output zero
        System.out.println(Math.nextAfter(c, d));
 
        float e = Float.MIN_VALUE;
        float f = 12.2f;
 
        System.out.println(Math.nextAfter(e, f));
 
        float g = 1.0f / 0f;
        float h = 1.0f;
 
        System.out.println(Math.nextAfter(g, h));
 
        double i = Double.MAX_VALUE;
        double j = 12344.2;
 
        System.out.println(Math.nextAfter(i, j));
    }
}


Output

NaN
0.0
2.8E-45
3.4028235E38
1.7976931348623155E308

Example 2:

Java




// Java program to demonstrate working
// of java.lang.Math.nextAfter() method
import java.lang.Math;
 
class GfG {
 
    // driver code
    public static void main(String args[])
    {
        double i = 956.4343;
        double j = 1234.21;
 
        System.out.println(Math.nextAfter(i, j));
    }
}


Output

956.4343000000001
RELATED ARTICLES

Most Popular

Dominic
32270 POSTS0 COMMENTS
Milvus
82 POSTS0 COMMENTS
Nango Kala
6639 POSTS0 COMMENTS
Nicole Veronica
11805 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11869 POSTS0 COMMENTS
Shaida Kate Naidoo
6753 POSTS0 COMMENTS
Ted Musemwa
7029 POSTS0 COMMENTS
Thapelo Manthata
6705 POSTS0 COMMENTS
Umr Jansen
6721 POSTS0 COMMENTS