20165234 《Java程序设计》第六周学习总结

时间:2022-04-15 19:22:56

第六周学习总结

教材学习内容总结

第八章 常用实用类

  • String类

Java专门提供了用来处理字符序列的 String 类。String类在java.lang包中,由于 java.lang 包中的类被默认引入,因此程序可以直接使用 String类。需要注意的是 Java 把 String 类声明为 final 类,因此用户不能扩展 String 类,即 String 类不可以有子类。

  1. 构造 String 对象

Java 把用户程序中的 String 常量放入常量池。

String 常量也是对象,有自己的引用和实体。

注:常量池中的数据在程序运行期间再也不允许改变。

可以使用 String 类声明对象并创建对象,例如:

String s = new String("we are students");

String t = new String("we are students");

用户无法输出String对象的引用: System.out.println(s); 输出的是对象的实体,即字符序列 we are students.

两个较常用的构造方法:

(1) String(char a[]) 用一个字符数组a创建另一个String对象;

(2) String(char a[],int startIndex,int count) 提取字符数组a中的一部分字符创建一个String对象。

  1. 字符串的并置 String 对象可以用“+”进行并置运算,即首尾相接。

  2. String 类的常用方法

 public int length() : 获取一个字符串的长度。

 public boolean equals(String s) : 判断当前 String 对象的字符序列是否与参数s指定的 String 对象的字符序列相同。

 public boolean startsWith(String s) : 判断当前 String 对象的字符序列前缀是否是参数指定的 String 对象 s 的字符序列。

 public int compareTo(String s) : 按字典序与参数s指定的字符序列比较大小。

 public boolean contains(String s) : String 对象调用 contains 方法判断当前 String 对象的字符序列是否包含参数s的字符序列。

 public int indexOf (String s) : String 对象调用方法从当前 String 对象的字符序列的0索引位置开始检索首次出现 str 的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是–1。

 public String substring(int startpoint) : 字符串对象调用该方法获得一个新的 String 对象,新的 String 对象的字符序列是复制当前 String 对象的字符序列中的 strartpoint 位置至最后位置上的字符所得到的字符序列。

 public String trim() : 得到一个新的 String 对象,这个新的 String 对象的字符序列是当前 String 对象的字符序列去掉前后空格后的字符序列。

第十五章 泛型与集合框架

  • 泛型

Java 泛型的主要目的是可以建立具有类型安全的集合框架,如链表、散列映射等数据结构。

可以使用“class 名称<泛型列表>”声明一个类,为了和普通的类有所区别,这样声明的类称作泛型类,如: class People<E> 其中People是泛型类的名称,E是其中的泛型,也就是说我们并没有指定E是何种类型的数据,它可以是任何对象或接口,但不能是基本类型数据。

  • 链表

 public static void shuffle(List<E> list) : 将list中的数据按洗牌算法重新随机排列。

 static void rotate(List<E> list, int distance) : 旋转链表中的数据。

 public static void reverse(List<E> list) : 翻转list中的数据。

  • 堆栈

 public E push(E item) : 实现压栈操作

 public E pop() : 实现弹栈操作。

 public boolean empty() : 判断堆栈是否还有数据。

 public E peek() : 获取堆栈顶端的数据,但不删除该数据。

 public int search(Object data) : 获取数据在堆栈中的位置

代码托管

代码提交的过程:

20165234 《Java程序设计》第六周学习总结

 20165234 《Java程序设计》第六周学习总结

代码量统计

20165234 《Java程序设计》第六周学习总结

上周考试错题总结

等答案出来之后我会一一订正、学习,并在此补充。