猫史档案馆


[教程帖]Java学习教程(第六章)[数据类型]{数据类型概述}

用户:GodeyesGodeyes查看:0 回复:4 评论:0 创建时间:2020-04-28T07:56:48


Godeyesjavaemotion_编程猫_加油emotion_星能猫_ye

6.1.1 

本章节的目标是要求大家理解数据类型的作用,八种基本数据类型各是什么,常见数据类型的取值范围,怎么使用它们声明变量,各数据类型使用时的注意事项,另外要知道在实际开发中怎么选择合适的数据类型,还有这八种基本数据类型之间的相互转换。

6.1.2 

center_image

6.2 

在上一章节中我们学习了变量,我们知道任何一个变量都包括三要素,分别是:数据类型、变量名、值。其中数据类型尤为重要,目前我们已经接触过一种数据类型,那就是表示整数型的 int。接下来我们一起来学习一下其他的数据类型。

 

在学习其他数据类型之前我们先来思考一个问题,数据类型在程序中起到什么作用呢?实际上是这样的,软件的存在主要是进行数据的处理,现实生活中的数据有很多,所以编程语言对其进行了分门别类,然后就产生了数据类型,不同数据类型的数据会给其分配不同大小的空间进行存储。也就是说,数据类型作用就是决定程序运行阶段给该变量分配多大的内存空间。这就是数据类型的主要作用。那么 java 中的数据类型都包括哪些呢?实际上 Java 中的数据类型就包括两大类,一类是基本数据类型,另一类是引用数据类型(引用数据类型后面学习),其中,基本数据类型又包括 4 类 8 种:

 

Ø 第 1 类:整数型(不带小数的数字):byte,short,int,long

Ø 第 2 类:浮点型(带小数的数字):float,double

Ø 第 3 类:字符型(文字,单个字符):char

Ø 第 4 类:布尔型(真和假):boolean

 

大家可以看到,在以上的基本数据类型范畴中未发现字符串类型(带双引号的是字符串),所以,在这里我要告诉大家,Java 中的字符串属于引用数据类型,不属于基本数据类型的范畴。通过以上的学习,我们知道八种基本数据类型指的是:byte、short、int、long、float、double、boolean、char。接下来我们来看一下八种基本数据类型的详细信息,请看下表:

center_image

 

其实十进制和二进制之间是存在转换规则的,如下所示:

  Ø 十进制转换成二进制:比方说十进制数 65 转换成二进制,我们可以使用短除法,65对 2 整除商 32 余数为 1,把 1 写在旁边,接着 32 对 2 整除商 16 余数为 0,把 0 写在旁边,用 16 整除 2 商 0 余数为 0,把 0 写在旁边,这样进行下去直至商为 0 时为止。然后把余数逆序排列就得到了 65 的二进制。如下图所示:

center_image

 

Ø 二进制转换成十进制:比方说二进制代码为 1000001 的十进制数是多少呢?可以采用按权相加的方法,对于二进制代码 1000001 首先从右边第一位起对应 2 的零次方,第二位对应 2 的 1 次方,以此类推,把相应的数位与权值相乘得到的积相加即可,即 1 ×20+0×21+0×22+0×23+0×24+0×25+1×26=65

好了,计算机二进制的小插曲我们就先说到这里,言归正传,接下来我们继续学习八种基本数据类型。

 

当我们对二进制有一定的了解之后,来看一下 byte 类型的取值范围,为什么最大值只能取到 127 呢:首先数字是有正负之分,在二进制位当中最左边的二进制位是符号位,0 表示正数,1 表示负数,byte 属于字节型,占用空间大小是 1 个字节,1 个字节是 8 个 bit 位,所以 byte类型最大值是左边一个 0 右边七个 1:01111111,这个二进制位实际上是 27-1,也就是 127。byte 类型最小值是-128,那么,这也说明 1 个字节最多可以表示 256 种不同的情况(-128 到127,中间有一个 0,共 256 个不同的数字)。

 

接下来我再给大家普及一下计算机的容量单位换算:

1byte = 8bit(1 个字节是 8 个比特位)

1KB = 1024byte

1MB = 1024KB

1GB = 1024MB

1TB = 1024GB

到这里,我相信各位会去想,我自己的硬盘是多大空间,可以存储多少个二进制位,你可以算算哦!

 

对于以上的八种基本数据类型,其中 byte、short、int、long 属于整数型,代表现实世界中的整数,只不过容量大小不同,细分的话,byte 叫做字节型,short 叫做短整型,int 叫做整型,long 叫做长整型,在实际的开发中,为了兼顾到开发效率,选择数据类型的时候也不会太斤斤计较,这四种类型中 int 最为常用。

 

八种基本数据类型中,除了整数型可表示数字之外,浮点型也可以表示数字,并且浮点型表示的数字是带有小数的,其中包括 float、double,float 叫做单精度浮点数,double 叫做双精度浮点数,根据容量大小我们要知道 double 可以表示更精确的数字。在实际的开发中,double更常用一些。不过对于财务系统来说,涉及到钱的问题,double 的精度也是远远不够的,后期我们会学到 Java 基础库中的 BigDecimal 类,该类可表示超大精度的数据。比较适合财务系统的开发。不过,BigDecimal 则不属于基本数据类型的范畴了。

 

八种基本数据类型中以上六种所描述的都是数字,除了数字之外,还可以表示文字,那就是基本数据类型 char,char 在 Java 中占用两个字节,一个汉字正好是两个字节,所以 char 类型完全可以存储一个汉字,char 类型的字面量要求使用半角的单引号括起来,例如:'a'、'A'、'国'等。char 类型和 short 类型都是占用 2 个字节,所以它们可表示的种类数量是相同的,不过由于 char 类型表示文字,没有负数这一说,所以相对来说 char 类型可以取到更大的正整数。通过上表我们也可以看出,short  类型取值范围是[-32768~32767],而 char  类型取值范围是[0~65535],它们可表示的种类数量都是 65536 种,只不过 char 可以取到最大值为 65535。

 

八种基本数据类型中有数字,还有文字,数字和文字占了七种,还有一种类型叫做布尔型,关键字是 boolean,这种类型在 Java 语言中只有两个值:true 和 false,没有其他值,用来表示现实世界中的真和假。布尔类型的数据在实际的开发中,尤其在业务逻辑判断方面起到非常重要的作用。并且使用较为频繁。布尔类型占用 1 个字节,true 和 false 其实在计算机底层是使用 1 和 0 来表示的。

 

通过本小节的学习,大家需要知道八种基本数据类型分别包括哪些,每种类型占用几个字节,取值范围是怎样的。对于二进制和十进制的转换,大家作为一个了解即可。

 

 

 


回复

上一页1 页 / 共 1下一页
蒟蒻OIer1048576蒟蒻OIer1048576

niubi

点赞0


评论


蒟蒻OIer1048576蒟蒻OIer1048576

utf-8编码char可取到 0 - 16777216

点赞0


评论


GodeyesGodeyes

Java学习教程(第一章)[介绍java]:https://shequ.codemao.cn/community/281707

 java学习教程(第二章)[java的注释]:https://shequ.codemao.cn/community/281722

Java(第三章)[编写第一个java程序]:https://shequ.codemao.cn/community/281753

Java(特殊篇)[运行和编译java程序]:https://shequ.codemao.cn/community/281785

 Java学习教程(第四章)[标识符与关键字]:https://shequ.codemao.cn/community/282020

 Java学习教程(第五章)[变量]{1.字面量}:https://shequ.codemao.cn/community/282531

Java学习教程(第五章)[变量]{变量概述}:https://shequ.codemao.cn/community/283059

 Java学习教程(第五章)[变量]{使用变量}:https://shequ.codemao.cn/community/283194

 [教程帖]Java学习教程第五章[变量]{变量分类}:https://shequ.codemao.cn/community/283732

 [教程帖]Java学习教程(第五章)[变量]{变量作用域和章节总结}:https://shequ.codemao.cn/community/283745

 [教程帖]Java学习教程(第六章)[数据类型]{数据类型概述}:https://shequ.codemao.cn/community/284512

点赞1


评论


GodeyesGodeyes

喵喵d

点赞0


评论