Java数据类型之基本数据类型

来源:互联网 发布:淘宝登录名 编辑:程序博客网 时间:2024/05/02 01:58

数据类型,顾名思义,就是数据的类型。在Java语言中,数据类型可以简单分成基本数据类型、引用数据类型和枚举数据类型。在这里,简单介绍基本数据类型。

我们常见的字符、数字都可以用基本数据类型表示出来。基本数据类型可以分为整数型、实数型、字符型和布尔型,可以简单概括为四型8种,它们分别为整数型的byteshortintlong,实数型的floatdouble,字符型的char和布尔型的Boolean

 A、整数型用于表示没有小数部分的数值;

在计算机的底层,数据的传输和存储都是通过二进制数来实现的,一位二进制数称为1bit8位二进制数占一个字节Byte,即1byte=8bits。在整数型数据的4种类型中,byte型占1个字节(8位二进制),short型占2个字节(16位二进制),int型占4个字节(32位二进制),long型占8个字节(64位二进制)。

值得一提的是,在java中表示数(整数、实数)的时候,是默认有符号的,即有正有负。例如,byte8位二进制数,最左边一位0/1(最高位)表示符号位,0表示正,1表示负,那么byte类型数据中,最大的一个数应该是01111111,换算成十进制是+127;最小的一个数应该是11111111,为-127,但是计算过程中会出现0000000010000000两个表示0的情况,正0和负0,人为规定-0为负数中的最小值,那么byte的范围就是-128~127-2727-1)。

所以,各个整数型数据类型所能表示的范围如下:

byte      1个字节        8位二进制        范围-2727-1

short     占2个字节      16位二进制       范围-215215-1

int         占4个字节       32位二进制      范围-231231-1

long      占8个字节       64位二进制      范围-263263-1

在定义一个基本数据类型的数据时,计算机做了什么事情?为什么

例如:

定义一个int a=100000000000

//错误过大的整数100000000000

在计算机中,整数型的数据默认是int型,当计算机接到这么一条指令,首先检查100000000000是否在int范围内---结果100000000000超出了int的范围,那么系统会报错。

定义 byte  b=100000

//错误不兼容的类型int转换到byte可能会有损失

计算机首先检查100000是否在int范围内---int范围内----接着检查100000是否在byte范围内----超出byte的范围----报错

B、实数型,又称为浮点型,用于表示有小数部分的数值(区分于数学概念中的实数,数学中实数包括整数,但java语言中的实数型不包含整数);

实数类型中的float型,又称单精度浮点数,占4个字节(32位二进制数);double型,又称双精度浮点数,占8个字节(64位二进制数)。虽然float只占4个字节,但其存储数据的范围确实远远大于long类型,这是因为整数型和实数型数据的存储方式不同,实数型存储的是科学技术法类型的数据,即首先将一个数据写成科学计数法的形式,再进行存储;存储时,最高位为符号位,表示正负,选取几个二进制位存储科学技术法的小数部分,剩余位作为指数部分的存储。举个简单的例子:

long型数据最大的数为263-1,也就是821-1,如果在float型中拿出5位二进制作为指数部分的存储,也就是1031,远远大于821。所以float的存储范围远远大于long类型。

C、字符型用于表示英文字母、阿拉伯数字、中文汉字,用单引号‘ ’表示,单引号’ ’里面的内容只能是单个字符或者一个汉字;此处cha类型的由来及发展可自行扩展ASCII码表以及其他编码的相关知识,不做详细阐述。

D、布尔型表示结果真、假,它的值只有这两种可能,即truefalse

 

另一个大的数据类型----引用数据类型是基于面向对象的,它包括类(class)、接口(interface)、数组([ ])、字符串(String)和包装类。(java中没有字符串类型这一概念,但是可以使用字符串是因为在Java的类库中包含了一个String类,其中定义了很多方法,其他的基本数据类型没有这种功能。)

原创粉丝点击