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

20175221   《Java程序设计》第7周学习总结

教材学习内容总结

第八章:常用实用类

String类:

  • String对象

  • 常量对象

  • 创建对象

  • 并置字符串:使用“+”对String对象进行并置运算,首尾相接得到一个新的String对象

引用String类的常用方法:

  • 1.public int length( ) :获取一个String对象的字符序列长度
  • 2.public boolean equals(String s):比较当前String对象与参数s的字符序列是否相同
  • 3.public boolean startsWith(String s):public boolean endsWith(Sting s): 判断当前字符序列的前缀或后缀,与s指定的字符序列是否相同
  • 4.public boolean contains(String s):判断当前字符序列是否包含参数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对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称作正则表达式的元字符
  • 正则表达式的元字符
  • StringTokenizer类

  • StringTokenizer有两个构造方法:

  • 1.StringTokenizer(String s):使用默认的分隔标记,即空格、回车、换行、Tab
  • 2. StringTokenizer(String s,String delim):使用delim中字符的任意排列作为分隔标记
  • Scanner类

  • Scanner对象可以调用正则表达式作为分隔标记,解析程序需要的字符序列中的数据
  • 构造对象:Scanner sc=new Scanner(String s)
  • 确定分隔标记:sc.useDelimiter(正则表达式)
  • StringBuffer类

  • StringBuffer有三个构造方法:
  • StringBuffer():分配初始容量16个字符,可以自动增加
  • StringBuffer(int size):初始容量为size,恶意自动增加
  • StringBuffer(String s):初始容量为s的字符序列长度+16
  • StringBuffer类的对象的实体的存储空间可以自动的改变大小,便于存放

  • Date类与Calendar类

  • Date类:Date nowTime=new Date()--获取当前时间

  • Calendar类:
  • 初始化:Calendar calendar = new Calendar.getInstance()
  • 日期的格式化

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

  • Math类,BigInter类和Random类

  • Math类用于静态方法、常量E和PI

  • BigInter类用于处理特别大的整数

  • Random类产生随机数

教材学习中的问题和解决过程

  • 问题1:
  • java中的Scanner类和C语言中的scanf有什么区别吗
  • 问题1解决方案:

  • 查阅资料知:

  • 1.java是面向对象的语言

  • 它没有像C语言中的scanf()函数,但是它的类库中有含有scanf功能的函数

  • 2.java.util包下有Scanner类

  • Scanner类的功能与scanf类似

  • 3.Scanner类的使用

  • Scanner使用next()方法接收输入的任何字符串

  • 以回车换行符为结束标志

  • Scanner接收的字符串需要经过类型转换变成你想要的类型

代码调试中的问题和解决过程

  • 问题1:编译报错:时间进行语法分析时已到达文件结尾

  • 问题1解决方案:

  • 查资料知原因:
  • 分析已达到文件结尾一般是括号没有闭合,或者缺少了分号
  • 问题2:对Date now = new Date()的一些思考:
  • 问题2解决方案:
  • 代码如下:
  • package collection.exercise;
    
    import java.util.Date;
    
    import java.text.SimpleDateFormat;
    
    import java.text.ParseException;
    
    public class Test1 {
    
        public static void main(String[] args) throws ParseException {
    
    // TODO Auto-generated method stub
    
            //使用Format()方法将日期转换为指定的格式
    
            SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日  hh时mm分ss秒");
    
            SimpleDateFormat df1 = new SimpleDateFormat("yyyy/MM/dd/  hh/mm/ss");
    
            SimpleDateFormat df2 = new SimpleDateFormat("yyyy-MM-dd  hh-mm-ss");
    
    //创建对象,获取当前日期
    
            Date now = new Date();
    
            String date = df.format(now);
    
            String date1 = df1.format(now);
    
            String date2 = df2.format(now);
    
            System.out.println(date);
    
            System.out.println(date1);
    
            System.out.println(date2);
    
    //使用parse()方法将文本转换为日期
    
            Date a = df.parse(date);
    
            Date b = df1.parse(date1);
    
            Date c = df2.parse(date2);
    
            System.out.println(a);
    
            System.out.println(b);
    
            System.out.println(c);
        }
    }
  • 运行结果如下:

  • 思考:

  • 对当前时间的输出格式,可以在创建对象的时候一同进行编辑。但是用parse获得的时间,不能改变其输出的格式

代码托管(https://gitee.com/zxjacdl/zxj175221/tree/master/eight)

statistics.sh脚本的运行结果截图

上周考试错题总结 

  • 上周考试无错题

其他(感悟、思考等,可选)

  • 第八章的常用实用类真的很有用,课下应该多多练习以熟记

学习进度条(四月份继三月份)

 代码行数(新增/累积)博客量(新增/累积)学习时间(新增/累积)重要成长
目标   5000行 8篇 100小时  
第一周 13/13 1/1 12/12  
第二周     309/322 1/2 13/25  
第三周     614/923 1/3 15/40  
第四周       384/1379 1/4 12/52  
第五周       565/1954 1/5 12/64  
第六周     1080/3034 1/6 15/79  
第七周       671/3705 1/7 12/91  

尝试一下记录「计划学习时间」和「实际学习时间」,到期末看看能不能改进自己的计划能力。这个工作学习中很重要,也很有用。 耗时估计的公式 :Y=X+X/N ,Y=X-X/N,训练次数多了,X、Y就接近了。

参考:软件工程软件的估计为什么这么难软件工程 估计方法

  • 计划学习时间:12

  • 实际学习时间:12

  • 改进情况:继续保持稳定前进

(有空多看看现代软件工程 课件软件工程师能力自我评价表)

参考资料

  • Java学习笔记(第8版)

  • 《Java学习笔记(第8版)》学习指导

  • [ Java 2 实用教程(第5版)]

  • 正则表达式的元字符(https://www.cnblogs.com/self-hard/p/10232281.html)
  • C语言中的scanf在java中应该怎么表达,Scanner类(https://www.cnblogs.com/alsf/p/6231874.html)
  • java语法错误,进行分析时已经到达文件结尾(https://zhidao.baidu.com/question/680373923976896932.html)
 
 
 
 
原文地址:https://www.cnblogs.com/zxja/p/10672041.html