20175303 2018-2019-2 《Java程序设计》第7周学习总结
20175303 2018-2019-2 《Java程序设计》第7周学习总结
教材学习内容总结
1.String
类:
- Java专门提供了用来处理字符序列的
String
类 - 构造
String
对象- 常量对象
- 字符串常量对象是用双引号括起的字符序列
- 常量池
String
对象- 可以使用
String
类声明对象并创建对象 - 用户无法输出
String
对象的引用 - 两个较常用的构造方法
1.String (char a[])
用一个字符数组a创建一个String
对象
2.String(char a[],int startIndex,int count)
提取字符数组a中的一部分字符创建一个String
对象,参数startIndex
和count
分别指定在a中提取字符的起始位置和从该位置开始截取的字符个数。
- 可以使用
- 常量对象
- 字符串的并置
String
对象可以用+进行并置运算,即首尾相接得到一个新的String
对象- 如果是两个常量进行并置运算,那么得到的仍然是常量,如果常量池没有这个常量就放入常量池。
- 参与并置运算的
String
对象,只要有一个是变量,那么Java就会在动态区存放所得到的新String
对象的实体和引用。
String
类的常用方法public int length()
获取一个字符串的长度public boolean equals(String s)
判断当前String
对象的字符序列是否与参数s指定的String
对象的字符序列相同public boolean startsWith(String s)
判断当前String
对象的字符序列前缀是否是参数指定的String
对象s的字符序列public boolean endsWith(String s)
判断当前String
对象的字符序列后缀是否是参数指定的String
对象s的字符序列public int compareTo(String s)
按字典序与参数s指定的字符序列比较大小public boolean contains(String s)``String
对象调用contains
方法判断当前String
对象的字符序列是否包含参数s的字符序列public int indexOf (String str)``String
对象调用方法从当前String
对象的字符序列的0索引位置开始检索首次出现str的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是–1public int lastIndexOf(String ste)
从当前String
对象的字符序列的0索引位置开始检索最后一次出现str的字符序列的位置,并返回该位置。如果没有检索到,该方法返回的值是-1public String substring(int startpoint)
字符串对象调用该方法获得一个新的String
对象,新的String
对象的字符序列是复制当前String
对象的字符序列中的startpoint
位置至最后位置上的字符所得到的字符序列。String
对象调用substring(int start ,int end)
方法获得一个新的String
对象,新的String
对象的字符序列是复制当前String
对象的字符序列中的start
位置至end–1
位置上的字符所得到的字符序列
-public String trim()
得到一个新的String
对象,这个新的String
对象的字符序列是当前String
对象的字符序列去掉前后空格后的字符序列
- 字符串与基本数据的相互转化
- Java.lang包中的Integer类调用其类方法:
public static int parseInt(String s)
可以将由“数字”字符组成的字符串,转化为int型数据 - 使用java.lang包中的Byte、Short、Long、Float、Double类调相应的类方法可以将由"数字"字符组成的字符串,转化为相应的基本数据类型
public static String valueOf(n的类型, n)
可以使用String
类的类方法将数值转化为String
对象
- Java.lang包中的Integer类调用其类方法:
- 对象的字符串表示
- 一个对象通过调用
public String toString()
方法可以获得该对象的字符序列表示。一个对象调用toString()
方法返回的String
对象的字符序列的一般形式为:创建对象的类的名字@对象的引用的字符串表示字符串与字符、字节数组
- 一个对象通过调用
- 字符串与字符数组、字节数组
- 字符串与字符数组
String(char[ ])
用指定的字节数组构造一个字符串对象String(char[ ],int offset,int length)
用指定的字节数组的一部分,即从数组起始位置offset
开始取length个字节构造一个字符串对象public char[] toCharArray()
将String
对象的全部字符序列存放到数组中public void getChars(int start,int end,char c[],int offset )
将String
对象的部分字符序列存放到数组中
- 字符串与字节数组
String(byte[])
用指定的字节数组构造一个字符串对象String(byte[],int offset,int length)
用指定的字节数组的一部分,即从数组起始位置offset
开始取length个字节构造一个字符串对象public byte[] getBytes()
使用平台默认的字符编码,将当前String
对象的字符序列存放到字节数组,并返回数组的引用public byte[] getBytes(String charsetName)
使用参数指定字符编码,将当前String
对象的字符序列存放到字节数组,并返回数组的引用
- 字符串的加密算法
char [] p = password.toCharArray();
- 字符串与字符数组
- 正则表达式及字符串的替换与分解
- 正则表达式
- 正则表达式是一个
String
对象的字符序列,该字符序列中含有具有特殊意义字符,这些特殊字符称做正则表达式中的元字符 String
对象调用public boolean matches(String regex)
方法可以判断当前String
对象的字符序列是否和参数regex
指定的正则表达式匹配
- 正则表达式是一个
- 字符串的替换
public String repalceAll(String regex,String replacement)
用参数replacement
的字符序列替换当前String
的字符序列中所有和参数regex
匹配的子字符序列
- 字符序列的分解
public String[] split(Sring regex)
使用参数指定的正则表达式regex
作为分割标记分解出当前String
对象的字符序列中的单词,并将分解出的单词存放在String
数组中
- 正则表达式
2.StringTokenizer
类
- 两个常用的构造方法:
StringTokenizer(String s)
为String
对象s构造一个分析器。使用默认的分隔标记,即空格符、换行符、回车符、Tab符、进纸符做分隔标记StringTokenizer(String s, String delim)
为String
对象s构造一个分析器。参数delim
的字符序列中的字符的任意排列被作为分隔标记
StringTokenizer
对象称作一个字符串分析器可以使用下列方法:nextToken()
逐个获取字符串中的语言符号(单词),字符串分析器中的负责计数的变量的值就自动减一 。hasMoreTokens()
只要字符串中还有语言符号,即计数变量的值大于0,该方法就返回true,否则返回false。countTokens()
得到分析器中计数变量的值
3.Scanner
类
Scanner
对象可以解析字符序列中的单词Scanner
将空格做为分隔标记来解析字符序列中的单词,具体解析操作:Sanner
对象调用next()
方法依次返回被解析的字符序列中的单词,如果最后一个单词已被next()
方法返回,Scanner
对象调用hasNext()
将返回false,否则返回ture- 对于被解析的字符序列中的数字型单词,
Scanner
对象可以用nextInt()
或nextDouble()
方法来代替next()
方法 - 如果单词不是数字型单词,
Scanner
对象调用nextInt()
或nextDouble()
方法将数字型单词转化为int
或double
数据返回 - 如果单词不是数字型单词,
Scanner
对象调用nextInt()
或nextDOuble()
方法将发生InputMismatchException
异常,在处理异常时可以调用next()
方法返回非数字化单词
4.StringBuffer
类
StringBuffer
对象StringBuffer
类的对象的实体的内存空间可以自动地改变大小,便于存放一个可变的字符序列- 三个构造方法
StringBuffer()
StringBuffer(int size)
StringBuffer(String s)
StringBuffer
类的常用方法StringBuffer append(String s)
将String对象s的字符序列追加到当前StringBuffer
对象的字符序列中,并返回当前StringBuffer
对象的引用StringBuffer append(int n)
将int
型数据n转化为String
对象,再把该String
对象的字符序列追加到当前StringBuffer
对象的字符序列中,并返回当前StringBuffer
对象的引用StringBuffer append(Object o)
将一个Object
对象o的字符序列表示追加到当前String- Buffer
对象的字符序列中,并返回当前StringBuffer
对象的引用public chat charAt(int n )
得到参数n指定的置上的单个字符public void setCharAt(int n ,char ch)
将当前StringBuffer
对象实体中的字符串位置n处的字符用参数ch
指定的字符替换StringBuffer insert(int index, String str)
将参数str
指定的字符串插入到参数index
指定的位置public StringBuffer reverse()
将该对象实体中的字符翻转StringBuffer delete(int startIndex, int endIndex)
从当前StringBuffer
对象实体中的字符串中删除一个子字符串StringBuffer replace(int startIndex,int endIndex,String str)
将当前StringBuffer
对象实体中的字符串的一个子字符串用参数str
指定的字符串替换
5.Date
与Calendar
类
Date类 - 构造方法 - 使用
Date类的无参数构造方法创建的对象可以获取本地的当前日期和时间,例如
Date nowTime=new Date();- 计算机系统将其自身的时间的“公元”设置在
1970年1月1日0时(格林威治时间),可以根据这个时间使用
Date的带参数的构造方法
Date(long time)来创建一个
Date`对象Calendar
类- 使用
Calendar
类的static
方法getInstance()
可以初始化一个日历对象。
- 使用
calendar
对象可以调用方法:public final void set(int year,int month,int date)
public final void set(int year,int month,int date,int hour,int minute)
public final void set(int year,int month, int date, int hour, int minute,int second)
- 将日历翻到任何一个时间
6.日期的格式化
format
方法- 不同区域的星期格式
7.Math
、BigInteger
和Random
类
Math
类Math
类包含许多用来进行科学计算的static
方法Math
类有两个static
常量:E 2.7182828284590452354
和PI 3.14159265358979323846
Math
类的常用方法public static long abs(double a)
返回a的绝对值。public static double max(double a,double b)
返回a、b的最大值。public static double min(double a,double b)
返回a、b的最小值。public static double random()
产生一个0到1之间的随机数(不包括0和1)。public static double pow(double a,double b)
返回a的b次幂。public static double sqrt(double a)
返回a的平方根。public static double log(double a)
返回a的对数。public static double sin(double a)
返回正弦值。public static double asin(double a)
返回反正弦值。public static double ceil(double a)
返回大于a的最小整数,并将该整数转化为double
型数据。public static double floor(double a)
返回小于a的最大整数,并将该整数转化为double
型数据。public long double round(double a)
返回a的“四舍五入”后的值。
BigInteger
类java.math
包中的BigInteger
类提供任意精度的整数运算。可以使用构造方法:public BigInteger(String val)
构造一个十进制的BigInteger
对象public BigInteger add(BigInteger val)
返回当前大整数对象与参数指定的大整数对象的和。public BigInteger subtract(BigInteger val)
返回当前大整数对象与参数指定的大整数对象的差。public BigInteger multiply(BigInteger val)
返回当前大整数对象与参数指定的大整数对象的积。public BigInteger divide(BigInteger val)
返回当前大整数对象与参数指定的大整数对象的商。public BigInteger remainder(BigInteger val)
返回当前大整数对象与参数指定的大整数对象的余。public int compareTo(BigInteger val)
返回当前大整数对象与参数指定的大整数的比较结果,返回值是1、-1或0,分别表示当前大整数对象大于、小于或等于参数指定的大整数。public BigInteger pow(int a)
返回当前大整数对象的a次幂。public String toString()
返回当前大整数对象十进制的字符串表示。public String toString(int p)
返回当前大整数对象p进制的字符串表示。
Random
类- 构造方法:
public Random();
使用当前机器时间作为种子创建一个Randow
对象public Random(long seed);
使用参数seed
指定的种子创建一个Random
对象
- 构造方法:
8.数字格式化
format
方法- 格式化整数
- 格式化浮点数
9.Class
类与Console
类
Class
类- 使用
Class
的类方法得到一个和某类(参数className
指定的类)相关的Class
对象:public static Class forName(String className) throws ClassNotFoundException
方法返回一个和参数className
指定的类相关的Class对象。如果类在某个包中,className
必须带有包名 - 上述步骤中获得的
Class对象
调用public Object newInstance() throws Exception
方法就可以得到一个className类的对象 - 要特别注意的是:使用
Class
对象调用newInstance()
实例化一个className
类的对象时,className
类必须有无参数的构造方法
- 使用
Console
类Console cons=System.console() char[] passwd=cons.readPassword()
10.Pattern
与Matcher
类
- Java提供了专门用来进行模式匹配的
Pattern
类和Matcher
类,这些类在java.util.regex
包中 - 建立
Pattern
对象- 使用正则表达式
regex
作参数得到一个称为模式的Pattern
类的实例pattern
Pattern
对象是对正则表达式的封装。Pattern
类调用类方法compile(String regex
)返回一个Pattern
对象,其中的参数regex
是一个正则表达式,称为模式对象使用的模式
- 使用正则表达式
- 得到
Matcher
对象- 模式对象
pattern
调用matcher(CharSequence input)
方法返回一个Matcher
对象matcher
,称为匹配对象,参数input
用于给出matcher
要检索的String
对象
- 模式对象
代码托管
感想
这两周学习任务太重了,我效率低,我做不完老师的任务,我感觉我也没怎么闲着。可能是因为方法不对,努力白费。但是我又不想放弃……
学习进度条
代码行数(新增/累积) | 博客量(新增/累积) | 学习时间(新增/累积) | 重要成长 | |
---|---|---|---|---|
目标 | 5000行 | 10篇 | 400小时 | |
第一周 | 0/0 | 1/1 | 20/20 | |
第二周 | 553/553 | 1/2 | 15/35 | |
第三周 | 940/1493 | 1/3 | 20/55 | |
第四周 | 551/2044 | 1/4 | 25/80 | |
第五周 | 1460/3252 | 1/5 | 30/110 | |
第六周 | 1485/4737 | 1/6 | 40/150 | |
第七周 | 1549/6286 | 2/8 | 35/185 |
20175303 2018-2019-2 《Java程序设计》第7周学习总结的更多相关文章
- 学号 20175212 《Java程序设计》第九周学习总结
学号 20175212 <Java程序设计>第九周学习总结 教材学习内容总结 一.MySQL数据库管理系统 1.在官网上下载并安装MySQL 2.在IDEA中输入测试代码Connectio ...
- 20145213《Java程序设计》第九周学习总结
20145213<Java程序设计>第九周学习总结 教材学习总结 "五一"假期过得太快,就像龙卷风.没有一点点防备,就与Java博客撞个满怀.在这个普天同庆的节日里,根 ...
- 20145213《Java程序设计》第二周学习总结
20145213<Java程序设计>第二周学习总结 教材学习内容总结 本周娄老师给的任务是学习教材的第三章--基础语法.其实我觉得还蛮轻松的,因为在翻开厚重的书本,一股熟悉的气息扑面而来, ...
- 20145213《Java程序设计》第一周学习总结
20145213<Java程序设计>第一周学习总结 教材学习内容总结 期待了一个寒假,终于见识到了神秘的娄老师和他的Java课.虽说算不上金风玉露一相逢,没有胜却人间无数也是情理之中,但娄 ...
- 21045308刘昊阳 《Java程序设计》第九周学习总结
21045308刘昊阳 <Java程序设计>第九周学习总结 教材学习内容总结 第16章 整合数据库 16.1 JDBC入门 16.1.1 JDBC简介 数据库本身是个独立运行的应用程序 撰 ...
- 20145330孙文馨 《Java程序设计》第一周学习总结
20145330孙文馨 <Java程序设计>第一周学习总结 教材学习内容总结 刚开始拿到这么厚一本书说没有压力是不可能的,开始从头看觉得很陌生进入不了状态,就稍微会有一点焦虑的感觉.于是就 ...
- 20145337 《Java程序设计》第九周学习总结
20145337 <Java程序设计>第九周学习总结 教材学习内容总结 数据库本身是个独立运行的应用程序 撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的增删查找 JDBC可以 ...
- 20145337 《Java程序设计》第二周学习总结
20145337 <Java程序设计>第二周学习总结 教材学习内容总结 Java可分基本类型与类类型: 基本类型分整数(short.int.long).字节(byte).浮点数(float ...
- 20145218《Java程序设计》第一周学习总结
20145218 <Java程序设计>第一周学习总结 教材学习内容总结 今天下午看了Java学习的视频,感觉很是新奇,之前觉得Java学起来是艰难枯燥的,但通过第一章的学习觉得如果自己可以 ...
- 《Java程序设计》第九周学习总结
20145224 <Java程序设计>第九周学习总结 第十六章 整合数据库 JDBC入门 ·数据库本身是个独立运行的应用程序 ·撰写应用程序是利用通信协议对数据库进行指令交换,以进行数据的 ...
随机推荐
- js-分享功能插件
soshm 分享功能插件 地市:https://github.com/calledT/soshm yarn 安装:yarn add soshm -s; 引入:import soshm from ‘s ...
- javascript事件委托的原理与实现
事件委托 事件流 捕获:查找目标元素: 目标:执行目标的事件: 冒泡:依次执行祖先元素的事件. onmouseenter和onmouseleave不支持冒泡: onmouseover和onmouseo ...
- linux 修改history带有时间
今天在网上学到了给linux的history添加时间.方法如下: 首先已知HISTTIMEFORMAT可以给history设置时间:临时修改直接赋值:HISTTIMEFORMAT="%F % ...
- Python学习笔记二
---恢复内容开始--- 一. python几种数据类型的比较. 从以下几个方面比较: 1. 是否可变. 不可变类型:变量的值可以发生变化,id也变了,相当于创建了一个新的对象,所以一修改值,id就变 ...
- 梯有N阶,上楼可以一步上一阶,也可以一步上二阶。编写一个程序,计算共有多少中不同的走法?
c语言实现,小伙伴们谁要有更好的实现方法,要告诉我呦 #include int main(void) { int f,i,f1=1,f2=2; printf("请输入楼梯数"); ...
- leetcode目录
Leetcode 1. 数组 2. 动态规划 3. 字符串 4. 链表.双指针.排序 5. 树 6. 回溯算法.贪心算法.分治算法.
- 【转】win10哪个版本最好用,推荐win10企业版LTSC
https://msdn.itellyou.cn/ win10企业版LTSC又被称为win10企业版2019长期服务版本,这个版本小编认为是目前最好用的win10版本,在win10企业版2016长期服 ...
- sql多字段相减///单字段多值
SELECT IFNULL(t.预算金额,)-IFNULL(t.实使用金额,)-IFNULL(SUM(f.已审核.待审核总数),)remainingMoney FROM 表名 t LEFT JOIN ...
- JavaEE 之 SpringBoot
1.Springboot a.定义:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程 b.约定目录结构:(Maven的资源文件目 ...
- 2018-2019-1 20189201《Linux内核原理与分析》第三周作业
写作业之前,写了时光博物馆参观感受.1978-2018 40年的改革开放历程. 一.C语言中内嵌汇编语言的写法 内嵌汇编的语法如下: asm volatile ( 汇编语句模版: 输出部分: 输入部分 ...