7. java数据类型

序言:Java 包含八种数据类型 分别是4种整型(int、short、long、byte)、2种浮点类型(double、float)、1种表示Unicode编码的字符单元的字符类型char和1种表示真假值得boolean类型。

1. 整型

  整型用于用于表示整数,允许为负数。总共四种整型,具体如下:

类型 存储需求 取值范围
int 4字节 -2 147 483 648  --  2 147 483 547
short 2字节 -32 768  -- 32 767
long 8字节 -9 223 372 036 854 775 808  --  9 223 372 036 854 775 807
byte 1字节 -128  -- 127

通常情况下,int是最常用的类型。但是如果表述的数值过大(例如全球人口数量)会使用long型,长整型后面会有 L 或 l 后缀。byte和short类型主要用于特定的应用场合,比如 底层的文件处理或者需要控制占用空间量的大数组 。

从java 7 开始 如果想将数字转换为 8 进制 仅需在数字前面加上 0 前缀即可,比如 010 表示八进制中的8 。而加上 0B 或 0b 则对应 2进制。 同时可以为数字加上 _ 下划线方便读数 如 1_000_000 表示一百万,java编译器在读取时会自动过滤掉这些下划线。

2. 浮点类型

  浮点类型表示小数。有两种浮点类型,具体如下:

类型 存储需求 取值范围
float 4字节 有效位数为6 - 7位
double 8字节 有效位数位15位

double表示这种类型的数值精度是float类型的两倍,通常也被成为双精度类型。大部分小数都是使用double类型。因为大部分情况下float并不能满足精准度需求,只有需要单精准度的数据库或者需要存储大量数据时才会使用。

float类型的数值后会有一个F或f后缀。没有后缀的小数会默认为double类型,或者加上D或d表示double类型。

注意:有下面几种表示溢出或出错情况的三个特殊浮点数值:

  ·正无穷大

  ·负无穷大

  ·NaN(不是一个数字)

通常使用Double.POSITIVE_INFINITY、Double.NEGATIVE_INFINITY 和Double.NaN分别表示这三个特殊的数值,但是不能用于判断一个值是否是数字 而应该使用 Double.isNaN()来判断

  例如 if(Double.isNaN(x))//判断一个值是否是数字

注意:浮点类型不能用于无法接受舍入误差的金融计算中。比如:

  System.out.print(2.0-1.1) 输出的是 0.899999999999999 而不是 0.9 。这种误差的原因是 浮点类型采用的是二进制系统表示,而二进制是无法精确的展示1/10 的。如果需要使用无法接受舍入误差的计算时应该使用 BigDecimal类。

3. char类型

  char类型原本用于表示单个字符。不够现在情况有所变化,如今有些Unicode字符也可以用一个char值描述,另外一些Unicode字符则需要两个char值。

  char类型表示的变量要用单引号括起来,例如 ‘A’ 。它与 “A” 不同,“A” 表示的是一个字符串。char类型的值还可以表示为十六进制值。

4.boolean类型

  boolean 类型有两个值 true 和 false,用于逻辑判断条件。整型值和boolean值之间不能相互转换。

posted @ 2020-10-04 20:06  mokpiet  阅读(173)  评论(0编辑  收藏  举报