您的位置 首页 java

总结一下Java基本数据类型

对于 Java 来说,数据类型分为两类:基本数据类型和引用数据类型。今天我要说的就是Java中的基本数据类型。

分类

对于基本数据类型的分类,我所知道的大概有两种分法。

  1. 基本数据类型分为三类:数值类型、字符类型和布尔类型。
  2. 基本数据类型分为两类:数值类型和布尔类型。

两种分类的区别在于,第二种分类法将字符类型也看成了数值类型。理由在于,所有字符类型在内存中都是使用该字符对应的 Unicode 编码表示,也就是从0-65535的整数表示。更为关键的是,字符类型也可以进行算术运算。从这一点上看,将字符类型归为数值类型也有一定的道理。

当然,我更倾向于第一种观点。不过,不管哪种分类,最后都会将基本数据类型再次分为8种,也就是我们认知中的: byte short 、int、 long float double 、char、 boolean

介绍

  • 整数类型

对于整数类型而言,分为四种,分别为:byte、short、int和long

对于这四种数据类型而言,区别在于所占字节位数不同,其中byte占8位,short占16位,int占32位,long占64位。也正因为所占位数的不同,也导致各自所能表示位数的差异。所占位数越大,所能表示的数值范围也就越大。

在Java中,如果不显式指定整数的数据类型,则默认被当做int类型进行处理。

对于整数来说,存在四种进制的表示方式: 二进制 、八进制、十进制和十六进制。我们日常认知中的整数是十进制的。但是在计算机中通常用二进制表示,但是为了便于展示,有时候会将 二进制转换 为八进制或十六进制来进行展示。

在Java中随便给定一个数字,该数字是用十进制进行表示。如果整数以0b或0B开头,表示该整数用二进制进行表示,如:0B1101。如果整数以0开头,表示该整数用八进制进行表示,如:0123。如果整数以0x或0X表示,表示该整数用十六进制进行表示,如:0X12a8。

自JDK1.7之后,允许在整数值间添加下划线,如:123_456_789。

  • 字符类型

对于字符类型来说,其通常被单引号进行包裹。在Java中,使用Unicode字符集来表示字符。

字符类型的值大概有三种表示方式:单引号包裹的单个字符,如:’a’、转移字符表示的特殊字符如’\n’以及用Unicode表示法如’\u4e00’。

  • 浮点 类型

对于浮点类型而言,分为两种:float和double。其中,float为单精度 浮点数 ,而double表示 双精度浮点数 。需要说明一点的是,在Java中,浮点数有固定的长度和表数范围,其使用的是二进制科学计数法表示,因此浮点数的值是一个近似值而非精确值。

float和double区别在于所占位数的不同,其中float占32位,double占64位。也正由于所占位数的差异,从而导致了所能表示位数的差异。

在Java中,如果不显式指定一个浮点数的类型,则默认为double类型。需要说明一点的是,java为浮点类型提供了三个特殊的浮点值:正无穷大、负无穷大和非数,用来表示溢出或出错。

任何一个正浮点数除以0会得正无穷大,任何一个负浮点数除以0会得到负无穷大,0.0除以0会得到非数。当然,任何一个浮点数对0进行取余也会得到一个非数。

需要说明的是,所有的正无穷大都相等,如:3.0 / 0和 5.6 / 0的结果相等。所有的负无穷大都相等,如:-1.2 / 0和 -9.8 / 0的结果相当。所有的非数都不相等,如:1.0 / 0和 1.0 / 0的结果不相等。

浮点数有两种表示方式:十进制表示法如12.0和科学计数法1.2E1。

  • 布尔类型

对于布尔类型而言,仅有boolean一种,其值也仅仅只有两个:true和 false 。布尔类型常作为循环、分支等结构的判断条件。

默认值

对于基本数据类型而言,声明为成员变量或数组的时候,如果未显式指定相关的值,则系统会进行默认赋值。

对于四种整数类型而言,系统默认赋值为:0

对于两种浮点数类型而言,系统默认赋值为0.0

对于字符类型而言,系统默认赋值为:‘’

对于布尔类型而言,系统默认赋值为:false。

包装类型

在Java中,针对这八种基本数据类型,提供了对应的包装类型。对应关系如下:

byte: java.lang.Byte

short:java.lang.Short

int:java.lang.Integer

long: java.lang.Long

float:java.lang.Float

double:java.lang.Double

char:java.lang.Character

boolean:java.lang.Boolean.

包装类型与基本类型区别如下:

  1. 包装类型属于引用类型,当声明为成员变量或数组时候,如果是基本数据类型,则根据类型的不同赋不同的值。但如果是引用数据类型,则赋值为null。
  2. 包装类型中定义了一些常用的方法,而基本数据类型则没有。

当然,在大多数情况下,基本数据类型和其包装类型可以互通有无,这是因为自Java1.5之后提供了自动拆装箱功能。所谓自动拆装箱就是Java会帮你进行基本数据类型与其包装类型的转换。

文章来源:智云一二三科技

文章标题:总结一下Java基本数据类型

文章地址:https://www.zhihuclub.com/180907.shtml

关于作者: 智云科技

热门文章

网站地图