Java基础知识——数据类型

时间:2021-08-09 15:30:04

Java数据类型:

1. 整型:byte、short、int、long、char

1). byte

  • 1个字节8位,是最小整数类型。
  • 取值范围:[-128~127]。
  • 对byte类型进行数字运算时,会自动提升为int类型,如何是double或float等类型,也是自动提升。
  • Byte是byte的包装类

2).short

  • 16位
  • 取值范围:[-2^15~2^15-1]
  • 最不常用类型,可以进行赋值运算。
  • short类型参与运算的时候,一样被提升为int或者更高的类型
  • Short是short的包装类

3). int和Integer

  • 32bit
  • int: Java原始数据类型,4个字节存储,范围是-2,147,483,648~2,147,483,647,即-2^31~2^31-1。
  • Java 8以后,可以使用int类型表示无符号32为整数[0,2^31-1]
  • Integer: java.lang.Object类的子类,Integer类在对象中包装了一个基本类型int的值,能在int类型和String类型之间相互转换。

4). long

  • 64bit
  • 取值范围-2^63~2^63-1
  • 默认值是0L
  • 若需要计算的数字非常大,如果int不足以容纳,可以使用long类型,如果long也不够,可以使用BigInteger类。

5). char

  • 16bit
  • 取值范围[0,65535],即[0,2^16-1],从"\u0000"到"\uffff"
  • 无符号,默认值为'\u0000'
  • 可以表示ASCII字符。
  • char ch1 = 88;
  • char ch2 = 'A';

2. 浮点型:float、double

1). float

  • 使用32bit表示
  • 当数值非常大或非常小,会变得不精确
  • 数值比long要大,遵循IEEE 754规范

2). double

  • 64位
  • 数字后面加f或F,则默认是double类型。
  • java.lang.Math中的函数都采用double类型

3. boolean类型

  • boolean类型只有true和false值,默认是false。
  • boolean与0没有任何关系

4.字面值

1). 整型字面值

2). 浮点字面值

3). 字符及字符字面值

4). 特殊字面值

5). 在数值字面值中使用下划线

5. 基本类型之间的转换

1). 自动转换

  • int --> float
  • long-->float
  • long-->double
  • float-->double with strictfp

2). 强制类型转换

  • 大的转成小的
  • byte-->int--->char

3). 赋值及表达式中的类型转换

  • 字面值赋值
  • 表达式中的自动类型提升
    [1]byte/short/char都被提升为int
    [2]如果有一个操作数为long,整个表达式都提升为long