20175306王佳烁第七周学习总结
20175306 2018-2019-2 《Java程序设计》第7周学习总结
教材学习内容总结
第八章:常用实用类
- String类:可以被直接使用,不可以有子类。
- String对象:可以使用String类声明对象并创建对象,例如:String s = new String("we are students");
String t = new String("we are students"); - 字符串的并置:String对象可以使用“+”进行并置运算,首尾相接得到一个新的String对象。
- String类的常用方法:
1.public int length( ) 用来获取一个String对象的字符序列的长度;
2.public boolean equals(String s) 用来比较当前String对象的字符序列是否与参数s指定的String对象的字符序列相同;
3.public boolean startsWith(String s)、public boolean endsWith(Sting s) 判断当前String对象的字符序列前缀是否是参数指定的String对象s的字符序列;
4.public boolean contains(String s) 用来判断当前String对象的字符序列是否包含参数s的字符序列;
5.public int indexOf (string s) 从当前String对象的字符序列的0索引位置开始检索首次出现s的字符序列位置并返回该位置,若没检索到,该方法的返回值为-1;
6.public int lastIndexOf(String s) 从当前String对象的字符序列的0索引位置开始检索最后一次出现s的字符序列的位置,并返回该位置,若没检索到,则返回-1;
7.public String trim() 得到一个新的String对象,这个String对象的字符序列是当前String对象的字符序列去掉前后空格后的字符序列。 - 正则表达式:正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称作正则表达式的元字符。
- 泛型:其主要目的是可以建立具有类型安全的集合框架。
- 链表:由若干个称作结点的对象组成的一种数据结构,用于动态的减少或增加数据项。
- 排序:public static sort(Listlist) 将list中的元素按升序排列。
- 查找:int binarySearch(List list,T key,CompareTo c) 使用折半查找查找list中是否含有和参数key相等的元素。
- 洗牌:public static void shuffle(List list) 将list中的数据按洗牌算法重新随机排列。
- 旋转:static void rotate(List list,int distance) 旋转链表中的数据。
- 压栈:public E push (E item);
- 弹栈:public E pop( );
- 判断堆栈中是否还有数据:public E peek();
- 获取堆栈顶端的数据,但不删除该数据: public int search(Object data);
教材学习中的问题和解决过程
-
问题一:在看到第一章的时候看到常量池和动态区,看课本的时候我还分的清这两个,但是单独看代码的时候还是会被迷惑,然后我就简单查了一下常量池和动态区的区分方法,但是查到了更深的东西,我就简单把我理解的东西总结了一下
-
解决过程:1)常量池分为两种,静态常量池和运行时的常量池。静态常量池也就是Class文件中的常量池,运行时的常量池:运行时常量池是方法区的一部分。2)常量池的好处:节约内存空间,节省运行时间。
-
问题二:在学习键入数据时我们学到了两种方法,一种是使用Scanner in的方法,还有一种是Integer的方法,但是这两种方法我有时候会混淆,然后我也是自己做了一个总结,当然也查了资料。
-
解决过程:1.Java命令行参数:
-
即main方法的参数String[] args;
-
这里就只声明三点:
-
命令行参数是从程序名称之后开始算的:java JavaApplication arg1 arg2 arg3 ...
-
args[0]是第一个参数arg1,而并非程序名JavaApplication;
-
命令行参数是用空格作为分隔符的,如果参数本身是包含空格的,则该参数应该用双引号""引起来,避免其中的空格被当做参数分隔符!!
-
-
2.Scanner:
-
是一种基于正则表达式的文本扫描器,可以扫描文本中的字符串(模式)、数字等;
-
它是一种高级处理流,可以包装文件、键盘输入流、字符串等,对这些节点中的文本流数据进行解析;
代码托管
码云链接:>https://gitee.com/wjs123456/wjs20175306/tree/master/src/ch8
本周代码详情
总结
本周所学的知识比较实用,在我们写程序时经常会用到,比如我们在做结对项目四则运算的时候就用到了很多本章的知识。但是本章的知识也比较多,比较杂,容易混淆,所以我们在使用的时候要格外小心,平时的时候多多练习,以便让自己更加熟练,这样才不会用错。