20175320 2018-2019-2 《Java程序设计》第7周学习总结

教材学习内容总结

本周学习了教材的第八章的内容,在这章中介绍了常用的实用类,着重讲了如何利用String类、StringBuffer类处理字符序列的信息,使用StringTokenizer、Scanner类分析字符序列,以及使用各种类进行时间处理、处理特别大的整数以及格式化。

String类

String常量是使用双引号括起来的字符序列,String变量使用构造方法分配内存空间并在内存空间中放入字符序列,然后计算出引用。
String对象可以使用“+”进行并置运算,参与并置的运算的String对象,只要有一个是变量,那么就会在动态区存放所得到的新的String对象的实体和引用。如果是两个常量进行并置运算,那么得到的仍然是常量。
String类的常用方法:

  • 1、public int length():用来获取一个String对象的字符序列的长度。
  • 2、public Boolean equanls(String s):比较当前String对象的字符序列是否与参数s指定的String对象的字符序列相同。
  • 3、public Boolean startsWith(String s)、public Boolean endsWith(String s)方法:判断当前的字符序列前缀是否是参数指定的String对象s的字符序列。
  • 4、public int compareTo(String s)方法:按字典序与参数指定的String对象s的字符序列比较大小。
  • 5、public Boolean contains(String s):判断当前String对象的字符序列是否包含参数s的字符序列。
  • 6、public int indexOf(String s)和public int lastIndexOf(String s):String对象调用方法indexOf(String str)从当前String对象的字符序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是-1.lastIndexOf(String s)方法检索最后一次出现str的字符序列的位置。
  • 7、public String substring(int startpoint):得到一个新的字符串,新的字符串是复制当前String对象的字符序列中的startpoint位置至最后位置上的字符所得到得字符序列。
  • 8、public static String valueOf(int n):将参数转化为String对象。
  • 9、public String toString()方法:获得该对象得字符串表示,可对该方法进行重写。
  • 10、public char[] toCharArray():将String对象的字符序列的全部字符存放在一个字符数组中。
  • 11、public boolean matches(String regex):判断当前String对象的字符序列是否和参数regex指定的正则表达式匹配。
  • 12、public String replaceAll(String regex,String replacement):返回一个新的替换后的String对象。
  • 13、public String[] split(String regex):使用参数指定的正则表达式regex作为分隔符标记分解出当前String对象的字符序列中的单词。

StringTokenizer类

可使用该类的对象分解String对象的字符序列,常用构造方法为StringTokenizer(String s),StringTokenizer(String s,String delim)。
常用方法:

  • 1、nextToken():逐个获取String对象的字符序列中的单词。
  • 2、hasMoreToken():只要字符序列中还有语言符号,该方法就返回true,否则返回false。
  • 3、countToken():返回剩余的字符的个数。

Scanner类

重要方法:

  • 1、next():依次返回被解析的字符序列中的单词。
  • 2、hasNext():可查看被解析的字符序列中是否还有单词。

StringBuffer类

String对象的字符序列是不可修改的,但StringBuffer类的对象的实体的内存空间可以自动地改变大小,便于存放一个可变的字符序列,构造方法为StringBuffer(),StringBuffer(int size),StringBuffer(String s)。
重要方法:

  • 1、length():获取实体中存放的字符序列的长度。
  • 2、capacity():获取当前实体的实际容量。
  • 3、StringBuffer append(String s):将String对象s的字符序列追加到当前StringBuffer对象的字符序列中,并返回当前StringBuffer对象的引用。
  • 4、public char charAt(int n)和public void setCharAt(int n,char ch):得到序列位置n上的字符和替换ch指定的字符。
  • 5、StringBuffer insert(int index,String str):将参数str指定的字符序列插入到参数index指定的位置。
  • 6、public StringBuffer reverse():将对象实体中的字符序列翻转。
  • 7、StringBuffer delete(int startIndex,int endIndex):从当前StringBuffer对象的字符序列中删除一个子字符序列,并返回当前对象的引用。
  • 8、StringBuffer replace(int startIndex,int endIndex,String str):将当前StringBuffer对象的字符序列的一个子字符序列用参数str指定的字符序列替换。

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

本周的学习内容并不算难度很高,教材的示例代码也给出了相关方法的作用以及具体使用方式,在学习过程中没有什么困难,但是仍存在相关类以及方法较多且较繁杂的问题,这需要在练习中加深印象。

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

  • 问题1:运行如图程序时显示方法已过时:
  • 问题1解决方法:使用javac -Xlint:deprecation Example8_20.java命令对代码进行编译,发现是newInstance()方法已过时。

代码托管

上周考试错题总结

  • 错题1:该错误应通过Exception类来进行描述。
  • 错题2:

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

在本周的学习过程中遇到了许多前面使用过的类,在这周的内容中介绍了更多的常用类并对前面出现过的类进行了拓展,个人觉得本章内容还是十分重要的,在做项目的过程中我多次用到了本周的内容,但常用类直接的关系以及类的各种方法容易混淆,需要在今后的联系中多理解。

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第七周 1140/6393 1/11 20/152

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

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

参考资料

20175320 2018-2019-2 《Java程序设计》第7周学习总结的更多相关文章

  1. 学号 20175212 《Java程序设计》第九周学习总结

    学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...

  2. 20145213《Java程序设计》第九周学习总结

    20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...

  3. 20145213《Java程序设计》第二周学习总结

    20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...

  4. 20145213《Java程序设计》第一周学习总结

    20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...

  5. 21045308刘昊阳 《Java程序设计》第九周学习总结

    21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...

  6. 20145330孙文馨 《Java程序设计》第一周学习总结

    20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...

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

    20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...

  8. 20145337 《Java程序设计》第二周学习总结

    20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...

  9. 20145218《Java程序设计》第一周学习总结

    20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...

  10. 《Java程序设计》第九周学习总结

    20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...

随机推荐

  1. Xvector in Kaldi nnet3

    Xvector nnet Training of Xvector nnet Xvector nnet in Kaldi     Statistics Extraction Layer in Kaldi ...

  2. Java基础8-多线程;同步代码块

    作业解析 利用白富美接口案例,土豪征婚使用匿名内部类对象实现. interface White{ public void white(); } interface Rich{ public void ...

  3. 使用fetch调用node.js的Resuful服务

    在目前的软件架构中,慢慢又有这样的趋势,就是在前端和业务接口层中间再加入一层,这是由于nodejs相对JAVA而言不适合做复杂的业务逻辑,如下图: 在这样的结构中,JS前端和web层都是前端开发工程师 ...

  4. jsp注释<%-- --%>和<!-- -->的区别

    最近在写JSP页面注释的时候,遇到一个问题,在JSP页面引用的静态属性资源文件时,在浏览器控制台报错,当我把引用的标签注释掉后,用的是<!-- -->.然后浏览器仍然报了之前那个错,经过查 ...

  5. 【easy】404. Sum of Left Leaves

    求所有左节点的和. /** * Definition for a binary tree node. * struct TreeNode { * int val; * TreeNode *left; ...

  6. Git常用的操作

    1.git使用的常规操作     git pull——>编辑——>git add——>git commit——>git push 用git add把文件添加进去,实际上就是把文 ...

  7. LabVIEW--使用云端编译器编译多个vi

    使用ni 云服务器编译vi 详细请看链接: https://users.niwsc.com/compilecloud/#/ http://www.ni.com/white-paper/52328/en ...

  8. Visual Studio 2015 NuGet Update-Package 失败/报错:Update-Package : Unable to load the service index for source https://api.nuget.org/v3/index.json.

    起因 为了用VS2015 community中的NuGet获取Quartz,在[工具]-[NuGet包管理器]-[程序包管理器控制台]中执行 Install-Package Quartz. 却报如下错 ...

  9. rsyslog磁盘辅助(Disk-Assisted)模式踩坑记

    最近公司为方便tracing.排查, 搞全链路日志收集,而我手上的10亿+pv的动态前端服务必然在考虑之列. 之前呢. 都是运维定制的收集方式: 如上图,rsyslog push kafka, 优点嘛 ...

  10. prototype、proto、constructor 之间的关系