2.复习-Java数据类型

Java数据类型

1.Java的几种基本数据类型(4+2+1+1)

  • 4个整型

    • int

      • 4字节
    • short

      • 2字节
    • long

      • 8字节
    • byte

      • 1字节

        • byte的范围是-128~127
  • 2个浮点类型

    • float

      • 4字节
    • dou’b’le

      • 8字节
  • 1个char类型

    • 1.char 型变量中能存储一个中文汉字吗?
      • 在 Java 中,char 类型占 2 个字节,而且 Java 默认采用Unicode 编码,一个Unicode 码占16 位,所以一个 Unicode 码占两个字节,char 类型变量可以存储一个中文汉字
  • 1个布尔类型

    • boolean

      • 整形值和布尔值之间不能进行相互转换

2.数值类型之间的转换

  • 无丢失

    • byte -> short
    • short -> int
    • char -> int
    • int -> long
    • int -> double
    • float -> double
  • 有丢失

    • int -> float
    • long -> float
    • long -> double
  • AZ :6590

az :97122

0~9 : 48~57

3.== 和 equals 的区别

  • 类型与定义

    总结:
    “ == “在基本数据类型:值内容, 引用类型时:地址
    equals 重写:值内容 , equals不重写:地址

    • ==

      • 对于基本数据类型,比较的是变量存储的值是否相等
      • 对于引用类型,它比较的是两个引用是否指向内存中的同一地址(即是否是同一个对象的引用)
    • equals()

      • 默认情况下,它比较的是对象的内存地址(即是否是同一个对象),但该方法可以被重写以提供自定义的比较逻辑
      • equals()是Object类中的一个方法,用于比较两个对象的内容是否相等。
  • 运行速度

    • ==:由于只是比较引用或内存地址,所以通常比equals()方法更快。
    • equals():由于可能需要执行更复杂的比较逻辑(尤其是在被重写的情况下),因此其运行速度可能慢于==。
  • 可重写性

    • equals():可以被重写以提供自定义的相等性判断逻辑。
  • 注意

    • equals 方法不能用于比较基本数据类型,它是Object类中的一个方法,在Object类中,equals方法的实现是比较两个对象的地址是否相等,也就是判断两个对象是否指向同一个内存地址。因此,在Java中,equals方法不能用于判断基本数据类型的变量是否相等,因为基本数据类型的变量并不是对象,所以不能使用equals方法进行比较。

4.说说Java中的数据类型提升

  • 在Java中,当运算符两侧的操作数类型不同时,系统会进行自动类型转换,将低精度类型提升到高精度类型,以避免数据丢失或计算错误。
  • 例如,int a = 10; float b = 1.5f; double c = a + b; 在这个例子中,a会被自动提升为float类型,然后与b相加得到一个float类型的结果,最后再自动提升为double类型并赋值给c。

5.基本数据类型和String类型的转换

在程序开发中,我们经常需要将基本数据转成String类型。或者将String类型转成基本数据类型。

语法:将基本类型的值 + “ “

String类型转基本数据类型:

语法:通过基本类型的包装类调用parseXX方法即可

image-20220706183446534

注意事项:

1.在将String类型转为基本数据类型时,要确保String类型能够转成有效的数据,如:不能把“hello”转为一个整数

2.如果格式不正确,就会抛出异常,程序就会终止,详解见异常处理