基本数据类型与包装类

  • 基本数据类型
  • image-20230920185843264

  • 基本数据类型的 包装类 在堆上存储,需要使用 new 关键字创建:Boolean, Character, Byte, Short, Integer, Long, Float, Double, Void

  • 由基本类型创建包装类 Integer v = new Integer(value); 更简单的 Integer v = value;(自动装/拆箱)
  • 对于值范围在-128~127 的 Integer 会共享对象,即多次使用 valueof 生成值相同的对象 会返回同一个对象,因此需要用 a.equals(b) 判断而不是 =
  • 包装类一旦创建值就不会变化(会直接创建一个新对象),这有一个重要用途就是可以像基础数据类型一样使用,而不需要担心副作用 (名义上是引用,但是在使用上类似值)

  • 基本类型作为类成员时会被自动进行初始化(但是对于 不是类成员的局部变量的值可能是任意值

    • 使用未初始化的变量时 Java 总是会抛出错误
  • 高精度数字

  • 高精度整数 BigInteger
  • 高精度浮点数 BigDecimal

  • 类型转换

  • byte short char 三种数据在运算的时候,都会提升为 int,然后再进行运算
  • 强制转换与 c++相同
  • java 中宽化转型(如 int-> long)可以自动进行,但是窄化转型必须显式执行

  • java中除了基本数据类型保存真实数据,其它对象等类型均保存的是引用

  • final关键字