学号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
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
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解决方案:之后书中本章的常用类大多都有这样的特性。
代码调试中的问题和解决过程
无
代码托管
上周考试错题总结
无
结对及互评
评分标准
正确使用Markdown语法(加1分):
- 不使用Markdown不加分
- 有语法错误的不加分(链接打不开,表格不对,列表不正确...)
- 排版混乱的不加分
模板中的要素齐全(加1分)
- 缺少“教材学习中的问题和解决过程”的不加分
- 缺少“代码调试中的问题和解决过程”的不加分
- 代码托管不能打开的不加分
- 缺少“结对及互评”的不能打开的不加分
- 缺少“上周考试错题总结”的不能加分
- 缺少“进度条”的不能加分
- 缺少“参考资料”的不能加分
教材学习中的问题和解决过程, 一个问题加1分
代码调试中的问题和解决过程, 一个问题加1分
本周有效代码超过300分行的(加2分)
- 一周提交次数少于20次的不加分
其他加分:
- 周五前发博客的加1分
- 感想,体会不假大空的加1分
- 排版精美的加一分
- 进度条中记录学习时间与改进情况的加1分
- 有动手写新代码的加1分
- 课后选择题有验证的加1分
- 代码Commit Message规范的加1分
- 错题学习深入的加1分
- 点评认真,能指出博客和代码中的问题的加1分
- 结对学习情况真实可信的加1分
扣分:
- 有抄袭的扣至0分
- 代码作弊的扣至0分
- 迟交作业的扣至0分
点评模板:
博客中值得学习的或问题:
- xxx
- xxx
- ...
代码中值得学习的或问题:
- xxx
- xxx
- ...
基于评分标准,我给本博客打分:XX分。得分情况如下:xxx
点评过的同学博客和代码
其他(感悟、思考等,可选)
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小时
改进情况:
(有空多看看现代软件工程 课件
软件工程师能力自我评价表)
参考资料
学号20175212 《Java程序设计》第7周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 学号20145303 《Java程序设计》第一周学习总结
学号20145303 <Java程序设计>第一周学习总结 教材学习内容总结 *dos命令行: dir:列出当前目录下的文件及文件名 md:创建目录 rd:删除目录.为空时文件夹(文件夹为空 ...
- 学号20145322 《Java程序设计》第一周学习总结
学号20145322 <Java程序设计>第一周学习总结 教材学习内容总结 Java诞生于Sun公司,于1998年12月4日发布J2SE,约以两年为一周期推出重大版本更新. 2010年Or ...
- 20175227张雪莹 2018-2019-2 《Java程序设计》第九周学习总结
20175227张雪莹 2018-2019-2 <Java程序设计>第九周学习总结 教材学习内容总结 第十一章 JDBC数据库操作 MySQL数据库管理系统 下载安装MySQL 若下载的是 ...
- 201521123061 《Java程序设计》第九周学习总结
201521123061 <Java程序设计>第九周学习总结 1. 本周学习总结 2. 书面作业 本次PTA作业题集异常 1.常用异常 题目5-1 1.1 截图你的提交结果(出现学号) 1 ...
- 201521123038 《Java程序设计》 第九周学习总结
201521123038 <Java程序设计> 第九周学习总结 1. 本周学习总结 1.1 以你喜欢的方式(思维导图或其他)归纳总结异常相关内容. 2. 书面作业 本次PTA作业题集异常 ...
- 201521123045 <java程序设计>第11周学习总结
201521123045 <java程序设计>第11周学习总结 1. 本周学习总结 2. 书面作业 2. 书面作业 Q1.1.互斥访问与同步访问完成题集4-4(互斥访问)与4-5(同步访问 ...
- 20175313 张黎仙《Java程序设计》第九周学习总结
目录 学号 20175313 <Java程序设计>第九周学习总结 一.教材学习内容总结 二.教材学习中的问题和解决过程 三.代码托管 四.心得体会 五.学习进度条 六.参考资料 学号 20 ...
- 2018-2019-3《Java程序设计》第二周学习总结
学号20175329 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨 ...
- # 20175329 2018-2019-2 《Java程序设计》 第二周学习总结
学号 2018-2019-3<Java程序设计>第二周学习总结 教材学习内容总结 第二三章与我们所学习的C语言有很多的相似点,在这里我想主要就以我所学习的效果来讨论一下JAVA与 ...
随机推荐
- mysql 批量导入
load data LOCAL infile 'D:/user.txt' into table userssFIELDS TERMINATED BY ',' LINES TERMINATED BY ' ...
- 为什么做java开发的公司需要那么多程序员?
注:文章转载自知乎 透过现象看本质. Java是企业应用市场的王者,如果一家非互联网公司用Java,那么十有八九是做企业应用的. 所以,这个问题本质上是:为什么做企业应用的公司需要那么多Java程序员 ...
- inputClient.js
$(document).ready(function () { loadData();}); //初始化数据function loadData(){ loadMList();//加载数据 $(&quo ...
- appium+python3+pycharm踩得坑2
没相当刚把上一个错误解决,这个马上就解决了: selenium.common.exceptions.WebDriverException: Message: A new session could n ...
- scrapy的splash 的简单使用
安装Splash(拉取镜像下来)docker pull scrapinghub/splash安装scrapy-splashpip install scrapy-splash启动容器docker run ...
- cookie的存入和取出
刚刚开始写页面没多久,因为登录注册写的是个tab切换,所以需要在点击登录的时候跳到登录页面,点击注册的时候跳转到注册页面,自己在网上找了一下,研究了一下cookie方法,现在把它记下来. 存入cook ...
- orm 复习
day70 2018-05-14 1. 内容回顾 1. ORM 1. ORM常用字段和属性 1. AutoField(primary_key=True) 2. CharField(max_length ...
- HDU 1542 Atlantis(扫描线)题解
题意:给n个可能相交的矩形,问你不重复的总面积 思路:扫描线,一边扫一边加. 扫描线:图片来源:理解扫描线 假设我们要算以下四个矩形面积,显然中间深色的是重复的.我们按照x的大小,从左往右扫,然后用线 ...
- LintCode 1.A+B的问题
LintCode 1.A+B的问题 描述 给出两个整数 a 和 b , 求他们的和. 答案 public class Solution { /** * @param a: An integer * @ ...
- [minecraft]mcCoder制作有感
mcCoder是一个minecraft-forge-mod制作库,力图让mod制作者可以更简单的制作mod,减少mod制作者的mod制作难度. 在GitHub上关注这个项目: 原理 mcCoder主要 ...