更新时间:2023-03-01 来源:黑马程序员 浏览量:

关键字strictfp是strict float point的缩写,意思是精确浮点,主要作用是确保浮点数运算的准确性。JVM在执行浮点数运算时,如果没有指定strictfp关键字,此时计算结果可能会造成不精确,而且计算结果在不同平台或厂商的虚拟机上会有不同的结果,导致意想不到的错误。
当我们一旦使用了strictfp类声明一个类、接口或者方法,那么在所声明的范围内,Java编译器以及运行环境会完全依照IEEE二进制浮点数算术标准(IEEE 754)来执行,在这个关键字声明的范围内所有浮点数的计算都是精确的。
还需要我们注意的是,在一个类被strictfp修饰时,所有方法都会自动被strictfp修饰。因此,strictfp可以保证浮点数运算的精确性,而且在不同的硬件平台上会有一致性的运行结果。下列给出了strictfp修饰类的使用方法:
public strictfp class Test{
public static void testStrictfp(){
float f = 0.12365f;
double d = 0.03496421d;
double sum = f + d;
System.out.println(sum);
}
public static void main(String[] args){
testStrictfp();
}
} 程序运行结果为:
0.15861420949932098
1024首播|39岁程序员逆袭记:不被年龄定义,AI浪潮里再迎春天
2025-10-241024程序员节丨10年同行,致敬用代码改变世界的你
2025-10-24【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19