写点什么

聊聊 Java 数据类型的那些事

用户头像
Bob
关注
发布于: 52 分钟前
聊聊Java数据类型的那些事

大家好,我是小 Bob,一个关注软件领域而又执着于计算机底层的开发者~


前面一篇文章说了 Java 的变量,我们通过定义变量得到一个名字,然后将某个数据存储在这个变量中,简单来说,这也是变量所承担的任务。


那么,接下来我们来聊聊 Java 的数据类型。在定义变量时我们会在变量名前面说明变量的类型,比如是数字类型或者是字符类型?那么接下来我们来看看 Java 有哪些数据类型吧~


一.基本数据类型

在 Java 中,数据类型分为基本数据类型和引用数据类型两大类。

我们在定义变量时经常用到的基本数据类型包含了八种,一般的类型分别是整型、浮点型、 字符型、布尔型

整型中,我们会接触到 byte、short、int、long 这四种类型,其中 byte 所占比特位最小,仅占一个字节,其次是 short,占两个字节;int 类型占四个字节;long 类型最大,占了 8 个字节。


下面将以表格的形式展示:


整形之间的差别便是位数的多少,即所占位数的大小决定你存储数字的大小。


浮点类型中,我们用的比较多的是 float 和 double,前一个是单精度,后一个是多精度。单精度可以简单理解为精确到小数点后面的几位,而多精度可以精确到小数点后面更多的位数。


浮点类型中 float 占四个字节,为 32 位;double 占八个字节,64 位。在 Java 类型中,定义浮点数默认为 double 类型,如果要定义成 float 类型,在定义时需要在数字后面加上后缀 f,比如:

float a=123.34f;float a=123.34;
复制代码


字符型则最简单,只有一个 char,定义字符比如英文字母,常用单引号括起来。其中字符存放在单引号括起的单个字符,占两个字节,取值范围为[0,65535]。


谈到字符类型,则不可避免的要编码的概念:计算机内部使用二进制数,一个字符在计算机中是以 0 和 1 构成的序列形式来存储的。将字符映射到它的二进制形式的过程称为编码。


字符有多种编码方式,如常用的 utf-8、GBK 等,编码表定义了如何编码每个字符。


在 Java 还有布尔类型Boolean,当然在别的语言中也有。boolean 类型只有两个值:false 和 true,常用于判定逻辑是否正确。如下:

boolean a=false;boolean b=true;
复制代码


我们在敲代码的时候,可能会遇到将整数类型转换成字符类型,或者字符型转换成整数类型,这时候我们的解决方案绝不是删掉重来,而是转换,在 Java 中,我们将转换分成自动转换类型和强制转换类型。


自动转换类型中,我们经常把一个表示数据范围小的数值赋值给另一个表示数据范围大的变量,该转换方式是自动的,直接书写即可。


另一种强制转换类型,则是把一个表示数据范围大的数值或者变量赋值给数值范围小的变量。


语法格式:目标数据类型 变量名=(目标数据类型)值或者变量。


二.引用类型

Java 中的引用类型,在 C 和 C++里通过指针操作内存中的元素,在 Java 中是通过引用。在 Java 中一切被视为对象,但我们操作的标识符实际上是对象的一个引用。


引用数据类型包括数组、接口、类,这些引用数据类型的初始值为 null


那么何为 String 字符串呢?Java 将由多个字符组成的字符序列称为字符串。


字符串类型由 String 关键字表示,其所表示的若干个字符序列必须包含于

英文双引号内。如:"阴天快乐"等。


比如我们用字符串定义一个 s 变量,那么 s 中存放的并不是字符串,而是内存地址,栈内存中存放变量的地址,堆内存中存放字符串。


继续干 Java~

发布于: 52 分钟前阅读数: 6
用户头像

Bob

关注

潜心修炼~ 2021.03.22 加入

有幸与计算机相遇,忠于热爱~

评论

发布
暂无评论
聊聊Java数据类型的那些事