Was kommt nach und vor 1:
System.out.printf( „%.16f%n“, Math.nextUp( 1 ) );
System.out.printf( „%.16f%n“, Math.nextDown( 1 ) );
System.out.printf( „%.16f%n“, Math.nextAfter( 1, Double.POSITIVE_INFINITY ) );
System.out.printf( „%.16f%n“, Math.nextAfter( 1, Double.NEGATIVE_INFINITY ) );
Die Ausgabe ist:
1,000000119209289
0,9999999403953552
1,0000001192092896
0,9999999403953552
nextUp(d) ist eine Abkürzung für nextAfter(d, Double.POSITIVE_INFINITY) und nextDown(d) eine Abkürzung für nextAfter(d, Double.NEGATIVE_INFINITY). Ist das zweite Argument von Math.nextAfter(…) größer als das erste, dann wird die nächstgrößere Zahl zurückgegeben, ist sie kleiner, dann die nächstkleinere Zahl. Bei Gleichheit kommt die gleiche Zahl zurück.