10.24Java学习进度

Object类,包装类和数学处理类,String类:

Object类:
常用的包
java.lang包 - 该包是Java语言中的核心包,该包中的内容由Java虚拟机自动导入
如: String类、System类等
java.util包 - 该包是Java语言中的工具包,里面包含了大量的工具类和集合类等
如:Scanner类、Random类等
java.io包 - 该包是Java语言中的输入输出包,里面包含了大量读写文件的类等
如:FileOutputStream类、FileInputStream类等
java.net包 - 该包是Java语言中的网络包,里面包含了大量网络编程的类等
如:ServerSocket类、Socket类等

Object类基本概念:
java.lang.Object类是所有类层次结构的根类,任何类都是该类的直接或间接子类。

Object常用的方法:
Object() - 使用无参方式构造对象。
boolean equals(Object obj) - 用于判断调用对象是否与参数对象相等。

  • 该方法默认比较两个对象的地址,与 == 运算符结果相同。
  • 为了使得该方法比较两个对象的内容,则需要重写该方法。
  • 若该方法重写后,则应该重写hashCode方法来维护 hashCode方法的常规协定

int hashCode() - 用于获取调用对象的哈希码值(内存地址的编号)。

  • 若调用equals方法的结果相等,则各自调用hashCode方法的结果相同。
  • 若调用equals方法的结果不相等,则各自调用hashCode方法的结果不相同。
  • 为了维护上述的常规协定与equals方法结果保持一致,就需要重写该方法

String toString() - 用于获取对象的字符串形式。

  • 该方法默认返回的字符串为:包名.类名@哈希码值的十六进制形式
  • 为了返回更有意义的数据内容则需要重写该方法
  • 当字符串内容与引用进行连接时,自动调用toString方法
  • 当使用print或println方法打印引用时,会自动调用toString方法

包装类和数学处理类:
如:

Person p = new Person();  - 声明Person类型的引用指向Person类型的对象
   int num = 10;             - 声明一个int类型的变量num初始值为10
   public class MyInteger {
      private int num = 10;
   }
   MyInteger it = new MyInteger();

包装类的概念:
由于Java语言是一门纯面向对象编程语言,而8种基本数据类型声明的变量并不是对象,为了满足Java语言的特性就需要对这些变量进行对象化处理,而实现该功能的相关类就叫做包装类。

包装类的分类:
int => java.lang.Integer类
char => java.lang.Character类
其它类型对应的包装类就是将首字母变成大写

Integer类基本概念:
(1)基本概念
java.lang.Integer类是int类型的包装类,里面包含了一个int类型的成员变量。
该类由final关键字修饰表示不能被继承。

(2)常用的方法
Integer(int value) - 根据参数指定的整数构造对象
Integer(String s) - 根据参数指定的字符串构造对象
该类重写了equals()、hashCode()、toString()方法
int intValue() - 用于获取调用对象中的整数数据并返回。
static Integer valueOf(int i) - 根据参数指定的整数返回对应的Integer对象。
static int parseInt(String s) - 用于将String类型转换为int类型并返回。

BigDecimal类:
BigDecimal类基本概念:
由于float类型和double类型的运算可能会有误差,为了实现精确运算则需要借助java.math.BigDecimal类型加以描述。

BigDecimal类常用方法:
BigDecimal(String val) - 根据参数指定的字符串构造对象。
BigDecimal add(BigDecimal augend) - 用于计算调用对象和参数对象的和并返回
BigDecimal subtract(BigDecimal subtrahend) - 用于计算调用对象和参数对象的差并返回。
BigDecimal multiply(BigDecimal multiplicand) - 用于计算调用对象和参数对象的积并返回。
BigDecimal divide(BigDecimal divisor) - 用于计算调用对象和参数对象的商并返回。

String类:
String类基本概念:

java.lang.String类用于描述字符串,Java应用程序中所有字符串字面值都可以作为String类型的对象加以描述,如:”abc”等。
该类描述的字符串内容是个常量,一旦创建完毕后则不能更改,因此可以被共享。

常量池:
由于String类型描述的字符串内容是个常量不可改变,因此Java虚拟机提供了一个常量池,当Java程序中出现字符串内容时就放入常量池中,若后续出现重复的字符串内容则直接使用池中已有的对象而不需再次创建,从而提高了性能。