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命令行参数:

    1. 即main方法的参数String[] args;

    2. 这里就只声明三点:

      1. 命令行参数是从程序名称之后开始算的:java JavaApplication arg1 arg2 arg3 ...

      2. args[0]是第一个参数arg1,而并非程序名JavaApplication;

      3. 命令行参数是用空格作为分隔符的,如果参数本身是包含空格的,则该参数应该用双引号""引起来,避免其中的空格被当做参数分隔符!!

2.Scanner:

  1. 是一种基于正则表达式的文本扫描器,可以扫描文本中的字符串(模式)、数字等;

  2. 它是一种高级处理流,可以包装文件、键盘输入流、字符串等,对这些节点中的文本流数据进行解析;

代码托管

码云链接:>https://gitee.com/wjs123456/wjs20175306/tree/master/src/ch8

本周代码详情

总结

本周所学的知识比较实用,在我们写程序时经常会用到,比如我们在做结对项目四则运算的时候就用到了很多本章的知识。但是本章的知识也比较多,比较杂,容易混淆,所以我们在使用的时候要格外小心,平时的时候多多练习,以便让自己更加熟练,这样才不会用错。

原文地址:https://www.cnblogs.com/wjs123456/p/10700764.html