第一百三十八节 Java数据类型教程 - Java boolean数据类型和float数据类型

Java数据类型教程 - Java boolean数据类型

布尔数据类型只有两个有效值:true和false。

这两个值称为布尔值字面量。

我们可以使用布尔值字面量

复制代码
boolean done;   // Declares a boolean variable named done 
done  = true; // Assigns true to done

布尔变量不能转换为任何其他数据类型,反之亦然。

boolean 是所有关系运算符返回的类型,如<b。

boolean 是控制控制语句的条件表达式所需的类型,例如if和for。

例子

这里是一个程序,演示布尔类型:

复制代码
public class Main {
  public static void main(String args[]) {
    boolean b;

    b = false;
    System.out.println("b is " + b);
    b = true;
    System.out.println("b is " + b);

    b = false;
    if (b)
      System.out.println("This is not executed.");

    // outcome of a relational operator is a boolean value
    System.out.println("10 > 9 is " + (10 > 9));
  }
}

上面的代码生成以下结果。

Java数据类型教程 - Java float数据类型

浮点数据类型

当评估需要分数精度的表达式时,使用浮点数(也称为实数)。

包含小数部分的数字称为实数,例如,3.2,0.114,-1.19等。

Java支持浮点数格式。 Java使用IEEE 754浮点标准存储实数。

有两种类型的浮点类型,float和double,分别表示单精度和双精度数。

它们的宽度和范围如下所示:

名称 宽度以位为单位 近似范围
double 64 4.9e-324〜1.8e + 308
float 32 1.4e-045〜3.4e + 038

浮点数据类型

浮点数据类型使用32位来存储浮点数。

浮点数也称为单精度浮点数。它可以表示一个小到1.4×10-45和大到3.4×1038的大小的实数。

该范围仅包括幅度。它可以是正的或负的。

所有以f或F结尾的实数称为浮点文字。浮点文本可以用以下两种格式表示:

  • 十进制数字格式
  • 科学计数法

浮点字面量

十进制数字格式的浮点文本示例如下:

复制代码
float f1  = 1F; 
float f2  = 2.F; 
float f3  = 3.0F; 
float f4  = 4.51F; 
float f5  = 5.0F; 
float f6  = 56.78f;

在Java中,实数可以使用科学记数法表示为浮点文本。

在科学记数法中,数字32.5×10-1 被写为32.5E-1。作为浮点文本,它可以写作32.5E-1F或32.5E-1f。

所有以下浮点文本表示相同的实数4.25:

复制代码
4.25F
42.5E-1F
0.425E+1F
0.425E1F
0.0425E2F
0.0425e2F
4.25E0F

float数据类型定义两个零:+ 0.0F(或0.0F)和-0.0F。 + 0.0F和-0.0F都被认为是相等的。

float数据类型定义了两个无穷大:正无穷大和负无穷大。

未定义浮动上的一些操作的结果。例如,将0.0F除以0.0F是不确定的。

不确定的结果由称为NaN(非数字)的float数据类型的特殊值表示。

Java有一个Float类,它定义了三个常量,分别表示正数无穷大,负无穷大和浮点数据类型的NaN。

下表列出了这三个浮动常量及其含义。

常量 含义
Float.POSITIVE_INFINITY float类型的正无穷大
Float.NEGATIVE_INFINITY float类型的负无穷大
Float.NaN 不是类型float的数量
Float.MAX_VALUE 可以在float变量中表示的最大正值。 这等于3.4×10 38 (约)。
Float.MIN_VALUE 大于零的最小正值,可以在float变量中表示。 这等于1.4×10 -45 。

所有整型类型(int,long,byte,short和char)的值都可以分配给float数据类型的变量,而不使用显式强制转换。

在将float值分配给任何整数数据类型int,long,byte,short或char的变量之前,必须强制转换该值。

将int和long赋值为float可能会导致精度损失。

相关推荐
.生产的驴4 分钟前
SpringBoot 对接第三方登录 手机号登录 手机号验证 微信小程序登录 结合Redis SaToken
java·spring boot·redis·后端·缓存·微信小程序·maven
我曾经是个程序员6 分钟前
鸿蒙学习记录
开发语言·前端·javascript
爱上语文7 分钟前
宠物管理系统:Dao层
java·开发语言·宠物
王ASC38 分钟前
SpringMVC的URL组成,以及URI中对/斜杠的处理,解决IllegalStateException: Ambiguous mapping
java·mvc·springboot·web
是小崔啊40 分钟前
开源轮子 - Apache Common
java·开源·apache
因我你好久不见1 小时前
springboot java ffmpeg 视频压缩、提取视频帧图片、获取视频分辨率
java·spring boot·ffmpeg
程序员shen1616111 小时前
抖音短视频saas矩阵源码系统开发所需掌握的技术
java·前端·数据库·python·算法
小老鼠不吃猫1 小时前
力学笃行(二)Qt 示例程序运行
开发语言·qt
长潇若雪1 小时前
《类和对象:基础原理全解析(上篇)》
开发语言·c++·经验分享·类和对象
Ling_suu1 小时前
SpringBoot3——Web开发
java·服务器·前端