`

java关键字——strictfp

    博客分类:
  • Java
阅读更多

strictfp, 即 strict float point (精确浮点)。
  
strictfp关键字可应用于类、接口、方法。

使用 strictfp 关键字声明一个方法时,该方法中所有的float和double表达式都严格遵守FP-strict的限制,符合IEEE-754规范。当对一个类或接口使用 strictfp 关键字时,该类中的所有代码,包括嵌套类型中的初始设定值和代码,都将严格地进行计算。严格约束意味着所有表达式的结果都必须是 IEEE 754 算法对操作数预期的结果,以单精度和双精度格式表示。
  
如果你想让你的浮点运算更加精确,而且不会因为不同的硬件平台所执行的结果不一致的话,可以用关键字strictfp.

下面的示例演示了一个使用 strictfp 修饰符声明的类。


import org.junit.Test;
public strictfp class StrictFPTest {

	public StrictFPTest() {}
	@Test
	public void test() {
		float aFloat = 0.6710339f;
		double aDouble = 0.04150553411984792d;
		double sum = aFloat + aDouble;
		float quotient = (float)(aFloat / aDouble);
		System.out.println("float: " + aFloat);
		System.out.println("double: " + aDouble);
		System.out.println("sum: " + sum);
		System.out.println("quotient: " + quotient);
	}
}

下面的示例演示了一个使用 strictfp 修饰符声明的方法。
public class StrictFPTest2 {

	public float aFloat;
	public double aDouble;

	public StrictFPTest2() {
	}

	public strictfp double add(float a, double b) {
		return (a + b);
	}

	public static void main(String[] args) {
		StrictFPTest2 myClass2 = new StrictFPTest2();
		myClass2.aFloat = 0.6710339f;
		myClass2.aDouble = 0.04150553411984792d;
		double sum = myClass2.add(myClass2.aFloat, myClass2.aDouble);
		System.out.println("float: " + myClass2.aFloat);
		System.out.println("double: " + myClass2.aDouble);
		System.out.println("sum: " + sum);
	}
}
分享到:
评论

相关推荐

    java关键字、保留字

    ### Java关键字详解 #### 概述 Java是一种广泛使用的面向对象编程语言,它拥有丰富的关键字集,用于控制程序的行为和结构。Java关键字是由Java语言预定义的标识符,具有特殊的含义,不能用作变量名、方法名或类名等...

    Java关键字

    Java关键字是编程的基础,它们是Java语言预定义的标识符,具有特殊含义并被Java编译器识别。在Java中,一共有51个关键字(包括保留字),但描述中提到的是48个,可能是因为某些关键字在特定上下文不常用或者被归类到...

    java关键字

    ### Java关键字详解 #### 前言 Java作为一种广泛使用的编程语言,在软件开发领域占据了重要的地位。Java的关键字,即保留字,是Java语言中具有特殊意义的标识符,它们预定义并保留用于语言本身的语法结构。理解这些...

    java 关键字查询文档

    Java 共有 50 多个关键字,它们包括但不限于 `abstract`、`assert`、`boolean`、`break`、`byte`、`case`、`catch`、`char`、`class`、`const`(虽然未使用)、`continue`、`default`、`do`、`double`、`else`、`...

    java关键字,适合新手的ppt

    对于新手来说,理解Java的关键字是非常重要的一步,因为它们构成了语言的基础并指导了代码的结构和行为。 Java的关键字是被语言本身保留的词汇,它们有特定的含义和功能。例如,`byte`, `short`, `int`, `long`, `...

    JAVA关键字

    Java关键字是编程的基础,它们是Java语言预定义的、具有特殊含义的标识符,不能作为变量名、方法名或类名。以下是对50个Java关键字的详细解释: 1. **abstract**:用于声明抽象类或抽象方法,不包含具体实现。 2. ...

    java关键字和java命名规范.pdf

    Java关键字和命名规范是Java编程语言中的基础概念,它们对于编写清晰、规范的代码至关重要。Java关键字是Java语言内置的、具有特殊用途的保留字,而命名规范则是关于如何给类、方法、变量等命名的约定。 ### Java...

    java关键字总结

    以上是Java中的主要关键字总结,每个关键字都在不同的场景下发挥着重要作用,理解并熟练掌握这些关键字对于编写高效、可靠的Java代码至关重要。对于更深入的学习,可以参考指定的博文链接或其他相关资料进行研究。

    Java关键字的用法

    ### Java关键字的用法 Java作为一种广泛使用的编程语言,拥有丰富的关键字来支持其核心功能与特性。本文将详细介绍部分重要的Java关键字及其用法。 #### 1. `abstract` `abstract`关键字用于定义抽象类或抽象方法...

    java关键字.pdf

    Java关键字是Java语言中预先定义的、具有特殊意义的单词,它们在Java程序中有着特殊的用途,比如用来声明数据类型、定义流程控制语句等。根据提供的部分内容,可以将Java的关键字分类并阐述它们的作用。 1. 访问...

    java关键字.docx

    Java 关键字是编程语言的基础元素,它们在 Java 语法中具有特定的含义和作用,帮助程序员构建程序的结构和逻辑。以下是对标题和描述中提及的一些 Java 关键字的详细解释: 1. `import`:这个关键字用于引入外部类库...

    JAVA关键字,很详细的总结。

    ### JAVA关键字,很详细的总结。 在Java编程语言中,关键字是具有特定意义的预定义标识符,它们在语言结构和语法中扮演着关键角色。以下是对Java关键字的详细解析,旨在帮助开发者深入理解并有效利用这些核心概念。...

    Java 关键字.docx

    在Java中,关键字是被语言本身所保留的标识符,它们有着特殊的含义,用于构建程序的不同方面。以下是对Java关键字的详细解释: 1. **访问控制**: - `private`:私有访问修饰符,表示该成员只能在定义它的同一个类...

    java关键字............

    ### Java关键字详解 #### 概述 Java是一种广泛使用的面向对象编程语言,它以其平台无关性、健壮性和安全性而闻名。Java中的关键字是预定义的保留字,具有特殊的意义和用途,不能用作标识符(如变量名、类名等)。在...

    最完整的java关键字解释.doc

    ### 最完整的Java关键字解释 #### 1. Abstract - **定义**:`abstract`关键字用于修饰类或方法,表示该类或方法具有抽象属性。 - **用途**: - `abstract`类可以被继承,但是不能被实例化。 - `abstract`方法不...

    (完整版)最完整的java关键字解释.doc

    Java 关键字是Java编程语言中的预定义词汇,它们具有特殊含义,用于构建程序的不同方面。以下是Java关键字的详细解释: 1. `abstract`:这个关键字用于声明抽象类或抽象方法。抽象类不能直接实例化,它必须由至少一...

Global site tag (gtag.js) - Google Analytics