Java StrictMath nextUp()方法与示例

StrictMath类nextUp()方法

语法:

    public static float nextUp(float fl);
    public static double nextUp(double do);
  • nextUp()方法在java.lang包中可用。

  • nextUp(float fl)方法用于返回沿无穷大路径方向与给定参数(fl)相邻的float浮点数。

  • nextUp(double do)方法用于在无穷大路径的方向上返回与给定参数(do)相邻的双浮点数。

  • 这些方法不会引发异常。

  • 这些是静态方法,可以使用类名进行访问,如果尝试使用类对象访问这些方法,则不会出现任何错误。

参数:

  • float fl / double do –表示floatdouble类型的初始或起始浮点值。

返回值:

该方法的返回类型为float / double-返回与给定参数(无穷大附近)相邻的浮点数。

注意:

  • 如果传递NaN,则该方法返回NaN。

  • 如果我们传递一个正无穷大,则这些方法将返回相同的值(即一个正无穷大)。

  • 如果传递0(正数或负数),则该方法返回Float.MIN_VALUE / Double.MIN_VALUE

示例

//Java程序演示示例 
//nextUp()StrictMath类的方法

public class NextUp {
    public static void main(String[] args) {
        //变量声明
        float f1 = -0.0f;
        float f2 = 0.0f;
        float f3 = -7.0f / 0.0f;
        float f4 = 7.0f / 0.0f;

        double d1 = -0.0;
        double d2 = 0.0;
        double d3 = -7.0 / 0.0;
        double d4 = 7.0 / 0.0;

        //显示f1,f2,f3和f4的先前值  
        System.out.println("f1: " + f1);
        System.out.println("f2: " + f2);
        System.out.println("f3: " + f3);
        System.out.println("f4:  " + f4);

        //显示d1,d2,d3和d4的先前值  
        System.out.println("d1: " + d1);
        System.out.println("d2: " + d2);
        System.out.println("d3: " + d3);
        System.out.println("d4: " + d4);

        System.out.println();
        System.out.println("nextUp(float): ");

        //在这里,我们将得到(Float.MIN_VALUE),因为我们是
        //传递参数,其值为(-0.0f)
        System.out.println("StrictMath.nextUp (f1): " + StrictMath.nextUp(f1));

        //在这里,我们将得到(Float.MIN_VALUE),我们
        //传递参数,其值为(0.0f)
        System.out.println("StrictMath.nextUp (f2): " + StrictMath.nextUp(f2));

        //在这里,我们将得到(Infinity)并且我们 
        //传递参数,其值为(7.0f / 0.0f)
        System.out.println("StrictMath.nextUp (f4): " + StrictMath.nextUp(f4));

        System.out.println();
        System.out.println("nextUp(float): ");


        //在这里,我们将得到(Double.MIN_VALUE),因为我们
        //传递参数,其值为(-0.0)
        System.out.println("StrictMath.nextUp (d1): " + StrictMath.nextUp(d1));

        //在这里,我们将得到(Double.MIN_VALUE),并且我们 
        //传递参数,其值为(0.0)
        System.out.println("StrictMath.nextUp (d2): " + StrictMath.nextUp(d2));

        //在这里,我们将得到(Infinity)并且我们 
        //传递参数,其值为(7.0 / 0.0)
        System.out.println("StrictMath.nextUp (d4): " + StrictMath.nextUp(d4));
    }
}

输出结果

f1: -0.0
f2: 0.0
f3: -Infinity
f4:  Infinity
d1: -0.0
d2: 0.0
d3: -Infinity
d4: Infinity

nextUp(float): 
StrictMath.nextUp (f1): 1.4E-45
StrictMath.nextUp (f2): 1.4E-45
StrictMath.nextUp (f4): Infinity

nextUp(float): 
StrictMath.nextUp (d1): 4.9E-324
StrictMath.nextUp (d2): 4.9E-324
StrictMath.nextUp (d4): Infinity