这是我作为小白的第二篇关于java基础的文章,十分感谢大家观看,如有错误请大家及时指正!

接下来我为大家讲解一下JAVA基本数据类型。
为什么要有数据类型?
答:Java语言是强类型语言,对于每一种数据都定义了明确的具体数据类型,在内存中分配了不同大小的内存空间,可以合理的分配内存空间,数据类型决定了这种类型数据的存储方式, 取值范围, 允许的操作。比如你去买菜的时候需要用一个袋子来装菜,去家具城买家具需要用卡车来装家具,如果用袋子装家具,显然是不现实的,开卡车去装菜,也是资源的浪费。因此程序员在定义变量的时候,需要声明这个变量的数据类型,这样就会给这个变量开辟一块合理大小的内存区域,从而避免空间浪费。
Java中数据类型的分类
基本数据类型(共8种)
引用数据类型
基本数据类型分类(4类8种)
整数型:
byte 占一个字节 -128到127 (字节型)
short 占两个字节 -2^15~2^15-1 (短整型)
int 占四个字节 -2^31~2^31-1 (整型)
long 占八个字节 -2^63~2^63-1 (长整型)
浮点型:
float 占四个字节 -3.403E38~3.403E38 单精度
double 占八个字节-1.798E308~1.798E308 双精度
这里的e38指的是10的38次方
字符型
char 占两个字节 0~65535
布尔型
boolean 只有两个取值true和false
整数型

请注意上面代码里面的long a = 888;
上面写的整数888会被认为是int类型,等号左右两边的类型是不一致的,但是程序没有报错。
这里面存在自动类型转换,会自动将int类型转换成long类型,即自动将int类型的888转换成为了long类型。
自动类型转换可以自动将int转成long,那么是否可以将long类型转成int类型呢?请看如下代码:

如果想要将long类型转成int类型的话,需要进行强制类型转换,不过这种从大容量向小容量进行转换的时候要谨慎使用,有可能损失精度。
在浮点型里面也可以进行强制类型转换:

boolean类型的数据只有两个值:true/false:

字符型char和字符编码
char 是字符类型, java 语言对字符采用 Unicode 字符编码。 由于计算机内存只能存储二进制数据。 因此必须对各个字符进行编码, 所谓字符编码, 就是用一串二进制数来表示特定的字符。

常见的字符编码
ASCII 编码:美国信息互换标准代码, 用一个字节来编码。
ISO-8859-1 字符编码:是国际化标准组织位西欧语言制定的编码, 它用一个字节来为字符编码, 与 ASCII 编码兼容。
GB2312 字符编码:它包括对简体中文字符的编码。
GBK 字符编码:它是对 GB2312 编码的扩展, 收录了更多的中文字符。
Unicode 字符编码:收录了全世界所有语言文字中的字符
转义字符
如果想要把一个特殊字符赋值给char类型该怎么办?比如我想将单引号’赋值给一个char类型
char c1 = ''';
上面写法在编译时会报错,正确的方法应该使用转义字符,斜线在java语言中有转义功能,正确的写法如下:
char c1 = ‘\”;
至此,基本数据类型就已讲述完毕,感谢大家观看。
