课时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 。

相关文章
|
21天前
|
存储 Java
# 【Java全栈学习笔记-U1-day02】变量+数据类型+运算符
本篇笔记主要围绕Java全栈学习的第二天内容展开,涵盖了变量、数据类型、运算符以及Scanner类的应用。首先介绍了变量的概念与命名规范,以及如何定义和使用变量;接着详细讲解了Java中的基本数据类型,包括整型、浮点型、字符型、布尔型等,并通过实例演示了数据类型的运用。随后,深入探讨了各类运算符(赋值、算术、关系、逻辑)及其优先级,帮助理解表达式的构成。最后,介绍了如何利用Scanner类实现用户输入功能,并通过多个综合示例(如计算圆面积、购物打折、变量交换及银行利息计算)巩固所学知识。完成相关作业将进一步加深对这些基础概念的理解与实践能力。
35 12
|
9天前
|
存储 缓存 Java
理解Java引用数据类型:它们都是对象引用
本文深入探讨了Java中引用数据类型的本质及其相关特性。引用变量存储的是对象的内存地址而非对象本身,类似房子的地址而非房子本身。文章通过实例解析了引用赋值、比较(`==`与`equals()`的区别)以及包装类缓存机制等核心概念。此外,还介绍了Java引用类型的家族,包括类、接口、数组和枚举。理解这些内容有助于开发者避免常见错误,提升对Java内存模型的掌握,为高效编程奠定基础。
36 0
|
9天前
|
Java
java中一个接口A,以及一个实现它的类B,一个A类型的引用对象作为一个方法的参数,这个参数的类型可以是B的类型吗?
本文探讨了面向对象编程中接口与实现类的关系,以及里氏替换原则(LSP)的应用。通过示例代码展示了如何利用多态性将实现类的对象传递给接口类型的参数,满足LSP的要求。LSP确保子类能无缝替换父类或接口,不改变程序行为。接口定义了行为规范,实现类遵循此规范,从而保证了多态性和代码的可维护性。总结来说,接口与实现类的关系天然符合LSP,体现了多态性的核心思想。
20 0
|
1月前
|
Java
课时15:Java运算符(基础数学运算符)
课时15介绍了Java中的基础数学运算符,涵盖加、减、乘、除及自增自减运算。强调了运算符的优先级和使用括号的重要性,并通过范例展示了四则运算与自增自减的具体应用。提醒编写代码时应保持简洁,避免复杂的表达式,确保代码易读性和可维护性。
|
1月前
|
Java
课时17:Java运算符(关系运算符)
范例:进行关系判断。如果要进行关系运算的操作可使用:>、<、>=、<=、!=(不等于)、==。所有的关系运算符判断完成的数据返回结果都是布尔类型(boolean)。只要使用关系运算符进行逻辑判断,最终的结果就是布尔型,只有true和false两种结果,而且能和if语句结合使用。
|
1月前
|
Java
课时16:Java运算符(三目运算符)
范例:将两个变量值在大的内容赋值给新变量。三目是一种赋值运算,它指的是根据条件来进行判断。(根据判断的结果来决定赋值内容)对于三目运算的基本使用语法如下: 数据类型 变量 = 布尔表达式 ?条件满足时赋值内容:条件不满足时:赋值内容
|
1月前
|
存储 Java 编译器
课时11:综合实战:简单Java类
本次分享的主题是综合实战:简单 Java 类。主要分为两个部分: 1.简单 Java 类的含义 2.简单 Java 类的开发
|
1月前
|
Java 程序员 数据处理
课时19:Java运算符(位运算符)
课时19介绍Java中的位运算符,涵盖进制转换、位与、位或及移位操作。重点讲解了二进制与其他进制的转换方法,通过具体范例演示了位与和位或运算的过程,并展示了八进制和十六进制的处理方式。此外,还解释了逻辑运算符(&&、||)与位运算符(&、|)的区别及其应用场景,特别是位运算在加密中的应用。
|
1月前
|
Java
课时18:Java运算符(逻辑运算符)
课时18介绍了Java中的逻辑运算符(与、或、非)。通过范例详细讲解了非操作的使用,展示了如何正确应用逻辑非(!)。接着分别探讨了与操作(& 和 &&)及或操作(| 和 ||),强调了短路运算符(&& 和 ||)在性能和安全性上的优势。课程通过具体代码示例演示了不同逻辑运算符的效果及其应用场景。
|
1月前
|
Oracle Java 关系型数据库
课时37:综合实战:数据表与简单Java类映射转换
今天我分享的是数据表与简单 Java 类映射转换,主要分为以下四部分。 1. 映射关系基础 2. 映射步骤方法 3. 项目对象配置 4. 数据获取与调试