Java语言中关键字strictfp的用途
自Java2以来,Java语言增加了一个关键字strictfp,虽然这个关键字在大多数场合比较少用,但是还是有必要了解一下。
strictfp的意思是FP-strict,也就是说精确浮点的意思。在Java虚拟机进行浮点运算时,如果没有指定strictfp关键字时,Java的编译器以及运行环境在对浮点运算的表达式是采取一种近似于我行我素的行为来完成这些操作,以致于得到的结果往往无法令你满意。而一旦使用了strictfp来声明一个类、接口或者方法时,那么所声明的范围内Java的编译器以及运行环境会完全依照浮点规范IEEE-754来执行。因此如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,那就请用关键字strictfp。
你可以将一个类、接口以及方法声明为strictfp,但是不允许对接口中的方法以及构造函数声明strictfp关键字,例如下面的代码:
1. 合法的使用关键字strictfp
strictfp interface A {}
public strictfp class FpDemo1 {
strictfp void f() {}
}
2. 错误的使用方法
interface A {
strictfp void f();
}
public class FpDemo2 {
strictfp FpDemo2() {}
}
一旦使用了关键字strictfp来声明某个类、接口或者方法时,那么在这个关键字所声明的范围内所有浮点运算都是精确的,符合IEEE-754规范的。例如一个类被声明为strictfp,那么该类中所有的方法都是strictfp的。
分享到:
相关推荐
39. **strictfp** - **用途**:用于确保浮点数计算的一致性。 40. **super** - **用途**:引用父类的对象或方法。 41. **switch** - **用途**:用于基于不同情况执行不同代码块。 42. **synchronized** - ...
- **用途**:无实际用途。 #### 10. Continue - **定义**:`continue`关键字用于跳过当前循环迭代中的剩余部分,并立即开始下一次迭代。 - **用途**: - 在循环体内使用`continue`可以跳过本次循环的后续代码,...
Java中的关键字是预定义的保留字,具有特殊的意义和用途,不能用作标识符(如变量名、类名等)。在给定的部分内容中列出了众多Java关键字,接下来我们将逐一进行详细介绍。 #### 关键字列表 - `abstract` - `...
Java关键字是Java语言中预先定义的、具有特殊意义的单词,它们在Java程序中有着特殊的用途,比如用来声明数据类型、定义流程控制语句等。根据提供的部分内容,可以将Java的关键字分类并阐述它们的作用。 1. 访问...
按照用途可以划分为:数据类型、语句(分支和循环)、修饰、方法、对象、异常、包。 Java 基础数据类型可以分为八种:byte、short、int、long、float、double、char、boolean。其中: * byte 是一个 8 位整数类型...
* 方法、变量和类修饰符:private、public、protected、final、static、abstract、synchronized、volatile、strictfp * 异常处理:try、catch、finally、throw、throws * 对象相关关键字:new、extends、implements...
在Java编程语言中,关键字是一组预定义的词汇,它们具有特殊的含义和用途。理解和掌握这些关键字对于编写有效的Java程序至关重要。本文将详细介绍Java中的一些核心关键字,并提供相应的解释和示例。 #### 关键字...
- 修饰方法、类、属性和变量关键字:如`static`、`final`、`native`、`synchronized`、`transient`、`volatile`、`strictfp`,用于提供额外的信息来修饰类、方法和变量。 - 异常处理关键字:如`try`、`catch`、`...
Java的关键字包括但不限于`abstract`、`assert`、`boolean`、`break`、`byte`、`case`、`catch`等,这些词在编程中都有特定的用途,不能作为自定义名称使用。 总的来说,了解Java的基本语法和数据类型是学习Java...
Java的关键字包括enum、strictfp、goto等,这些词在Java语法中有特殊含义,不能作为标识符使用。 接下来,我们讨论Java的数据类型。Java数据类型分为两大类:基本数据类型和复合数据类型。基本数据类型包括布尔型...
- **`strictfp`**:用于指定浮点计算的严格一致性,主要用于浮点运算的精确控制。 - **`volatile`**:用于修饰变量,确保该变量对所有线程可见,并且每次读取都是最新的值。 - **`sizeof`**:在Java中没有`sizeof`...
本文将详细介绍Java中常见的修饰符及其用途。 1. **类的修饰符** - **public**: 公共访问控制符,允许任何地方的任何类访问。Java程序的主类必须是public,以便作为程序的入口点。 - **abstract**: 抽象类修饰符...
这些关键字都有特定的用途,例如`public`用于声明公共访问权限,`class`用于定义类,`if`用于条件判断,`for`用于循环等。 了解了关键字之后,我们转向转义字符。在Java中,转义字符以反斜杠(\)开头,用来表示...
39. `strictfp` - 保证浮点运算的精确性,遵循IEEE 754标准。 40. `super` - 引用当前对象的父类实例。 41. `switch` - 分支控制语句,根据表达式的值选择执行不同的代码块。 42. `synchronized` - 用于线程同步,...
修饰符在Java中用于控制访问权限和定义特性,如`abstract`用于抽象类,`final`表示不可变,`private`、`protected`、`public`分别代表不同的访问级别,`static`定义静态成员,`synchronized`用于同步,`strictfp`...
Java关键字是Java语言内置的、具有特殊用途的保留字,而命名规范则是关于如何给类、方法、变量等命名的约定。 ### Java关键字 Java关键字(也称为保留字)是指在Java语言中具有特殊含义的词,它们不能用作变量名、...
这些关键字不能随意使用,它们在程序中有特定的用途,如控制流程、声明变量或类等。 保留字则是Java预留但目前未使用的关键词,例如`byValue`, `const`, `future`, `generic`, `goto`, `inner`, `outer`, `operator...
这只是Java关键字的一部分,还有许多其他关键字,如 `float`, `for`, `if`, `import`, `instanceof`, `new`, `package`, `return`, `static`, `strictfp`, `super`, `this`, `throw`, `throws`, `transient`, `try`,...
- **定义**:关键字是Java语言中具有特定用途或被赋予特定意义的单词,不能用作标识符。 - **列表**:以下是Java的50个关键字: - abstract, assert, boolean, break, byte, case, catch, char, class, continue ...