java中strictfp关键字,java strictfp关键字用法大全详解

java中strictfp关键字,java strictfp关键字用法大全详解一、strictfp关键字简介strictfp是Java中提供的一个保留关键字,该关键字是从这第javaJDK2版本儿开始出现的一直沿用到现在,只不过很多情况下都不怎么使用,所以容易被大家遗忘,因此今天我们来介绍一下这个关键字的用法和使用详解案例。strictfp实际上是对浮点类型做精确运算的一个关键字,实际意思是FP-strictfp,Java中的浮点类型有float和double两种,当这两…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

一、strictfp关键字简介

strictfp是Java中提供的一个保留关键字,该关键字是从这第java JDK2版本儿开始出现的一直沿用到现在,只不过很多情况下都不怎么使用,所以容易被大家遗忘,因此今天我们来介绍一下这个关键字的用法和使用详解案例。

66c0500c0c3bc94e6f2158922c4671a6.png

strictfp实际上是对浮点类型做精确运算的一个关键字,实际意思是FP-strictfp,Java中的浮点类型有float和double两种,当这两种类型的数字进行运算时Java虚拟机会根据自己的规则进行预算和表达,这种运算方式是虚拟机底部自动完成的,有时候得到的结果不是很满意。

该关键字就是为了能够声明,让浮点类型的数据按照javaEE的规范进行编译和运算,这样就能得到更加准确的浮点运算的正确结果。

二、该关键字的作用详解

strictfp关键词的作用就是规范Java中的浮点类型的计算让计算结果更加精确,因为Java的底层默认计算方式不是很精确,在不同的平台会得到不同的结果,结果就会有所差异,但是默认的这种方式是为了运算速度而言,运算速度会更快。

该关键字可以确保在任何平台中的计算结果都相同都精确精确,只不过是速度会稍微慢一点儿,具体用哪一种情况需要我们根据自己的项目中按需求而定。

对精确率类型较高且跨平台的计算结果要求比较严格的清醒的话,建议使用该strictfp关键词。

三、strictfp的用法与代码案例

该关键字可以修饰在接口、类或者是方法上面,修饰在不同的部位,它的应用作用范围也是不同的,下面我们看一下以上者三种情况的代码案例书写。

修饰接口的代码书写格式:

strictfp   interface  JieKou {xxxx}

修饰java类的代码书写格式:

public  strictfp  class  Demo {xxxxx}

修饰方法的代码书写格式:

strictfp  void  JiSuan () {xxxxxx}

以上就是该关键字对这三种格式的修饰方式,修饰在不同的类和接口上它的作用范围也是不一样的,如果strictfp修饰在类上面,它作用的就是整个类,也就是说该类中所有的计算都要遵循该关键字的精度计算。

如果作用在接口上,那么接口中的所有方法都遵守strictfp的精确计算,如果只是修饰在某个方法上,意思就是只有该方法做精确的计算。

四、使用禁忌与错误代码案例

strictfp关键字使用时也是明确有一些使用禁忌的,因为在Java中对该关键字也是做了一定的使用规范和要求的。

该关键字可以修饰的接口上但是却不能修饰在接口中的一个方法上面这是Java对它做的约束规定,也可以修饰的整个类上面,但是该类中的构造函数却不能用该关键字修饰。

为了让大家对该关键字的了解更加深入一些我们也指出一些该关键字使用的错误代码案例,详见以下代码:

修饰接口中的方法的错误代码案例:

interface Demo {    strictfp void FangFa();   }

修饰构造方法的错误代码案例:

public class  Demo{       strictfp DemoGouZao() {}  }

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/213393.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • js获取当前时间年份_js输入年月日,判断是这年的第几天

    js获取当前时间年份_js输入年月日,判断是这年的第几天vardate=newDate();date.getYear();//获取当前年份(2位)date.getFullYear();//获取完整的年份(4位)date.getMonth();//获取当前月份(0-11,0代表1月)date.getDate();//获取当前日(1-31)date.getDay();//获取当前星期X(0-6,0代表星期天)date.getTime();//获取当前时间(从1970.1.1开始的毫秒数)date.getH

    2025年7月2日
    2
  • pytest parametrize fixture_pytest参数化可变参数

    pytest parametrize fixture_pytest参数化可变参数前言当某个接口中的一个字段,里面规定的范围为1-5,你5个数字都要单独写一条测试用例,就太麻烦了,这个时候可以使用pytest.mark.parametrize装饰器可以实现测试用例参数化。官方示

    2022年7月31日
    9
  • 详解java动态代理机制以及使用场景

    详解java动态代理机制以及使用场景详解java动态代理机制以及使用场景

    2022年4月23日
    72
  • Win10计算器在哪里?三种可以打开Win10计算器的方法图文介绍

    全新的windows10系统带来了不少新的特性和改变,其中win10的计算器位置就发生了很多的变化,导致很多网友们都以为win10计算器不见了,那么,win10计算器在哪里?如何打开?针对此问题,本文

    2021年12月27日
    105
  • Java–反射

    Java–反射反射定义用途(了解)反射基本信息反射相关的类Class类(反射机制的起源)反射的使用反射优点和缺点定义Java的反射(reflection)机制是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意方法和属性,既然能拿到那么,我们就可以修改部分类型信息;这种动态获取信息以及动态调用对象方法的功能称为java语言的反射(reflection)机制。用途(了解)1、在日常的第三方应用开发过程中,经常会遇到某个类的某个成员变量、方法或是属性是私有的或是只对

    2022年7月7日
    23
  • virsh强制关机_db2常用命令

    virsh强制关机_db2常用命令virshlist#在线VMvirshlist–all#所有VMvirshstart#开机virshshutdown#软关机virshdes…

    2022年8月12日
    8

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号