Java基本数据类型

数据类型

基本数据类型

  • 整数型 : byte (一字节) short (两字节) int (四字节) long (8字节 )

  • 浮点型 : float (四字节) double (八字节)

  • 布尔型 : boolean (一字节)

  • 字符型 : char (两字节)

​ 前七种类型在计算机上表示很容易,因为它们都是数字。

​ 但是对于char类型对于计算机来说表示起来比较麻烦,因为char对应的是文字,每个国家的文字不一样,文字不能通过简单的自然算法变为二进制数据,于是这个时候字符编码诞生了。

什么是字符编码?
​ 字符编码是人为定义的一套转换表,对应了一系列文字所对应的二进制码。字符编码涉及到编码和解码两个方面,编码和解码必须 采用同样的字符编码方式,否则会出现乱码。

字符编码的发展历史
​ 最开始计算机是不支持文字的,只支持科学计算,后来随着计算机的发展,计算机开始支持文字,最先支持的文字是英文,英文对应的字符编码方式是:ASCII码。
​ ASCII码仅用一个字节储存,一比特可以储存256种情况,对于英文来说足够了。
'a' --> 97 (01100001)
'A' --> 65
'0' --> 48

​ 随着计算机语言的发展,后来国际标准组织制定了 ISO-8859-1 编码方式,又称 latin-1编码方 式,向上兼容ASCII码,但不支持中文,后来发展到亚洲才支持中文,日文,韩文。
​ 简体中文这块的编码方式:GB2312 < GBK < GB18030 (容量的关系)
​ 繁体中文:big5 (台湾使用的是大五码)
​ 在Java中为了支持全球所有的汉字,采用了一种字符编码叫unicode编码,支持所有的文字。具体的实现包括:UTF-8 ,UTF-16,UTF-32。

整数型数据

在Java中整数型字面量有四种表达方式:

  • 十进制:int a = 10;
  • 八进制:int b = 010;
  • 十六进制:int c = 0x10;
  • 二进制:int d =0b10; (JDK8新特性,低版本不支持)

​ 在Java中有一个非常重要的规则:在任何情况下,整数型的字面量默认当作int类型处理
如果希望一个整数型字面量被当成long类型处理,需要在字面量后加上L / l 建议使用 L 因为 l 和 1 分不清。

​ byte、short、char 做混合运算时,各自转换为int类型在做运算。

浮点型数据

任何一个浮点型容量都比整数型大。
​ float容量 > long容量
​ 在Java中有一个非常重要的规则:在任何情况下,浮点型的字面量默认当作double类型处理如果希望一个浮点型字面量被当成float类型处理,需要在字面量后加上F / f 建议使用 F。

布尔类型数据

​ 在Java语言中boolean只有两个值,true或者false,不像C中1或者0也可以表示布尔类型。
​ 布尔类型常使用在逻辑判断。

基本数据类型转换规则

  1. 八种基本数据类型中,除了boolean类型不能参与类型转换,剩下七种类型之间都可以转换。

  2. 如果整数型字面量没有超过 byte、short、char 的取值范围,可以直接赋值。

  3. 小容量向大容量转换被称为自动类型转换,容量从大到小依次为:

    double > float > long > int > char > short > byte (其中short和char都占用两个字节,但是char能储存更大的整数)

  4. 大容量可以转换为小容量,称为强制类型转换,编写时必须添加强制类型转换符但运行时可能会出现精度损失,谨慎使用。

  5. byte、short、char 类型混合运算时,先各自转换为 int 类型进行运算。

  6. 多种数据类型混合运算,各自先转换成容量最大的那种类型再做运算。

引用数据类型

  • 字符串型String属于引用数据类型
  • Java提供了一种高精度类型,基本应用于财务方面:java.math.BigDecimal
  • Java除了基本数据类型外,其他都是引用数据类型,引用数据类型后面面向对象会接触。
posted @ 2021-01-06 14:24  HanWDragon  阅读(86)  评论(0)    收藏  举报