基本数据类型

**

基本类型

**
在 Java 中定义了 3 类 8 种基本数据类型

(1)数值型:byte、short、int、long、float、double

(2)字符型(文本型):char

(3)布尔型:boolean

在这里插入图片描述
注意

(1)基本数据类型中,各类型占用大小如下,一个字节的表数范围是 2^8,所以以 byte 为例,byte 占用 1 个字节,那么它的表数范围应该是 2^8,但是由于要表示负数(要拿出一位表示负数符号),所以范围变成 -2^7 ~ 2^7 - 1,整数范围要减去 1 是因为 0 也要占一位

byte - 1 字节,short - 2 字节,int - 4 字节,long - 8 字节

float - 4 字节,double - 8 字节

char - 2 字节

boolean 1 位

(2)引用数据类型占 4 个字节

表数范围
在这里插入图片描述

整型变量 / 常量
在这里插入图片描述
浮点型变量 / 常量

(1)带小数的数据在 Java 中称为浮点型,浮点型分为 float 类型和 double 类型;float 又叫单精度浮点型,位数可精确到 7 位有效数字;double 表示这种类型的数值精度大约是 float 类型的两倍,又被称作双精度型,绝大部分应用程序都采用 double 型;

(2)浮点型常量默认常量类型也是 double 型

(3)float 表示的数值有一个后缀 F 或 f,没有后缀 F/f 的浮点数值默认为 double 型;也可以在浮点数后加 D 或 d 明确表示为 double 类型

在这里插入图片描述

注意

(1)浮点型 float,double 的数据不适合不容许误差的金融计算领域,如果需要进行不产生舍入误差的精确数字计算,应使用 BigDecimal 类

(2)由于字长有限,浮点数能精确表示的数是有限的,因而也是离散的;浮点数一般都存在舍入误差,很多数字无法精确表示(例如 0.1),其结果只能是接近,但不等于

(3)二进制浮点数不能精确的表示 01,0.01,0.001 这样 10 的负次幂,并不是所有的小数都能用精确的二进制浮点数表示

(4)Java 的 java.manth 包下的两个类:BigInteger 和 BigDecimal,这两个类可处理任意长度的数值,BigInteger 实现了任意精度的整数运算,BigDecimal 实现了任意精度的浮点运算;对比如下计算 1.0 - 5*0.1 的结果,发现第二种明显有问题

在这里插入图片描述

字符型变量 / 常量
字符型在内存中占 2 个字节,在 Java 中使用单引号表示字符常量;char 类型用来表示在 Unicode 编码表中的字符,Unicode 编码被设计用来处理各种语言的文字,它占 2 个字节,可允许有 65536 个字符;Unicode 具有从 0 到 65536 之间的编码,通常用来从 ‘\u0000’ 到 ‘\uFFFF’ 之间的 16 进制值来表示(前缀为 u 表示 Unicode)

在这里插入图片描述

转义字符
转义字符也是字符,例如:char a = ‘\n’ 表示换行符

在这里插入图片描述
boolean 类型变量 / 常量
boolean 类型有两个常量值,true 和 false,在内存中占一位(不是一个字节),不可以使用 0 或非 0 整数代替 true 和 false;boolean 类型作为逻辑判断条件,用于程序流程的控制

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值