Java——8种基本类型

Java8种基本类型的存储空间和使用场景

类型名称 字节空间 使用场景
byte 1字节(8位) 存储字节数据(较常用)
short 2字节(16位) 兼容性考虑(很少用到)
int 4字节(32位) 存储普通整数(常用)
long 8字节(64位) 存储长整数(常用)
float 4字节(32位) 存储浮点数(不常用)
double 8字节(64位) 存储双精度浮点数(常用)
char 2字节(16位) 存储一个字符(常用)
boolean 1字节(8位) 存储逻辑变量(true / false)(常用)

小知识:在日常工作中,如果需要精度计算时不要用double(double计算会缺失精度) ,需要用到BigDecimal

int类型:

  • int是最常用的整数类型,一个int类型的变量占用4个字节(32位),最大标识范围 -2147483648~2147483647。

  • 在命名int类型的变量时不要超过了int的表达范围。

  • 两个整数相除,会舍弃小数的部分(不是四舍五入),结果也是整数。

  • 整数运算的溢出:正数过大而产生的溢出,结果为负数,相反负数过大而产生的溢出,结果为正数。

long类型:

  • 表示整数时,如果int类型的范围不够,可以使用long类型,一个long类型的变量占用8个字节(68位)最大范围为: -9223372036854775808~9223372036854775808 。

  • 要表示long类型,需要以 L / l 结尾。

  • 对于较大的整数运算(大于int的范围)时,可以使用long类型

double类型:

  • double类型的精度是float类型的两倍,这正是其名称双精度的由来

  • 浮点的变量有两种写法:

    • 通常写法:3.14、0.1
    • 科学计数法:1.25E2、1.25e2
  • 默认的浮点变量都是double类型,如果使用float类型,需要在变量初始值后面加上 F / f

  • double和folat的运算会缺失精度(刚才上基本类型哪里已经介绍了,所以就不多说了)。

char类型:

  • 字符类型事实上是一个16位无符号整数,这个值是对应字符的编码。

  • Java字符类型采用Unicode字符集编码,Unicode是世界通用的定长字符集,所有的字符都是16位

  • 使用char类型变量赋值:

    • 字符直接量:‘A’,变量中实际存储的是该字符的Unicode编码,一个char类型的变量只能存储一个字符。
  • 整数直接量:范围在0~65535之间的整数,变量中实际存储的即该整数值,但表示的是该整数值所对应的- Unicode字符。

  • Unicode形式:"\u0041",Unicode字符的16进制。

boolean类型:

  • boolean类型适用于逻辑运算,表示某个条件是否成立,一般用于程序的流程控制。

  • boolean类型只允许取值 true / false ,true表示条件成立,而false表示条件不成立。

  • boolean类型变量经常用于存储关系的运算结果,所谓关系运算就是比较两个变量的大小相等关系。

基本类型之间转换:

  • 不同的基本类型直接可以互相转换,但是强转类型时,可能会造成精度缺失和溢出

  • 多种基本类型参与的表达式运算中,运算结果会自动的向较大的类型进行转换

  • byte、char、short三种类型实际存储的数据都是整数,在实际使用中遵循如下规则:

    • int直接量可以直接赋值给byte、char、short,只要不超过范围即可。

    • byte、char、short三种类型参与运算时,需要先转换成int类型,在进行运算操作。

你可能感兴趣的:(Java——8种基本类型)