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()
方法,一个对象通过调用该方法可以获得该对象的字符串表示。返回的形式为:创建对象的类的名字@对象的引用的字符串表示。 - 字符串与字符数组、字节数组。
- 字符串与字符数组举例说明:
String s="1945年8月15日是抗战胜利日";
char []a=new char[4];
s.getChars(11,15,a,0);//数组a的单元依次放的字符是抗 战 胜 利 char []c;
c="睡觉".toCharArray();//数组c的单元依次放的字符是 睡 觉
- 字符串与字节数组:String类的构造方法
String (byte[],int offset,int length)
,从数组起始位置offset开始取length个字节,构造一个String对象。 - 字符的加密算法:若加密算法为做加法运算,则解密算法为减法运算。
- 正则表达式及字符串的替换与分解
- 正则表达式是一个String对象的字符序列,该字符序列中含有具有特殊意义的字符,这些特殊字符称为正则表达式的元字符。
- 元字符如图:
- 限定符如图:
- 字符串的替换:
public String replaceAll(String regex,String replacement)
,调用方法返回一个新的String对象,新的String对象的字符序列是把当前对象字符序列中所有和参数regex相匹配的子字符序列,用参数replacament的字符序列替换后得到的新的字符序列,但不影响当前String对象的字符序列。 - 字符序列的分解:
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有两个构造方法:
StringTokenizer(String s)
,使用默认的分隔标记,即空格符,换行符,回车符,Tab符等等。StringTokenizer(String s,String delim)
:参数delim的字符序列的字符的任意排列被作为标记符。具体使用步骤:
(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类常用方法:
public static long abs(double a)
:返回绝对值。public static double max/min(double a,double b)
:返回两个数中最大/小的数。public static double random()
:产生一个0~1之间的随机数([0,1))。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 |
20175224 2018-2019-2 《Java程序设计》第七周学习总结的更多相关文章
- 201521123027 <java程序设计>第七周学习总结
1.本周学习总结 2.书面作业 Q1.ArrayList代码分析 1.1 解释ArrayList的contains源代码 答: 源代码: //contains()方法 public boolean c ...
- 201871010106-丁宣元 《面向对象程序设计(java)》第七周学习总结
201871010106-丁宣元 <面向对象程序设计(java)>第七周学习总结 正文开头: 项目 内容 这个作业属于哪个课程 https://home.cnblogs.com/u/nwn ...
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145236 《Java程序设计》第九周学习总结
20145236 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC简介 1.JDBC是java联机数据库的标准规范.它定义了一组标准类与接口,标准API ...
- 20155304田宜楠2006-2007-2 《Java程序设计》第一周学习总结
20155304田宜楠2006-2007-2 <Java程序设计>第一周学习总结 教材学习内容总结 - 浏览教材,根据自己的理解每章提出一个问题 第一章 除了书上提到的开发工具还有什么适合 ...
- 20155303 2016-2017-2 《Java程序设计》第二周学习总结
20155303 2016-2017-2 <Java程序设计>第二周学习总结 教材学习内容总结 『注意』 "//"为单行批注符: "/*"与&quo ...
- 20145237 《Java程序设计》第九周学习总结
20145237 <Java程序设计>第九周学习总结 教材学习内容总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令 ...
- 20175209 《Java程序设计》第九周学习总结
20175209 <Java程序设计>第九周学习总结 一.教材知识点总结 有关数据库下载中存在可能出现的问题已经在博客<数据库安装和使用过程中出现的一些问题>给出了相应的解决办 ...
随机推荐
- Getting a handle on
Getting a handle on 丑闻处理 Corporate crises drive the media and politicians wild.But do they damage sh ...
- Python的几个爬虫代码整理(网易云、微信、淘宝、今日头条)
整理了一下网易云歌曲评论抓取.分析好友信息抓取.淘宝宝贝抓取.今日头条美图抓取的一些代码 抓取网易云评论 进入歌曲界面: http://music.163.com/#/song?id=45318582 ...
- (一)为什么要UML
1 建模的意义 模型是对于现实的简化,建模是为了更好的理解系统 模型帮助我们按照实际情况或需求对系统可视化 模型允许我们详细说明系统的构造,行为 模型给出一个构造系统的模板 模型对我们做出的决策进行文 ...
- Kafka作为大数据的核心技术,你了解多少?
Kafka作为大数据最核心的技术,作为一名技术开发人员,如果你不懂,那么就真的“out”了.DT时代的快速发展离不开kafka,所以了解kafka,应用kafka就成为一种必须. 什么是kafka?K ...
- POJ 1321 棋盘问题(搜索的方式)
Description 在一个给定形状的棋盘(形状可能是不规则的)上面摆放棋子,棋子没有区别.要求摆放时任意的两个棋子不能放在棋盘中的同一行或者同一列,请编程求解对于给定形状和大小的棋盘,摆放k个棋子 ...
- Qt中隐藏滚动条重新实现鼠标滚轮事件wheelEvent
delta()已经被弃用了,QT5中用的是angleDelta(),计算的时候取angleDelta().y()值. #重载方法wheelEvent(self,event),即滚轮事件方法 #---- ...
- [Basics] 递归
Recursion就是方法调用自己,递归其实和循环是非常像的,循环都可以改写成递归,递归未必能改写成循环,这是一个充分不必要的条件.
- F1赛道 - Bahrain International Circuit | 巴林国际赛道
刚看完F1巴林站比赛,23点到1点,整整两个小时,比赛相当精彩. 从排位赛结果看,法拉利似乎肯定包揽1-2名,可惜天公不作美,今晚风大.沙多:vettel自己失误,鼻翼掉了,还在被汉密尔顿超车的时候自 ...
- NetSec2019 20165327 Exp3 免杀原理与实践
NetSec2019 20165327 Exp3 免杀原理与实践 pre基础问题回答 一.免杀原理 一般是对恶意软件做处理,让它不被杀毒软件所检测.也是渗透测试中需要使用到的技术. 要做好免杀,就时清 ...
- 用Python实现支持向量机并处理Iris数据集
SVM全称是Support Vector Machine,即支持向量机,是一种监督式学习算法.它主要应用于分类问题,通过改进代码也可以用作回归.所谓支持向量就是距离分隔面最近的向量.支持向量机就是要确 ...