课时11:Java数据类型划分(浮点类型)

简介: 课时11介绍了Java中的浮点数据类型。主要内容包括:1. 定义小数,默认使用Double类型;2. 定义Float变量,需在数值后加"F"或"f"进行强制转换;3. 观察不同类型计算结果,如Int型除法会丢失精度,需至少包含一个Double或Float类型以确保准确性。总结指出,在复杂计算中推荐使用Double类型以避免精度损失。

课时11:Java数据类型划分(浮点类型)

摘要:

1. 范例:定义小数

2.范例:定义 Float 变量

3.范例:观察如下计算结果

 

如果要想描述小数的数据,默认的数据类型使用的是 Double 。

 

01.范例:定义小数

 

输入 Double  num=10.2,这是一个小数。所有的小数类型默认是 Double 。再输入System.out.println(num * 2),num是 Double 类型, Double 类型*int型常量= Double 类型。范围小的类型需要变为范围大的类型。如果是num*2.0,由int变为 Double 型。输入System.out.println(( Double ) 2);

image.png

进行编译再执行,输入Javac TestDemo.Java,输入Java TestDemo,结果如图。

image.png

同时最需要注意的是, Double 可以保存的数字是最大的,也就是说 Double 可以保存全宇宙中最大的有意义数字。(在一些复杂计算过程中使用 Double 都可以解决。)

除了 Double 之外也可以使用 Float 来描述小数,但是需要记住 Float 范围要小于 Double ,所以如果要想直接声明 Float 变量,就要求在定义时进行强制转换,在数字后加一个字母“F”、“f”。

 

02.范例:定义 Float 变量

 

如果输入 Float  f1 = 1.1,结果会报错,显示不兼容类型,默认常量为 Double 。

image.png

Double 变为 Float 是由高的常量类型转换为低的常量类型,就会产生丢失精度,所以添加F或 Float ,输入 Float  f1 = 1.1F。再输入System.out.println(f1 * 2)Float 变量*int常量 =  Float 类型

image.png

进行执行编译,结果为2.2。

image.png

再输入System.out.println(1.1 * 1.1)

image.png

再进行编译执行。

image.png

结果有bug,这是一个传统bug。理论上后续的数据不需出现,所以需要进行四舍五入。

小数问题就必须考虑整型的计算问题。

 

03.范例:观察如下计算结果

 

int numA = 10;
int numB= 4 ;
System.out.println(numA  / numB)

image.png

Int型÷int型=int型。进行编译执行,结果精度产生问题,应该是2.5。

image.png

如果要想准确的进行计算,必须保证有一个类型至少是 Double 型或 Float 型。

修改代码添加 Double 或 Float 。

image.png

进行编译执行。

image.png

以后进行除法计算时一定要注意好类型。上述如果输入的数是10和3,编译执行的结果也有极限。

image.png

Java不是直接与底层的硬件进行交互,是封装好一部分,一些数据会进行回避。以上就是浮点型,使用浮点型就使用 Double 。

相关文章
|
4月前
|
存储 Java Go
【Java】(3)8种基本数据类型的分析、数据类型转换规则、转义字符的列举
牢记类型转换规则在脑海中将编译和运行两个阶段分开,这是两个不同的阶段,不要弄混!
276 2
|
4月前
|
Java Go 开发工具
【Java】(2)Java数据类型阐述、基本数据类型的占用和范围、二进制的讲述
数据的一种表示形式。十进制表示满十进一原则。二进制表示满二进一原则。例如:十进制例如:二进制计算机在任何情况下都只能识别二进制。
204 1
|
4月前
|
存储 算法 安全
Java集合框架:理解类型多样性与限制
总之,在 Java 题材中正确地应对多样化与约束条件要求开发人员深入理解面向对象原则、范式编程思想以及JVM工作机理等核心知识点。通过精心设计与周密规划能够有效地利用 Java 高级特征打造出既健壮又灵活易维护系统软件产品。
155 7
|
5月前
|
Java 开发者
Java 函数式编程全解析:静态方法引用、实例方法引用、特定类型方法引用与构造器引用实战教程
本文介绍Java 8函数式编程中的四种方法引用:静态、实例、特定类型及构造器引用,通过简洁示例演示其用法,帮助开发者提升代码可读性与简洁性。
|
5月前
|
安全 Java
使用Java多态性进行数据类型转换
以上示范了如何通过多态性来执行安全有效地对于Java对象间相互之间进行正确方式与场合下正确格式与条件限定内对于各个层级关系内部成员及其功能调取与应有操作处理过程,并通过 `instanceof`关键字确保了程序运行期间遵循逻辑合理并符合预设规则条件限定内正常工作流程而无需担忧潜藏风险问题出现可能带来影响结果质量问题情况存在可能。
193 12
|
6月前
|
安全 算法 Java
Java泛型编程:类型安全与擦除机制
Java泛型详解:从基础语法到类型擦除机制,深入解析通配符与PECS原则,探讨运行时类型获取技巧及最佳实践,助你掌握泛型精髓,写出更安全、灵活的代码。
|
6月前
|
存储 缓存 算法
Java数据类型与运算符深度解析
本文深入解析Java中容易混淆的基础知识,包括八大基本数据类型(如int、Integer)、自动装箱与拆箱机制,以及运算符(如&与&&)的使用区别。通过代码示例剖析内存布局、取值范围及常见陷阱,帮助开发者写出更高效、健壮的代码,并附有面试高频问题解析,夯实基础。
|
Java 开发者
Java 数据类型划分(浮点类型)|学习笔记
快速学习 Java 数据类型划分(浮点类型)
176 0
|
4月前
|
JSON 网络协议 安全
【Java】(10)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
260 1
|
4月前
|
JSON 网络协议 安全
【Java基础】(1)进程与线程的关系、Tread类;讲解基本线程安全、网络编程内容;JSON序列化与反序列化
几乎所有的操作系统都支持进程的概念,进程是处于运行过程中的程序,并且具有一定的独立功能,进程是系统进行资源分配和调度的一个独立单位一般而言,进程包含如下三个特征。独立性动态性并发性。
269 1