Java strictfp关键字

1 什么是Java strictfp关键字

Java strictfp(全称:strict float point (精确浮点))关键字可应用于类、接口或方法。使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算。严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双精度格式表示。

如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,可以用关键字strictfp。

2 strictfp关键字正确用法

strictfp关键字可以应用于方法,类和接口。

2.1 用于类

strictfp class  A {} // strictfp应用于类   

2.2 用于接口

strictfp interface  M {} //在接口上应用的strictfp 

2.3 用于方法

class A{  
     strictfp void m(){}//strictfp应用于方法
}  

3 strictfp关键字错误用法

strictfp关键字不能应用于抽象方法,变量或构造方法。

3.1 不能修饰抽象方法

class B{  
    strictfp abstract void m();//非法组合修饰符 
}  

3.2 不能修饰变量

class B{  
    strictfp int data=10;//此处不允许使用修饰符strictfp   
}  

3.3 不能修饰构造方法

class B{  
    strictfp B(){}//修饰符strictfp在这里不允许  
}  

 

热门文章

优秀文章