Friday, November 21, 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
32405 POSTS0 COMMENTS
Milvus
97 POSTS0 COMMENTS
Nango Kala
6781 POSTS0 COMMENTS
Nicole Veronica
11928 POSTS0 COMMENTS
Nokonwaba Nkukhwana
11997 POSTS0 COMMENTS
Shaida Kate Naidoo
6907 POSTS0 COMMENTS
Ted Musemwa
7166 POSTS0 COMMENTS
Thapelo Manthata
6862 POSTS0 COMMENTS
Umr Jansen
6847 POSTS0 COMMENTS