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

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

教材学习内容总结

8.1.String类

  • 可以使用String类声明对象并创建对象,例如:

String s = new String("we are students");

String tom = new String(s);

  • 用户无法输出String对象的引用:
Syste.out.println(s);

输出的是对象的实体,即字符序列we are students

  • String对象可以用“+”进行并置运算,即首尾相接得到一个新的String对象。
  • String中的常用方法

1.public int length():获取一个字符串的长度

2.public boolean equals(String s):判断当前String对象的字符序列是否与参数s指定的String对象的字符序列相同

3.public boolean startsWith(String s)
判断当前String对象的字符序列前缀是否是参数指定的String对象s的字符序列,例如:

String tom = "天气预报,阴有小雨",jerry = "比赛结果,中国队赢得胜利";

tom.startsWith(“天气”)的值是true;

tom.endsWith("大雨")的值是false

  1. public int compareTo(String s):按字典序与参数s指定的字符序列比较大小。

5.public boolean contains(String s):String对象调用contains方法判断当前String对象的字符序列是否包含参数s的字符序列,例如,tom="student",那么tom.contains("stu")的值就是true,而tom.contains("ok")的值是false。

6.public int indexOf (String str):String对象调用方法从当前String对象的字符序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是–1,

其相关方法:

indexOf(String s ,int startpoint)

lastIndexOf (String s)

例如

String tom = "I am a good cat";
              tom.indexOf("a");//值是2
              tom.indexOf("good",2);//值是7
              tom.indexOf("a",7);//值是13
              tom.indexOf("w",2);//值是-1
  1. public String substring(int startpoint):字符串对象调用该方法获得一个新的String对象,新的String对象的字符序列是复制当前String对象的字符序列中的startpoint位置至最后位置上的字符所得到的字符序列。String对象调用substring(int start ,int end)方法获得一个新的String对象,新的String对象的字符序列是复制当前String对象的字符序列中的start位置至end–1位置上的字符所得到的字符序列。

8.public String trim() :得到一个新的String对象,这个新的String对象的字符序列是当前String对象的字符序列去掉前后空格后的字符序列。

  • 字符串与基本数据的相互转化
  • Java.lang包中的Integer类调用其类方法:
    public static int parseInt(String s)
    可以将由“数字”字符组成的字符串,如“876”,转化为int型数据
    例如:
                  int x;
                  String s = “876";
                  x = Integer.parseInt(s);

类似地,使用java.lang包中的Byte、Short、Long、Float、Double类调相应的类方法可以将由"数字"字符组成的字符串,转化为相应的基本数据类型

  • 对象的字符串表示
    public String toString()方法,一个对象通过调用该方法可以获得该对象的字符序列表示。
  • 字符串与字符、字节数组
    String 类的构造方法:
    String(char[]);String(char[],int offset,int length)分别用字符数组中的全部字符和部分字符创建字符串对象
    将String对象的部分字符序列存放到数组中的方法: public void getChars(int start,int end,char c[],int offset )
    将String对象的字符序列存放到数组中的方法
public char[] toCharArray()

8.2.StringTokenizer类

StringTokenizer类在java.util包中,有两个常用的构造方法:

StringTokenizer(String s):为String对象s构造一个分析器。使用默认的分隔标记,即空格符、换行符、回车符、Tab符、进纸符做分隔标记。

StringTokenizer(String s, String delim)为String对象s构造一个分析器。参数delim的字符序列中的字符的任意排列被作为分隔标记。

包含方法

(1) nextToken():逐个获取字符串中的语言符号(单词),字符串分析器中的负责计数的变量的值就自动减一 。

(2) hasMoreTokens():只要字符串中还有语言符号,即计数变量的值大于0,该方法就返回true,否则返回false。

(3)countTokens():得到分析器中计数变量的值。

8.3.Scanner类

使用Scanner类从字符串中解析程序所需要的数据。
例如,对于String对象NBA

String NBA = "I Love This Game";为了解析出NBA的字符序列中的单词,可以如下构造一个Scanner对象。

Scanner scanner = new Scanner(NBA);

Scanner对象可以调用方法
useDelimiter(正则表达式);

8.4StringBuffer类

1)StringBuffer append(String s):将String对象s的字符序列追加到当前StringBuffer对象的字符序列中,并返回当前StringBuffer对象的引用
StringBuffer append(int n):将int型数据n转化为String对象,再把该String对象的字符序列追加到当前StringBuffer对象的字符序列中,并返回当前StringBuffer对象的引用

2)public chat charAt(int n ):得到参数n指定的置上的单个字符
public void setCharAt(int n ,char ch):将当前StringBuffer对象实体中的字符串位置n处的字符用参数ch指定的字符替换

3)StringBuffer insert(int index, String str) :将参数str指定的字符串插入到参数index指定的位置

4)public StringBuffer reverse() :将该对象实体中的字符翻转

5)StringBuffer delete(int startIndex, int endIndex):从当前StringBuffer对象实体中的字符串中删除一个子字符串

6)StringBuffer replace(int startIndex,int endIndex,String str):将当前StringBuffer对象实体中的字符串的一个子字符串用参数str指定的字符串替换

8.5Date与Calendar类

1.Date()使用Date类的无参数构造方法创建的对象可以获取本地当前时间。例如Date nowTime=new Date();

2.Calendar类

使用Calendar类的static方法 getInstance()可以初始化一个日历对象,
如:

Calendar calendar= Calendar.getInstance();

8.6日期的格式化

1.format方法
Formatter类的format方法:

  • format(格式化模式, 日期列表)
  • 按着“格式化模式”返回“日期列表”中所列各个日期中所含数据(年,月,日,小时等数据)的字符串表示。

2.不同区域的星期格式

如果想用特定地区的星期格式来表示日期中的星期,可以用format的重载方法:

 format (Locale locale,格式化模式,日期列表);
  • 其中的参数locale是一个Locale类的实例,用于表示地域。
  • Locale类的static常量都是Locale对象,其中US是表示美国的static常量。

8.7 Math、BigInterger和Random类

1 . Math类

Math类在java.lang包中。Math类包含许多用来进行科学计算的类方法,这些方法可以直接通过类名调用。

2.BigInterger类

java.math包中的BigInteger类提供任意精度的整数运算。可以使用构造方法:

public BigInteger(String val) 构造一个十进制的BigInteger对象。

3.Random类

Random类的如下构造方法:

public Random();

public Random(long seed);使用参数seek指定的种子创建一个Random对象

随机数生成器random调用不带参数的nextInt()方法:

Random random=new Random();

random.nextInt();

返回一个0至n之间(包括0,但不包括n)的随机数

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

教材学习有问题先去https://shimo.im/doc/1i1gldfsojIFH8Ip/看看,如果别人没有提出相同问题,可以编辑文档添加,然后把自己提出的问题复制到下面:

  • 问题1:因书中说String(char a[],int startIndex,int count) 提取字符数组a中的一部分字符创建一个String对象,参数startIndex和count分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数,如:
    char a[] = {‘零‘,‘壹‘,‘贰‘,‘叁‘,‘肆‘,‘伍‘,‘陆‘,‘柒‘,‘捌‘,‘玖‘};
    String s = new String(a,2,4);
    相当于
    String s = new String("贰叁肆伍");
    为什么String类自身包含着多种默认的构造方法
  • 问题1解决方案:之后书中本章的常用类大多都有这样的特性。

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

代码托管

上周考试错题总结

结对及互评

评分标准

  1. 正确使用Markdown语法(加1分):

    • 不使用Markdown不加分
    • 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
    • 排版混乱的不加分
  2. 模板中的要素齐全(加1分)
    • 缺少“教材学习中的问题和解决过程”的不加分
    • 缺少“代码调试中的问题和解决过程”的不加分
    • 代码托管不能打开的不加分
    • 缺少“结对及互评”的不能打开的不加分
    • 缺少“上周考试错题总结”的不能加分
    • 缺少“进度条”的不能加分
    • 缺少“参考资料”的不能加分
  3. 教材学习中的问题和解决过程, 一个问题加1分
  4. 代码调试中的问题和解决过程, 一个问题加1分
  5. 本周有效代码超过300分行的(加2分)
    • 一周提交次数少于20次的不加分
  6. 其他加分:
    • 周五前发博客的加1分
    • 感想,体会不假大空的加1分
    • 排版精美的加一分
    • 进度条中记录学习时间与改进情况的加1分
    • 有动手写新代码的加1分
    • 课后选择题有验证的加1分
    • 代码Commit Message规范的加1分
    • 错题学习深入的加1分
    • 点评认真,能指出博客和代码中的问题的加1分
    • 结对学习情况真实可信的加1分
  7. 扣分:
    • 有抄袭的扣至0分
    • 代码作弊的扣至0分
    • 迟交作业的扣至0分

点评模板:

  • 博客中值得学习的或问题:

    • xxx
    • xxx
    • ...
  • 代码中值得学习的或问题:
    • xxx
    • xxx
    • ...
  • 基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
  • 参考示例

点评过的同学博客和代码

  • 本周结对学习情况

    • 结对同学学号1
    • 结对照片
    • 结对学习内容
      • XXXX
      • XXXX
      • ...
  • 上周博客互评情况(只要链接,具体点评放相应博客下)
    • 学号1
    • 学号2
    • 学号3
    • 学号4
    • ...

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

xxx
xxx

学习进度条

代码行数(新增/累积) 博客量(新增/累积) 学习时间(新增/累积) 重要成长
目标 5000行 30篇 400小时
第一周 6/6 1/1 20/20
第二周 245/251 1/2 18/38
第三周 633/884 1/3 22/60
第四周 305/1189 1/4 30/90
第五周 410/1599 3/7 30/120
第六周 1135/2734 3/10 30/150
第七周 781/3515 3/13 30/180

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

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

  • 计划学习时间:XX小时
  • 实际学习时间:XX小时
  • 改进情况:

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

参考资料

原文地址:https://www.cnblogs.com/thz666/p/10706455.html

时间: 2024-11-05 21:05:52

学号20175212 《Java程序设计》第7周学习总结的相关文章

20155335 俞昆 2016-2017-2 《Java程序设计》第九周学习总结

学号 2016-2017-2 <Java程序设计>第九周学习总结 ##JDBC入门 在正式介绍JDBC前,已知JDBC是用来执行SQL的解决方案,开发人员使用JDBC的标准接口,开发人员不需接触底层数据库驱动程序的差异性. 本章,我们需要了解JDBC与API使用和概念,我们先要认识应用程序如何与数据库进行沟通,数据库本身是一种独立运行的应用程旭,程序员撰写的应用程序是利用通信协议对数据库进行指令交换,以进行数据的增加删除以及查找. 通常应用程序会利用一组专门与数据库进行通信协议的链接库,以简化

201521123045 &lt;java程序设计&gt;第11周学习总结

201521123045 <java程序设计>第11周学习总结 1. 本周学习总结 2. 书面作业 2. 书面作业 Q1.1.互斥访问与同步访问完成题集4-4(互斥访问)与4-5(同步访问) import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.Condition; class Account{ private int balance; private Lock lock = new

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

学号 20165324 <Java程序设计>第九周学习总结 教材学习内容总结 第十三章 Java网络编程 URL类 使用URL创建对象的应用程序称为客户端 一个URL对象封装一个具体资源的引用 一个URL对象包含最基本的三部分信息:协议,地址和资源. URL类的构造方法: 该构造方法使用字符串初始化一个URL对象URL url=new URL("http://www.google.com"); public URL(String protocol,String host,S

20155336 2016-2017-2《JAVA程序设计》第二周学习总结

20155336 2016-2017-2 <JAVA 程序设计>第二周学习总结 教材学习内容 1: GIT版本检测 2: JAVA中基本类型 整数 字节 浮点数 字符 布尔(▲) 通过API可以得知各个类型可存储的数值范围 public class Range {public static void main(String[] args){ //byte.short.int.long的范围 System.out.printf("%d~%d%n", Byte.MIN_VALU

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

# 20145201 <Java程序设计>第一周学习总结 ## 教材学习内容总结 万事开头难,终于开始学习了Java.寒假的时候看到老师的要求确实有点慌,但是这周翻开书,从书本知识第一行学起,发现并不是自己想想中那么难,只要一步一个脚印,每周有自己的计划,并按照计划按部就班的完成,最后一定会拥有自己的小成果的. 1.1Java不只是语言 Java经过多年的版本更新后,最新的版本是Java SE8. 在java发展的过程中,它的应用领域越来越广,根据不同级别的应用开发区分了不同的应用版本,最终j

20145326蔡馨熠《Java程序设计》第一周学习总结

20145326蔡馨熠 <Java程序设计>第一周学习总结 教材学习内容总结 转眼间新的一学期终于开始了!为什么我这么期待呢?因为这学期可以上娄嘉鹏老师的java程序设计课,我不是什么电脑天才,之前c语言学得也不是特别好.可我就是对hdl和java特别感兴趣(之前在我的问卷调查报告里面提到过),并且寒假的时候在家里也预习了一部分java知识.第一周要求学习两个章节并作心得体会,虽然我早已看过前两章的知识,不过为了进一步巩固,我还是用了星期六一天的时间把第一章和第二章的知识从头到尾仔仔细细的看了

20145224-陈颢文 《Java程序设计》第一周学习总结

20145224 <Java程序设计>第一周学习总结 教材学习内容总结 通过第一周的学习让我对Java有了个初步的了解,知道了Java分为Java SE.Java EE.Java ME三大平台,其中Java SE是基础.Java的一大特点是它可以跨平台,而JVM对Java的跨平台提供了支持,它就类似于一个虚拟机,只要在当前平台安装了相应的JVM,Java程序就有了可以在此平台上运行的基础啦.JRE是Java的执行环境,在安装了JRE的计算机上就可以运行Java的程序了,当然光是可以跑代码对于程

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

20145326<Java程序设计>第二周学习总结 教材学习内容总结 本周学习教材第三章,本章主要讲述了java语言中的一些基础语法,java是个支持面向对象的程序语言,但在正式进入面向对象支持语法的探讨前,对于类型.变量.运算符.流程控制等,这些各种程序语言都会有的基本语法元素,还是要有一定的基础.虽然各种程序语言都有这些基本语法元素,但千万别因此而轻忽它们,因为各种程序语言都有其诞生的宗旨与演化过程,对这些基本语法元素,也就会有其独有的特性. 1. 类型 在java的世界中,并非每个东西都

20145201 《Java程序设计》第一周学习总结(修改)

# 20145201 <Java程序设计>第一周学习总结 ## 教材学习内容总结 万事开头难,终于开始学习了Java.寒假的时候看到老师的要求确实有点慌,但是这周翻开书,从书本知识第一行学起,发现并不是自己想想中那么难,只要一步一个脚印,每周有自己的计划,并按照计划按部就班的完成,最后一定会拥有自己的小成果的. 1.1Java不只是语言 Java经过多年的版本更新后,最新的版本是Java SE8. 在java发展的过程中,它的应用领域越来越广,根据不同级别的应用开发区分了不同的应用版本,最终j

20145238-荆玉茗 《Java程序设计》第一周学习总结

20145238 <Java程序设计>第一周学习总结 教材学习内容总结 Java三大平台:由于java领域的应用越来越广,根据不同级别的应用开发区分了不同的应用版本,后正式更名为Java SE,Java EE,Java ME. Java SE主要分为四个部分:JVM,JRE,JDK和JAVA语言. 了解JCP与JSR.RI.TCK的关系:JSR必须经过JCP投票通过才能成为最终的标准文件,JSR成为最终文件后对其成果做出免费且开发原始码的参考实现,称为RI,由TCK作为技术兼容测试工具箱. 了