zoukankan      html  css  js  c++  java
  • 20165330 2017-2018-2 《Java程序设计》第6周学习总结

    课本知识总结

    第八章 常用实用类

    String类
    1. String对象
      • 构造方法:
    • 使用String类声明对象并创建对象
    String s = new String("we are students");
    String t = new String("we are students");
    
    • String(char a[])用一个字符数组a创建一个String对象
    char a[] = {'J','a','v','a'};
    String s = new String(a);
    
    • String(char a[],int starIndex,int count)提取字符数组a中的一部分字符创建一个String对象,参数starIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数。
      • 引用String常量
    String s1,s2;
    s1 = "你好";
    s2 = "你好";
    
    1. 字符串的并置
    • String对象可以用“+”进行并置运算,即首尾相接得到一个新的String对象
    1. String类的常用方法
    • public int length()
    • public boolean equals(String s)
    • public boolean startsWith(String s)、public boolean endsWith(String s)
    • public int compareTo(String s)方法
    • public boolean contains(string s)
    • public int indexOf(String s)和public int lastIndexOf(String s)
    • public String substring(int starpoint)
    • public String trim()
    1. 字符串与基本数据的相互转化
    • java.lang包中的Integer类调用其类方法public static int parseInt(String s)可以将“数字”字符组成的字符序列,如:
    int x;
    String s = "876";
    x = Integer.parseInt(s);
    
    1. 字符串的替换
    • String对象调用public String replaceAll(String regex,String replacement)方法返回一个新的String对象
    1. 字符序列的分解
    • 利用方法public String[] split(String regex),使用regex作为分隔标记分解出当前String对象的字符序列中的单词
    StringTokenizer类
    1. StringTokenizer(String s):为String对象a构造一个分析器。使用默认的分隔标记,即空格符、换行符、回车符、Tab符、进纸符做分隔标记
    2. StringTokenizer(String s,String delim):为String对象s构造一个分析器。参数delim的字符序列中的字符的任意排列被作为分隔标记
    Scanner类
    1. Scanner对象可以解析字符序列中的单词
    String NBA = "I Love This Game";
    Scanner scanner = new Scanner(NBA);
    useDelimiter(正则表达式);
    
    1. 与StringTokenizer的区别
    • StringTokenizer类把分解出的全部单词都存放到StringTokenizer对象的实体中
    • Scanner类仅存放怎样获取单词的分隔标记
    StringBuffer类
    1. 构造方法
    • StringBuffer();
    • StringBuffer(int size);
    • StringBuffer(String s);
    1. 常用方法
    • append方法
    • public char charAt(int n)和public void setCharAt(int n,char ch)
    • StringBuffer insert(int index,String str)
    • public StringBuffer delete(int startIndex,int endIndex)
    • public StringBuffer reverse()
    • StringBuffer replace(int startIndex,int endIndex,String str)
    date类与Calendar类
    1. Date类
    • 构造方法
      • 无参数构造方法:Date nowTime = new Date();
      • 带参数构造方法:Date date1=new Date(1000),date2=new Date(-1000);
    1. Calendar类
    • 初始化:Calendar calendar = Calendar。getInstance();
    • 调用方法public int get(int filed)可以获取有关年份、月份、小时、星期等信息
    • 调用public long getTimeInMillis()可以返回当前calendar对象中时间的毫秒计时
    日期的格式化
    1. format方法:format(格式化模式,日期列表)
    • 格式化模式:是一个用双引号括起的字符序列,该字符序列中的字符由时间格式符和普通字符所构成
    • 日期列表:可以是用逗号分隔的Calendar对象或Date对象
    • 格式化同一日期:可使用“<”格式化同一个日期
    1. 不同区域的星期格式
    • 用特定地区的星期格式:format(Locale locale,格式化模式,日期列表);
    1. 数字格式化:调用format方法
    • 数据的宽度:"%md"在数字的左面增加空格;"%-md"在数字的右面增加空格
    Class类和Console类
    1. Class类
    • 创建对象:
    public static Class forName(String className) throws ClassNotFoundException
    
    • 对象调用:
    public Object newInstance() throws InstantiationException,IllegalAccessException
    
    1. Console类
    • 创建对象:Console cons = System.console();
    • 读取文本且不回显:char[] passwd = cons.readPassword();
    Pattern类与Matcher类
    1. 建立Pattern对象:使用正则表达式regex作参数得到一个称为模式的Pattern类的实例pattern
    Pattern pattern = Pattern.compile(regex);
    
    1. 得到Macher对象:得可以检索String对象input的Macher类的实例macher(称为匹配对象)
    Macher matcher = pattern.matcher(input);
    

    第十五章 泛型与集合框架

    1. 泛型
    • 泛型类声明:class 名称<泛型列表>
    • 声明对象
    Cone<Circle> coneOne;
    coneOne = new Cone<Circle>(new Circle());
    
    1. 链表
    • LinkedList链表:创建对象以链表结构存储数据
    • 创建空链表:LinkedList mylist = new LinkedList();
    • 使用add(E obj)方法依次增加节点
    • 使用get(int index)方法遍历链表
    • 排序与查找
      • 升序排序:public static sort(List list)
      • 折半法查找:int binarySearch(List list,T key,CompareTo c)
    • 洗牌与旋转
      • 随机排序:public static void shuffle(List list)
      • 旋转数据:static void rotate(List list,int distance)
      • 翻转数据:public static void reverse(List list)
    1. 堆栈
    • 创建堆栈对象:Stack
    • 压栈操作:public E push(E item);
    • 弹栈操作:public E pop();
    • 判断堆栈是否还有数据:public boolean empty();
    • 获取堆栈顶端的数据,但不删除该数据:public int search(Object data);
    1. 散列映射
    • 创建对象:HashMap<K,V>
    • 常用方法:
      image
    1. 树集:TreeSet创建对象,在使用add方法增加结点

    2. 树映射:TreeMap<K,V>对象

    代码托管

    image

    上周错题总结

    1. image

    解析:image

    1. image

    解析:这是多态的定义,而非继承。

    本周学习中遇到的问题

    • 在编译课本15章第三个例子是出现如下错误
      image

    解决方案:在参考了注:*.java使用了未经检查或不安全的操作 问题解决后,以及再重新阅读课本后我发现该版本的JDK对泛型的一些要求,自己在LinkedList后面加上了后编译成功,但自己还是没有很清楚,希望老师可以在课上讲解一下。

  • 相关阅读:
    CodeForces 219D Choosing Capital for Treeland (树形DP)
    POJ 3162 Walking Race (树的直径,单调队列)
    POJ 2152 Fire (树形DP,经典)
    POJ 1741 Tree (树的分治,树的重心)
    POJ 1655 Balancing Act (树的重心,常规)
    HDU 2196 Computer (树形DP)
    HDU 1520 Anniversary party (树形DP,入门)
    寒门子弟
    JQuery选择器(转)
    (四)Web应用开发---系统架构图
  • 原文地址:https://www.cnblogs.com/besty-zyx/p/8745464.html
Copyright © 2011-2022 走看看