Java-API简析_java.lang.Float类(基于 Latest JDK)(浅析源码)

2023-11-01

【版权声明】未经博主同意,谢绝转载!(请尊重原创,博主保留追究权)
https://blog.csdn.net/m0_69908381/article/details/131129886
出自【进步*于辰的博客

因为我发现目前,我对Java-API的学习意识比较薄弱,需要慢慢习惯使用Java-API,乃至剖析源码来提升自己的源码阅读能力和编码素质。
大家如果需要Java-API文档,我上传了【https://download.csdn.net/download/m0_69908381/87691693】。

文章目录

1、概述

继承关系:

  • java.lang.Object
    • java.lang.Number
      • java.lang.Float

所有已实现的接口:
SerializableComparable<Float>


public final class Float extends Number implements Comparable<Float>

Float 类在对象中包装了一个 float 基本类型的值。Float 类型的对象包含一个 float 类型的字段。

此外,此类提供了几种方法,可在 float 类型和 String 类型之间互相转换,并且还提供了处理 float 类型时非常有用的其他一些常量和方法。

从以下版本开始:
JDK1.0
另请参见:
序列化表格

2、字段摘要

2.1 static float MAX_VALUE

保持 float 类型的最大正有限大值的常量,最大正有限大值为 (2 - 2-23) * 2127
说明:
先看源码。
在这里插入图片描述
其计算方法暂未可知。

2.2 static float MIN_VALUE

保持 float 类型数据的最小正非零值的常量,最小正非零值为 2-149
说明:
先看源码。
在这里插入图片描述
其计算方法暂未可知。

2.3 static float NaN

保持 float 类型的非数字 (NaN) 值的常量。
说明:
先看源码。
在这里插入图片描述
尚不理解。

2.4 static float NEGATIVE_INFINITY

保持 float 类型的负无穷大值的常量。
说明:
先看源码。
在这里插入图片描述
尚不理解。

2.5 static float POSITIVE_INFINITY

保持 float 类型的正无穷大的常量。
说明:
先看源码。
在这里插入图片描述
尚不理解。

2.6 static int SIZE

表示一个 float 值所使用的位
说明:
先看源码。
在这里插入图片描述
可见,float占 4 个字节。

2.7 static Class<Float> TYPE

表示 float 基本类型的 Class 实例。
说明:
先看源码。
在这里插入图片描述
关于getPrimitiveClass(),见Class<T>的第3.1项。即返回float.class

3、构造方法摘要

3.1 double value

构造一个新分配的 Float 对象,它表示转换为 float 类型的参数。

3.2 float value

构造一个新分配的 Float 对象,它表示基本的 float 参数。

3.3 String s

构造一个新分配的 Float 对象,它表示用字符串表示的 float 类型的浮点值。
说明:
先看源码。
在这里插入图片描述
调用parseFloat()String 转为 float。关于此方法,后续补充。

4、方法摘要

4.1 byte byteValue()

返回这个 Float 值对应的 byte 值(它被强制转换为一个 byte)。
说明:
看源码。
在这里插入图片描述

4.2 static int compare(float f1, float f2)

比较两个指定的 float 值。
说明:
看源码。
在这里插入图片描述

4.3 int compareTo(Float anotherFloat)

从数字上比较两个 Float 对象。
说明:
先看源码。
在这里插入图片描述
底层调用上1项。

4.4 double doubleValue()

返回这个 Float 对象的 double 值。
说明:
看源码。
在这里插入图片描述

4.5 boolean equals(Object obj)

将这个对象与指定的对象进行比较。

4.6 static int floatToIntBits(float value)

根据 IEEE 754 的浮点“单一形式”中的位布局,返回指定浮点值的表示形式。
说明:
由第9项可知,此方法返回的是value对应的hashcode

4.7 static int floatToRawIntBits(float value)

根据 IEEE 754 的浮点“单一形式”中的位布局,返回指定浮点值的表示形式,并保留非数字 (NaN) 值。
示例:

int hash = Float.floatToIntBits(2023.5f);
int xx = Float.floatToRawIntBits(2023.5f);
sout hash;// 打印:1157427200
sout xx;// 打印:1157427200

可见,2次打印的结果一致。可认为,在一般情况下,此方法与上1项的作用相同。

4.8 float floatValue()

返回这个 Float 对象的 float 值。
说明:
看源码。
在这里插入图片描述

4.9 int hashCode()

返回这个 Float 对象的哈希码。
说明:
先看源码。
在这里插入图片描述
关于hashCode(),见第24项。

4.10 static float intBitsToFloat(int bits)

返回对应于给定的位表示形式的 float 值。
说明:
先看源码。
在这里插入图片描述
注释太长,暂不研究。
示例:

int hash = Float.floatToIntBits(2023.5f);
sout Float.intBitsToFloat(hash);// 打印:2023.5

由第6项可知,floatToIntBits()返回的是hashcode。因此,此方法返回的是bits对应的 float 值。

4.11 int intValue()

返回这个 Float 值对应的 int 值(它被强制转换为一个 int)。
说明:
看源码。
在这里插入图片描述

4.12 boolean isInfinite()

如果这个 Float 值的大小是无穷大,则返回 true,否则返回 false。
说明:
先看源码。
在这里插入图片描述
底层调用下1项。

4.13 static boolean isInfinite(float v)

如果指定数字的大小是无穷大,则返回 true,否则返回 false。
说明:
先看源码。
在这里插入图片描述
暂不明白。

4.14 boolean isNaN()

如果这个 Float 值是一个非数字 (NaN) 值,则返回 true,否则返回 false。
说明:
先看源码。
在这里插入图片描述
底层调用下1项。

4.15 static boolean isNaN(float v)

如果指定的数字是一个非数字 (NaN) 值,则返回 true,否则返回 false。
说明:
先看源码。
在这里插入图片描述
暂不理解。

4.16 long longValue()

返回这个 Float 值对应的 long 值(它被强制转换为一个 long)。
说明:
看源码。
在这里插入图片描述

4.17 static float parseFloat(String s)

返回一个新的 float 值,该值被初始化为用指定 String 表示的值,这与 Float 类的 valueOf() 方法产生的值类似。
说明:
关于valueOf(),见第23项。

4.18 short shortValue()

返回这个 Float 值对应的 short 值(它被强制转换为一个 short 值)。
说明:
看源码。
在这里插入图片描述

4.19 static String toHexString(float f)

返回 float 参数的十六进制字符串表示形式。(暂未可知)

4.20 String toString()

返回这个 Float 对象的字符串表示形式。
说明:
先看源码。
在这里插入图片描述
底层调用下1项。

4.21 static String toString(float f)

返回 float 参数的字符串表示形式。
说明:
先看源码。
在这里插入图片描述
关于FloatingDecimal类,后续补充。

4.22 static float valueOf(float f)

返回表示指定的 float 值的 Float 实例。
说明:
看源码。
在这里插入图片描述

4.23 static float valueOf(String s)

返回保持用参数字符串 s 表示的 float 值的 Float 对象。
说明:
先看源码。
在这里插入图片描述
可见,此项与上1项的底层都是构造一个Float

4.24 static int hashCode(float value)

先看源码。
在这里插入图片描述
可见,底层调用了第6项。


本文暂缓更新。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Java-API简析_java.lang.Float类(基于 Latest JDK)(浅析源码) 的相关文章

  • MongoDB——JavaAPI详解

    环境配置 引入MongoDB驱动 xff1a span class token tag span class token tag span class token punctuation lt span dependency span sp
  • float a=1.0f 这里的1.0f中的 f 代表什么?有什么意思?

    最近看正点原子飞控源码会发现 xff0c 经常出现这种0 f xff0c 我以前玩单片机似乎没碰到过
  • 为何float有效位数为7位?

    为何float有效位数为7位 xff1f 首先我们应该明确一点 xff1a C语言中 xff0c xff05 f表示保留7位有效数字7位有效数字 xff1a 是指 整数部分 和小数部分一共7位 单精度数的尾数用23位存储 xff0c 加上默
  • float的表示

    xfeff xfeff 先说一下计算机中二进制的算法 xff1a 整数 整数的二进制算法大家应该很熟悉 xff0c 就是不断的除以2取余数 xff0c 然后将余数倒序排列 比如求9的二进制 xff1a 9 2 61 4 余 1 4 2 61
  • C++编译警告:warning C4305: 'initializing' : truncation from 'const double' to 'float'

    float a 4 14E 3 float a 3 1 类似的语句在编译的时候 会产生如下警告 warning C4305 initializing truncation from const double to float 虽然说不会导致
  • 编码-小数

    C语言中对于小数 采用float 单精度浮点型 和double 双精度浮点型 来存储 Float 不管是float还是double 在存储中都分为三部分 第一位s代表符号位 1代表负数 0代表正数 第二个域是指数域e 对于单精度float类
  • 实践DIV+CSS网页布局入门指南

    实践DIV CSS网页布局入门指南 你正在学习CSS布局吗 是不是还不能完全掌握纯CSS布局 通常有两种情况阻碍你的学习 第一种可能是你还没有理解CSS处理页面的原理 在你考虑你的页面整体表现效果前 你应当先考虑内容的语义和结构 然后再针对
  • JAVA关键字详解

    JAVA关键字详解 1 final数据 1 gt 对于基本类型前加以final修饰 表示被修饰的变量为常数 不可以修改 一个既是static有是final的字段表示只占据一段不能改变的存储空间 2 gt final用于对象应用时 final
  • gauss 函数

    高斯滤波 高斯平滑 是图像处理 计算机视觉里面最常见的操作 平时 我们都是用matlab或者opencv的函数调用 imfilter或者cvSmooth 并不关心底层的实现 然而当开发者要实做高斯滤波的时候 往往就会很迷惘 往往会被以下几个
  • 重写、覆盖、重载、隐藏、多态几个概念的区别分析

    override gt 重写 覆盖 overload gt 重载 polymorphism gt 多态 override是重写 覆盖 了一个方法 以实现不同的功能 一般是用于子类在继承父类时 重写 重新实现 父类中的方法 成员函数的重载 o
  • 【C ++ 】C++中的double和float区别

    文章目录 一 概述 二 精度的理解 三 存储空间 四 范围 五 运算精度 一 概述 在C 中 double和float是用于表示浮点数的两种数据类型 它们具有以下的详细介绍和区别 精度 double类型的变量具有更高的精度 即它可以表示更多
  • 文字模糊效果(Opencv实现)

    效果图 实现过程 该方法以photoshop中的图层为基本思想 对文字的处理 实际上是将图片作为一幅图像来处理的 而背景是一幅图像 即另一个图层 1 读取文字图片 将图片进行高斯模糊 因高斯模糊是一个卷积的过程 所以可以设定卷积因子的大小
  • 用java实现打印功能

    用java实现打印 java awt中提供了一些打印的API 要实现打印 首先要获得打印对象 然后继承Printable实现接口方法print 以便打印机进行打印 最后用用Graphics2D直接输出直接输出 下面代码实现了简单的打印功能
  • 浮点数在计算机中存储方式

    C语言和C 语言中 对于浮点类型的数据采用单精度类型 float 和双精度类型 double 来存储 float数据占用32bit double数据占用64bit 我们在声明一个变量float f 2 25f的时候 是如何分配内存的呢 如果
  • QNX下获取系统信息的方法(cpu,内存,进程等等)

    有不少朋友问在qnx下如何获取内存及cpu占有率等等 想到两年前自己做过一个类似windows里的任务管理器的东东 里面有一部分就是获取内存 cpu 磁盘及进程信息的GUI程序 记得也美其名曰xxxTaskMan 把里面的关键代码写下来供兄
  • c语言输入输出函数printf与scanf的用法格式

    c语言输入输出函数printf与scanf的用法格式 格式化规则例如 5 4f等类似问题的说明 Turbo C2 0 标准库提供了两个控制台格式化输入 输出函数printf 和scanf 这两个函数可以在标准输入输出设备上以各种不同的格式读
  • NetCDF文件概要与读写

    NetCDF简介 NetCDF network Common Data Format 即网络通用数据格式 最早是由美国国家科学委员会资助之计划 Unidata 所发展 其用意是在Unidata计划中不同的应用项目下 提供一种可以通用的数据存
  • 图像的二值化分割,otsu类间方差法

    二值化图像指图像中的每个像素只取两个离散的值之一 用数学公式表示为 公式中 f x y 表示一幅数字图像 X Y表示该图像中某像素的坐标值 T为 二值化的阈值 表示经过阈值运算后的二值化图像 这里0和1仅仅是一个抽象表示 并非实际像素值 它
  • 在GPU上实现光线跟踪

    include cuda h include book h include cpu bitmap h define DIM 1024 生成图像的大小 DIM DIM define SPHERES 20 生成的图像中球体的个数 define
  • Objective-C语法之代码块(block)的使用

    代码块本质上是和其他变量类似 不同的是 代码块存储的数据是一个函数体 使用代码块是 你可以像调用其他标准函数一样 传入参数数 并得到返回值 脱字符 是块的语法标记 按照我们熟悉的参数语法规约所定义的返回值以及块的主体 也就是可以执行的代码

随机推荐

  • Day83-面试前,先自己模拟下这 10 个问题

    不管是应届生还是社招生 相信你都经历过面试的摧残 面对咄咄逼人的面试官 面对随处可见的问题陷阱 我们应该如何面对 看完这边文章 相信你一定会有收获 Q1 请你先自我介绍下 回答技巧 回答尽量简短 控制在1 2分钟内 先简单的介绍一下自己 说
  • OAuth使用教程(一):初识OAuth

    一 OAuth介绍 OAuth 开放授权 是一个开放标准 允许用户授权第三方移动应用访问他们存储在另外的服务提供者上的信息 而不需要将用户名和密码提供给第三方移动应用或分享他们数据的所有内容 OAuth允许用户提供一个令牌给第三方网站 一个
  • mmdetection3d 源码学习 mvxnet(多模态融合)

    mmdetection3d 源码学习 mvxnet 多模态融合 配置文件 dv mvx fpn second secfpn adamw 2x8 80e kitti 3d 3class py 模型 model settings voxel s
  • 餐饮便利店服装店线下零售场景都有刷脸支付需求

    此前 支付宝已经开始打通江浙沪数个城市之间的二维码乘车 前几天也在北欧促成了两大移动支付APP的互通 如今刷脸支付还未普及 但是刷脸支付的前景可谓一片大好 未来包括超市 便利店 药房 服装店等等的众多线下零售场景都会有刷脸支付的需求 常见蜻
  • MySQL之Innodb锁机制:Next-Key Lock 浅谈

    阅读 InnoDB存储引擎 第六章涉及锁的三种算法 整理结合转载文档 https www cnblogs com zhoujinyi p 3435982 html 数据库使用锁是为了支持更好的并发 提供数据的完整性和一致性 InnoDB是一
  • 6个步骤,告诉你如何用树莓派和机器学习DIY一个车牌识别器!(附详细分析)...

    作者 Robert Lucian Chiriac 翻译 天道酬勤 编辑 Carol 出品 AI科技大本营 ID rgznai100 几个月前 作者开始考虑让汽车能够具备检测和识别物体的能力 他很喜欢这个主意 因为已经见识到了特斯拉的能力 并
  • (渗透学习)理解java反序列化漏洞原理---层序渐进

    没真正学过java 对很多概念理解的不清晰 所以下面所有都是参考资料结合我自己的理解 可能存在错误 1 为什么要序列化 因为只有字节数据才能进行存储和传输 所以为了使对象 如class类 能够存储 传输 就需要将对象转成字节的形式 存储 把
  • tomcat显示启动成功,访问不了

    问题阐述 解压tomcat成功之后 发现访问不了 问题分析 1 开通了防火墙 但是没有放开8080端口号 查看防火墙状态 firewall cmd state 显示running表示防火墙是开启状态 执行放开8080端口的命令 firewa
  • 三个月后,快手To B怎么样了?

    未来 如何独立作战和走出快手的TOC 客户资源圈 或将成为快手TOB新的十字路口 作者 斗斗 编辑 皮爷 出品 产业家 人口红利终结 流量红利终结 超常规的高速增长终结 TOC模式的路越来越难走了 快手与抖音作为短视频行业 的两大巨头 主要
  • Linux下的TCP通信

    Linux下的TCP通信 今天我们介绍如何编写Linux下的TCP程序 关于UDP程序可以参考这里 http blog csdn net htttw article details 7519971 本文绝大部分是参考 Linux程序设计 第
  • Java算法给定一个整数数组,找出其中两个数相加等于目标值

    给定一个整数数组 找出其中两个数相加等于目标值 例如 给定数组及目标值 nums 2 7 11 15 target 9 因为nums 0 nums 1 2 7 9 返回 0 1 使用辅助空间 使用哈希表 时间复杂度是O n 空间复杂度 O
  • 半监督目标检测yolo+FixMatch

    目前实验发票印章检测 只需1张训练集即可达到0 921 mAP 5 如果用31张训练集可达到0 952 mAP 5 无标签数据均使用600张 待填坑 敬请期待
  • tkinter窗口切换

    方法1 按钮 Frame 步骤 1 1创建主桌面 import tkinter as tk root tk Tk 1 2 创建不同的Frame 相当于不同的桌布 分别用来创建不同的窗口 face1 tk Frame root face2 t
  • Java面试官最爱问的volatile关键字

    在Java的面试当中 面试官最爱问的就是volatile关键字相关的问题 经过多次面试之后 你是否思考过 为什么他们那么爱问volatile关键字相关的问题 而对于你 如果作为面试官 是否也会考虑采用volatile关键字作为切入点呢 为什
  • 如何建立chrony服务器

    Chrony由两个程序组成 分别是chronyd和chronyc chronyd是一个后台运行的守护进程 用于调整内核中运行的系统时钟和时钟服务器同步 它确定计算机增减时间的比率 并对此进行补偿 chronyc提供了一个用户界面 用于监控性
  • 生成 Linux 运行时间报告的 Bash 脚本

    出于一些原因 你可能需要每月收集一次 Linux 系统运行时间报告 Magesh Maruthamuthu 出于一些原因 你可能需要每月收集一次 Linux 系统运行时间报告 如果是这样 你可以根据需要使用以下 bash 脚本 之一 我们为
  • Effect Hook

    1 数据获取 设置订阅以及手动更改 React 组件中的 DOM 都属于副作用 2 可以把 useEffect Hook 看做 componentDidMount componentDidUpdate 和 componentWillUnmo
  • 关于 Windows 10 下安装 Linux 过程及报 'WSL...' 错误的解决办法

    今天下午在群里看到有朋友发有关 Windows 10 下按安装 Linux 系统 的消息 小白我很是激动啊 Linux 贴近工作 Windows 贴近生活 割舍不下 虽然可以在Windows下安装虚拟机 但是真的很占空间 0 0 而这个消息
  • 逻辑回归、激活函数sigmoid、损失及优化、案例代码实现

    一 逻辑回归 逻辑回归 Logistic Regression 是机器学习中的一种分类模型 是一种分类算法 与回归之间有一定的联系 由于算法的简单和高效 在实际中应用非常广泛 应用场景 广告点击率 是否为垃圾邮件 是否患病 金融诈骗 虚假账
  • Java-API简析_java.lang.Float类(基于 Latest JDK)(浅析源码)

    版权声明 未经博主同意 谢绝转载 请尊重原创 博主保留追究权 https blog csdn net m0 69908381 article details 131129886 出自 进步 于辰的博客 因为我发现目前 我对Java API的