“全栈2019”Java第十三章:基本数据类型

291 阅读7分钟
原文链接: www.toutiao.com

难度

初级

学习时间

30分钟

适合人群

零基础

开发语言

Java

开发环境

  • JDK v11
  • IntelliJ IDEA v2018.3

1.数据类型是什么?

数据是什么?比如像123、3.14、“你玩游戏吗?”,这些都是数据:

“全栈2019”Java第十三章:基本数据类型

那么,它们的数据类型是什么?比如123是整数,3.14是小数,“你玩游戏吗?”是一句话。对应的它们的数据类型就是:

“全栈2019”Java第十三章:基本数据类型

在计算机中,数据类型在数据结构中的定义是一个值的集合以及定义在这个值集上的一组操作。比如说,你定义来了一个int类型的变量,你可以存1,也可以存2。

“全栈2019”Java第十三章:基本数据类型

变量是用来存储值的所在处,它们有名字和数据类型。

“全栈2019”Java第十三章:基本数据类型

变量的数据类型决定了如何将代表这些值的位存储到计算机的内存中。

“全栈2019”Java第十三章:基本数据类型

在声明变量时也可指定它的数据类型。所有变量都具有数据类型,以决定能够存储哪种数据。

前面我们学过变量,使用前得先声明,声明就得明确变量的类型,那么变量的类型可以有哪几种呢?

2.八大基本数据类型

在Java中有八大基本数据类型:

  • byte
  • short
  • int
  • long
  • float
  • double
  • boolean
  • char

将上面八种基本数据类型分类如下:

整数:byte、short、int、long

小数:float、double

真假:boolean

字符:char

下面我们依次来讲解它们。

3.byte

“全栈2019”Java第十三章:基本数据类型

byte数据类型是8位有符号二进制补码整数,占1个字节。

“全栈2019”Java第十三章:基本数据类型

它的最小值为-128,最大值为127(含)。

“全栈2019”Java第十三章:基本数据类型

byte数据类型的应用,建议大家存储星期和月的时候可以使用byte类型。

4.short

“全栈2019”Java第十三章:基本数据类型

short数据类型是16位带符号的二进制补码整数,占2个字节。

“全栈2019”Java第十三章:基本数据类型

它的最小值为-32,768,最大值为32,767(含)。

“全栈2019”Java第十三章:基本数据类型

short数据类型的应用,建议大家存储人的年龄或者动物年龄的时候可以使用short类型。

5.int

“全栈2019”Java第十三章:基本数据类型

默认情况下,int数据类型是32位带符号的二进制补码整数,占4个字节。

“全栈2019”Java第十三章:基本数据类型

其最小值为-2的31次方,最大值为2的31次方-1。

int类型是整数的默认数据类型。

“全栈2019”Java第十三章:基本数据类型

int数据类型的应用,建议大家存储恐龙化石的年龄的时候可以使用int类型。

6.long

“全栈2019”Java第十三章:基本数据类型

long数据类型是64位二进制补码整数,占8个字节。

“全栈2019”Java第十三章:基本数据类型

带符号的long的最小值为-2的63次方,最大值为2的63次方-1。

“全栈2019”Java第十三章:基本数据类型

long数据类型的应用,建议大家存储太阳的年龄可以使用long类型。

“全栈2019”Java第十三章:基本数据类型

在声明一个long类型的变量时,可以给数值后面加一个小写的"l"或大写的"L",以表示long类型的数字,推荐使用大写的"L",因为小写的"l"与数字1太接近,容易搞混。

7.float

“全栈2019”Java第十三章:基本数据类型

float数据类型是单精度浮点数,占4个字节。

“全栈2019”Java第十三章:基本数据类型

float最小值和最大值,其值范围如下:

“全栈2019”Java第十三章:基本数据类型

对于高精度的其他需求,例如货币。为此,大家需要使用 java.math.BigDecimal类。

“全栈2019”Java第十三章:基本数据类型

float数据类型的应用,建议大家存储圆周率时可以使用float类型。

“全栈2019”Java第十三章:基本数据类型

声明float类型的变量时,变量值后面加一个小写的“f”或者大写的“F”,以表示你的小数要用float类型来存储。

8.double

“全栈2019”Java第十三章:基本数据类型

double数据类型是双精度浮点数,占8个字节。

“全栈2019”Java第十三章:基本数据类型

double类型的最小值和最大值,其范围如下:

“全栈2019”Java第十三章:基本数据类型

double是小数的默认类型,也就是你写小数的时候,它默认的类型是double。

“全栈2019”Java第十三章:基本数据类型

double数据类型的应用,建议大家存储精度更高的数据时可以使用double类型。

“全栈2019”Java第十三章:基本数据类型

在声明一个double类型的变量时,可以给数值后面加一个小写的"d"或大写的"D",以表示double类型的数字。

9.boolean

“全栈2019”Java第十三章:基本数据类型

boolean数据类型只有两个值:true和false。将此数据类型用于跟踪真/假条件的简单标志。

“全栈2019”Java第十三章:基本数据类型

boolean数据类型的应用,建议大家存储真或假的数据时可以使用boolean类型。

10.char

“全栈2019”Java第十三章:基本数据类型

char数据类型是单个16位Unicode字符,占2个字节。

“全栈2019”Java第十三章:基本数据类型

它的最小值为'\u0000'(或0),最大值为'\uffff'(或65,535(含))。

“全栈2019”Java第十三章:基本数据类型

char数据类型的应用,建议大家存储一个字符的数据时可以使用char类型,例如性别。

11.String

除了上面列出的八种原始数据类型之外,Java编程语言还通过java.lang.String类为字符串提供特殊支持 。

“全栈2019”Java第十三章:基本数据类型

将字符串括在双引号内将自动创建一个新String对象; 例如,String name = "tom";

String对象是不可变的,这意味着一旦创建,它们的值就无法更改。

String不是基本数据类型。有关String类型更多内容请关注后续章节。

12.默认值

什么叫默认值?

就是你不给这个字段初始化值,系统会给他一个初始化值。

这里有一点需要注意,只有字段才享有系统会给它一个默认值的待遇,其它的都没有。

什么意思?

字段才有默认值,变量没有默认值。

什么是字段?

类里面的才有字段,类暂时没有接触,不懂也没关系,后续文章会讲解。我们先来新建一个类,右键main文件夹,选择“New”,点击“Java Class”:

“全栈2019”Java第十三章:基本数据类型

输入类名,选择“Class”,完成之后点击“OK”:

“全栈2019”Java第十三章:基本数据类型

书写“Student.class”:

“全栈2019”Java第十三章:基本数据类型

大家注意看,这个“name”就是字段。好,我们回到Main.class,再看一下什么是变量:

“全栈2019”Java第十三章:基本数据类型

大家看,这个age就是变量,而且它还是局部变量,因为它在方法体里面声明的,局部变量是没有默认值的。我们都知道,变量需要初始化才能使用,如果此时我们只声明了age变量,而没有初始化,它是不能使用的。

我们再来试试字段不初始化有没有问题,创建刚刚新建的Student.class对象(创建对象暂时不懂的同学,后续文章会讲解):

“全栈2019”Java第十三章:基本数据类型

student对象被创建出来了,然后使用student里面的age变量:

“全栈2019”Java第十三章:基本数据类型

运行结果:

“全栈2019”Java第十三章:基本数据类型

我们可以看到:

  1. 运行没有出错,说明Student对象里面的age有被系统初始化。
  2. int类型的age变量的默认初始值是0。

好,我们来看看,除了int类型的默认值是0,其它类型的默认值是多少呢:

“全栈2019”Java第十三章:基本数据类型

大家请注意,上图列举的是字段中的数据类型的默认值。

不明白字段的同学,暂时理解为除局部变量以外的地方,那么局部变量又是什么呢?局部变量是指声明在方法中的变量。

局部变量略有不同; 编译器永远不会为未初始化的局部变量分配默认值。如果无法初始化声明它的局部变量,请确保在尝试使用它之前为其赋值。访问未初始化的局部变量将导致编译时错误。

至此,Java基本数据类型相关内容讲解先告一段落,更多内容请持续关注。

答疑

如果大家有问题或想了解更多前沿技术,请在下方留言或评论,我会为大家解答。

上一章

“全栈2019”Java第十二章:变量

下一章

“全栈2019”Java第十四章:二进制、八进制、十六进制

学习小组

加入同步学习小组,共同交流与进步。

  • 方式一:关注头条号gorhaf,私信“Java学习小组”。
  • 方式二:关注公众号gorhaf,回复“Java学习小组”。

全栈工程师学习计划

关注我们,加入“全栈工程师学习计划”。

“全栈2019”Java第十三章:基本数据类型

版权声明

原创不易,未经允许不得转载!