Java程序设计涵盖了许多核心概念,这里我们主要讨论与给定文件相关的知识点。
1. **Java标准类库**:Java提供了一套丰富的标准类库,包括`Math`类、集合框架等。`Math`类提供了各种数学运算方法,如`sqrt()`用于计算平方根,`pow()`用于计算幂次,`max()`和`min()`用于获取两个数中的最大或最小值。
2. **集合框架**:
- **接口**:`Collection`是最基础的接口,它有两个主要子接口`List`和`Set`。`List`接口要求元素有序且可重复,如`ArrayList`和`LinkedList`;`Set`接口要求元素唯一,如`HashSet`和`TreeSet`。
- **`HashSet`和`TreeSet`的区别**:`HashSet`基于哈希表,插入和查询速度快,但元素无序;`TreeSet`基于红黑树,元素自动排序,但插入和查询速度较慢。
- **`HashMap`和`TreeMap`的区别**:`HashMap`是基于哈希表的映射,查找和插入速度快,但无序;`TreeMap`基于红黑树,元素按键的自然顺序或自定义比较器排序。
3. **对象的相等性**:`equals()`方法用于比较对象的内容是否相等,而`hashCode()`用于对象的哈希码,它们在集合操作中起关键作用。示例中`T1_2`类重写了这两个方法,使得所有实例被视为相等,所以`HashSet`添加重复对象时,大小仍为1。
4. **迭代器(Iterator)**:迭代器是访问集合元素的主要方式,它提供了`hasNext()`、`next()`和`remove()`方法。
5. **基本数据类型和包装类**:Java有8种基本数据类型,对应的包装类如`Double`、`Integer`等。表达式`Double a=new Double(2.0)`是创建一个`Double`对象,而`double a=2.0`是声明一个基本类型的变量。
6. **`System`类**:属于`java.lang`包,包含各种系统级操作,如`System.out.println()`用于输出。
7. **浮点型(Float)**:`Float`是`java.lang`包中的一个类,它包装了浮点数。正确赋值方法如`Float a = new Float(1.0)`。
8. **集合操作**:集合可以包含不同类型的元素,但`Set`不允许有重复元素。`Map`接口存储键值对,不直接继承自`Collection`接口,而是与`Collection`并列的接口。
9. **枚举(Enum)**:枚举是Java中的一个特殊类,用于定义一组固定的常量,不包含删除功能的方法。
10. **Swing事件处理**:Swing是Java的图形用户界面(GUI)库,它的事件模型是基于监听器的。事件通常包括鼠标点击、键盘输入等,对应的事件处理器会响应这些事件。
以上是Java程序设计的一些核心知识点,涉及到了标准类库的使用、集合框架、对象相等性、迭代器、基本数据类型与包装类、系统类、浮点型以及GUI编程的基础。理解和掌握这些内容对于编写高质量的Java程序至关重要。