• 20175224 2018-2019-2 《Java程序设计》第七周学习总结


    教材学习内容总结

    第八章 常用实用类

    String类

    • 构造String对象:常量对象;String对象;引用String常量。
    • 字符串的并置:String对象使用“+”进行并置运算,即首尾相接。
    • 字符串与基本数据的相互转化:public static String valueOf(byte/int/long/float/double n)将上述类型转换为String对象。
    • 对象的字符串表示:Object类有一个public String toString()方法,一个对象通过调用该方法可以获得该对象的字符串表示。返回的形式为:创建对象的类的名字@对象的引用的字符串表示。
    • 字符串与字符数组、字节数组。
    1. 字符串与字符数组举例说明:
    String s="1945年8月15日是抗战胜利日";
    char []a=new char[4];
    s.getChars(11,15,a,0);//数组a的单元依次放的字符是抗 战 胜 利
    
    char []c;
    c="睡觉".toCharArray();//数组c的单元依次放的字符是 睡 觉
    1. 字符串与字节数组:String类的构造方法String (byte[],int offset,int length),从数组起始位置offset开始取length个字节,构造一个String对象。
    2. 字符的加密算法:若加密算法为做加法运算,则解密算法为减法运算。
    • 正则表达式及字符串的替换与分解
    1. 正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称为正则表达式的元字符。
    2. 元字符如图:

    1. 限定符如图:

    1. 字符串的替换:public String replaceAll(String regex,String replacement),调用方法返回一个新的String对象,新的String对象的字符序列是把当前对象字符序列中所有和参数regex相匹配的子字符序列,用参数replacament的字符序列替换后得到的新的字符序列,但不影响当前String对象的字符序列。
    2. 字符序列的分解:public String[]split(String regex):String对象调用该方法时,使用参数指定的正则表达式regex作为分隔标记分解出当前String对象的字符序列中的单词,并将分解出的单词存放在String数组中,如:
    String str="1949年10月1日建国";
    String regex="\D+";//匹配任何非数字字符序列
    String digitWord[]=str.split(regex);//digitWord[]存放的为:1949 10 1

    StringTokenizer类

    • 用于将字符序列分解成可被独立使用的单词时,使用该对象。StringTokenizer有两个构造方法:
    1. StringTokenizer(String s),使用默认的分隔标记,即空格符,换行符,回车符,Tab符等等。
    2. StringTokenizer(String s,String delim):参数delim的字符序列的字符的任意排列被作为标记符。
    3. 具体使用步骤:

      (1)设置分隔标记regex。String s=(正则表达式);

      (2)replaceAll方法的调用。s=s.replaceAll(regex,"#");

      (3)使用StringTokenizer创建分析器。StringTokenizer fenxi=new StringTokenizer(s,"#");

      (4)获取分线器中计数变量的值。int amount=fenxi.countTokens();

      (5)取出分析器中的String单元,使用数组或其他方式存储。

      double a[]=new double [amount]; String m; for (int i=0;i<n;i++) { m=fenxi.nextToken(); a[i]=Double.parseDouble(m); }
      while(fenxi.hasMoreTokens()) { String item = fenxi.nextToken(); double price = Double.parseDouble(item); }

      Scanner类

    • Scanner对象可以调用正则表达式作为分隔标记,即让Scanner对象在解析操作时,把与正则表达式匹配的字符序列作为分隔标记。默认使用空白字符作为分隔标记来解析String对象的字符序列的单词。
    Scanner sc=new Scanner(String s);
    sc.useDelimiter(正则表达式);

    优先使用StringTokenize类,进行String对象的分解

    StringBuffer类

    • StringBuffer类的对象的实体的存储空间可以自动的改变大小,便于存放。StringBuffer s=new StringBuffer("我喜欢"); s.append("Java")
    • StringBuffer有三个构造方法。

    Date类与Calendar类

    • Date类:Date nowTime=new Date();:获取当前时间。
    • 带参数的构造方法。
    • Calendar类学习参考Dome15

      日期的格式化

    • 使用String类调用format方法对日期格式化:format(格式化模式,日期列表);

      Math类、BigInteger类和Random类

    • Math类常用方法:

    1. public static long abs(double a):返回绝对值。
    2. public static double max/min(double a,double b):返回两个数中最大/小的数。
    3. public static double random():产生一个0~1之间的随机数([0,1))。
    4. public static double sqrt(double a):返回a的平方根。
    • BigInteger类:处理特别大的整数。常用方法暂时不用。
    • Random类:生成随机数。

      数字格式化

    • 参照C语言。

    学习中的问题和解决过程

    • 问题1:在例题8.5中,代码没有敲错,但是编译老是不通过,显示

    • 问题1解决方案:这个例题应用了java.util包中的Date类,但是在例题中没有体现,在主类前面加上import java.util.*;解决了问题。

    代码托管

    学习进度条

     代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
    目标 5000行 30篇 400小时  
    第一周 31/31 1/1 8/8  
    第二周 250/281 1/2 8/16  
    第三周 586/867 1/3 15/31  
    第四周 450/1317 1/4 9/40  

    第五周 251/1568 2/6 5/45  
     第六周  972/2540  1/7  10/55  
    第七周 467/3007 1/8 10/65  
  • 相关阅读:
    使用AWS、Docker与Rancher提供弹性的生产级服务
    如何用微服务重构应用程序
    Prometheus入门
    Docker监控:最佳实践以及cAdvisor和Prometheus监控工具的对比
    前后端分离session不一致问题
    Eclipse整合SSM框架+AOP+全局异常处理
    SSM配置基于注解AOP
    有关Linux
    Tomcat下配置javaWeb访问路径-Linux
    Linux下如何安装Nginx
  • 原文地址:https://www.cnblogs.com/axyaxy/p/10670504.html
Copyright © 2020-2023  润新知