如鹏网JAVA培训笔记27晓伟整理Word文档下载推荐.docx
《如鹏网JAVA培训笔记27晓伟整理Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《如鹏网JAVA培训笔记27晓伟整理Word文档下载推荐.docx(18页珍藏版)》请在冰豆网上搜索。
i)
Character:
●charc1=‘9’;
System.out.println(Character.isDigit(c1));
//判断c1是否是数字
System.out.println(Character.isLetter(c1));
//判断是否是字母。
●Characterc3=‘A’;
System.out.println(Character.isLowerCase(c3));
//判断是否是i小写
System.out.println(Character.isUpperCase(c3));
//判断是否大写
System.out.println(Character.toLowerCase(c3));
System.out.println(Character.toUpperCase(c3));
自动装箱、拆箱:
●JDK5.0中为基本数据类型提供了自动装箱(boxing)、拆箱(unboxing)功能:
*装箱:
将基本数据类型包装为对应的包装类对象
*拆箱:
将包装类对象转换成对应的基本数据类型
●java编译器在编译时期会根据源代码的语法来决定是否进行装箱或拆箱。
字符串之String类:
●java.lang.String代表不可变的字符序列。
●创建字符串实例的方式:
(分析内存)
☉Stringa=“hello”;
☉Stringc=“hello”;
其中a和c共享一片内存
☉Stringb=newString(“hello”);
☉Stringd=newString(“hello”);
其中b和d分别开辟两块内存
●java中允许使用符号“+”把两个字符串连接起来组合成一个新的字符串eg:
Stringstr=“你好”+“世界”;
●“+”号也能将字符串与其他的数据类型向连成一个新的字符串
eg:
Stringstr=“abc”+12;
//str将引用一个新的字符串对象“abc12”
●String是一个final类。
String类:
●String对象代表一组不可变的Unicode字符序列
●它的方法可用来创造新的字符串:
concat、replace、
substring、toLowerCcase、toUpperCase和trim。
●查找字符的方法:
endWith、startWith、indexOf、
lastIndexOf
●比较字符串的方法:
equals、equalsIgnoreCase、compareTo
●其他:
charAt()、length()
字符串长度:
●String类中有length()方法可以获取此字符串的长度
注意:
跟数组的length属性区别开来
☉Stringstr=“abc你好吗?
”
str.length();
☉“helloworld”.length();
字符串比较:
●==号用来比较两个字符串是否存储在同一内存位置
●String类的equals()方法用来比较两个字符串的内容是否相等
字符串方法——比较相关
●booleanequalsIgnoreCase(Stringval):
此方法比较两个字符串,忽略大小写形式
●intcompareTo(Stringvalue)指定者:
接口Comparable
按照字典顺序比较两个字符串。
如果两个字符串相等,则返回0;
如果字符串在参数值之前,则返回值小于0;
如果字符串在参数值之后,则返回值大于0
●intcompareToIgnoreCase(Stringval):
按字典顺序比较两个字符串,不考虑大小写
●booleanstartWith(Stringvalue)检查一个字符串是否以参数字符串开始
●booleanendWith(Stringvalue)检查一个字符串是否以参数字符串结束
收索相关:
●publicintindexOf(intch):
返回指定字符ch在此字符串中第一次出现处的索引值;
如果未出现该字符,则返回-1
●publicintindexOf(Stringstr):
返回第一次出现的指定子字符串str在此字符串中的索引值;
如果未出现该字符串,则返回-1
●publicintindexOf(intch,intfromIndex):
fromindex为开始收索的索引
●publicintlastindexOf(Stringstr):
返回最后一次出现的指定字符在此字符串中的索引值;
如果未出现该字符,则返回-1。
●publicintlastIndexOf(Stringstr):
返回最后一次出现的指定子字符串str在此字符串中的索引值;
如果未出现该字符串,则返回-1。
●publiccharcharAt(intindex):
从指定索引index处提取单个字符,索引中的值必须为非负
修改:
●publicStringsubstring(intindex):
提取从索引index开始直到此字符串末尾的这部分子字符串。
●publicStringsubString(intbeginIndex,intendIndex)提取从beginIndex开始直到endIndex(左闭右开)之间这部分字符串
●publicStringconcat(Stringstr):
将指定字符str串拼接到此字符串的结尾成为一个新字符串返回。
●publicStringreplace(charoldChar,charnewChar)
返回一个新的字符串,它是通过用newChar替换字符串中出现的所有oldChar而生成的
●publicStringtrim()返回字符串的副本,忽略前面空白和尾部空白
●publicStringtoUpperCase()将此字符串中的所有字符都转换为大写
●publicStringtoLowerCase();
将次字符串中的所有字符转换为小写
其他类型转换成字符串:
●在String类中定义了一些静态的重载方法
publicstaticStringvaluesOf(...)可以将基本数据类型数据、Object类型转换为字符串
☉publicstaticStringvalueOf(doubled)把double类型数据转换成字符串
☉publicstaticStringvalueOf(Objectobj)调用obj的toString()方法得到的字符串表示形式。
String类中与正则相关的方法:
☉publicbooleanmatches(Stringregex):
此字符串是否匹配给定的正则表达式
☉publicString[]split(Stringregex):
根据给定正则表达式的匹配拆分此字符串
☉publicStringreplaceAll(Stringregex,Stringreplacecement)使用给定的replacement替换此字符串所有匹配给定的正则表达式的字符串
正则表达式:
java.util.regex.Matcher
java.util.regex.Pattern
正则表达式(完整匹配)
●Patternp=Ppile(“a*b”);
●Matcherm=p.matcher(“aaaaab”);
●booleanb=m.matches();
●在仅使用一次正则表达式时,可以方便地通过此类定义matches方法。
此方法编译表达式并在单个调用中将输入序列与其匹配。
如果完全匹配,则返回true。
●booleanb=Pattern.matches(“a*b”,“aaaaab”);
等效于上面的三个语句,尽管对于重复的匹配而言它效率不高,因为它不允许重用已编译的模式。
正则表达式(部分匹配)
☉Patternp=Ppile(“a*b”);
☉Matcherm=p.matcher(“aaaaab--aaaaab”);
Matcher类的方法:
publicbooleanfind()
publicStringgroup()//等效于group(0)
publicintstart()
publicintend()
字符串的不变性:
●一个String对象的长度是固定的,不能改变它的内容,或者是附加新的字符串到String对象中
●使用“+”来串联字符串以达到附加新字符串或字符串的目的,但“+”会产生一个新的String对象
●如果程序对这种附加字符串的需求很频繁,并不建议使用“+”来进行字符串的串联,应该使用:
java.lang.StringBuffer类(线程安全的)
字符串之StringBuffer类:
●java.lang.StringBuffer代表可变的字符序列
●StringBuffer类的常用构造方法:
StringBuffer()
⊙构造一个其中不带字符的字符串缓冲区,初始容量为16个字符
StringBuffer(Stringstr)
⊙构造一个字符串缓冲区,并将其内容初始化为指定的字符串内容
缓冲的修改操作:
append、insert、reverse、setCharAt、
setLength(intnewLength):
设置长度,如果超长用‘\u0000’填,如果超短,截取前newLength位。
●java.lang.StringBuffer代表可变的字符串序列。
●StringBuffer称为字符串缓冲区,它的工作原理是:
预先申请一块内存,存放字符序列,如果字符序列满了,会重新改变缓冲区的大小,以容纳更多的字符序列。
●StringBuffer是可变对象,这个是String最大的不同。
StringBuffer常用方法:
☉StringBufferappend(Stringstr):
将指定的字符串追加到此字符串序列
☉StringBufferinsert(intofferset,Stringstr):
将字符串str插入此字符序列指定位置中。
☉intlength():
确定StringBuffer对象的长度
☉voidsetCharAt(intpos,charch):
使用ch指定的新值设置上添加字符
☉StringtoString():
转换为字符串形式
☉StringBufferreverse():
反转字符串
☉StringBufferdelete(intstart,intend):
此方法将删除调用对象中从start位置开始直到end指定的索引-1位置的字符序列。
☉StringBufferdeleteCharAt(intpos):
此方法将删除pos指定的索引处的字符
☉StringBufferreplace(intstart,intend,Strings):
此方法使用一组字符替换另一组字符。
将用替换字符串从start指定的位置开始替换,直到end指定的位置结束。
StringBuilder:
●非线性安全的类(线程不安全)
●用法同StringBuffer
●此类提供一个与StringBuffer兼容的API,但不保证同步。
该类被设计用作StringBuffer的一个简易替换,用在字符串缓冲区被单个线程使用的时候(这样情况很普遍)。
如果可能,建议优先采用该类,因为在大多数实现中,它比StringBuffer要快。
java.lang.Math类:
●Math类提供了一序列基本运算和几何函数的方法。
●Math类是final类,并且它的所有成员变量和成员方法都是静态的。
Math类的常用属性和方法:
●静态常量——PI:
圆周率的double值
●静态方法:
doublesin(doublea):
计算角a的正弦值
doublecos(doublea):
计算角a的余弦值
doublepow(doublea,doubleb):
计算a的b次方
doublesqrt(doublea):
计算给定值的平方根
intabs(inta):
计算int类型值a的绝对值,也接受long、
float和double类型的参数。
doubleceil(doublea):
返回大于等于a的最小整数的double值。
doublefloor(doublea):
返回小于等于a的最大整数的double值。
intmax(inta,intb):
返回int型值a和b中的较大值,也接受long、float和double类型的参数。
intmin(inta,intb):
返回int型值a和b的较小值,也可接受long、float和double类型的参数。
intround(floata):
四舍五入返回整数,可以是double,返回long
doublerandom()返回带正号的double值,该值大于等于0.0且小于等于1.0。
静态导入:
●要使用某个类中的静态成员(方法和变量)我么可以直接将其import进来。
●在JDK5.0中,使用静态导入可以使导入类的所有静态变量和静态方法在当前类直接可见,使用这些静态成员无需再给出他们的类名
java.util.Random类:
●此类用于生成随机数
●两种构造方法:
1.Random():
创建一个新的随机数生成器(使用当前时间毫秒值为种子)
2.Random(longseed);
使用单个long种子创建一个新随机数生成器
⊙如果用相同的种子创建两个Random实例,则对每个实例进行相同的方法调用序列,它们将生成并返回相同的数字序列。
Random类的方法:
⊙nextInt():
产生下一个int类型的随机数,大于等于0
⊙nextInt(intn):
产生下一个int类型的随机数,值大于等于0,并小于n。
⊙nextFloat():
产生一个float类型的随机数,大于等于0并且小于1.0
⊙nextDouble():
产生一个double类型的随机数,大于等于0并且小于1.0
nextLong():
产生一个long类型的随机数,值位于long类型的取值范围。
Runtime:
●Runtime是单例模式的
Runtimeruntime=Runtime.getRuntime();
System.out.println(runtime.freeMemory());
runtime.gc();
//建议回收垃圾
runtime.exec(“calc”);
处理日期的类:
●java语言提供了2个类来处理日期
1.java.util.Date:
包装了一个long类型的数据,表示与GMT标准时间1970年1月1日00:
00:
00这一刻相差的毫秒数。
2.java.text.SimpleDateFormat:
对日期进行格式化
CST 标识,它是ChinaStandardTime的缩写,指的是中国标准时间,也就是我们常说的北京时间。
它与UTC的时差是UTC+8:
00
java.util.Date类:
⊙Date类以毫秒来表示特定的日期
pulicstaticvoidmain(String[]args)
{
Datedate=newDate();
System.out.println(date);
}
⊙java.util.Date类表示特定的瞬间,精确到毫秒。
常用构造方法:
Date()使用系统当前的时间创建一个Date实例。
java.util.Date类表示特定的瞬间,精确到毫秒。
常用构造方法
Date() 使用系统当前的时间创建一个Date实例
内部就是使用System.currentTimeMillis()获取系统当前时间的毫秒数来创建Date对象
Date(longdt) 使用自1970年1月1日00:
00GMT以来的指定毫秒数创建一个Date实例
常用方法
getTime() 返回自1970年1月1日00:
00GMT以来此Date对象表示的毫秒数。
toString()把此Date对象转换为以下形式的String:
dowmonddhh:
mm:
sszzzyyyy:
星期月日时:
分:
秒时区年
Date类中的方法API不易于实现国际化,大部分被废弃了。
日期和时间模式:
字母日期或时间元素表示示例
GEra标志符TextAD公元
y年Year1996;
96
M年中的月份MonthJuly;
Jul;
07
w年中的周数Number27
W月份中的周数Number2
D年中的天数Number189
d月份中的天数Number10
F月份中的星期Number2
E星期中的天数TextTuesday;
Tue
aAm/pm标记TextPM
H一天中的小时数(0-23)Number0
k一天中的小时数(1-24)Number24
Kam/pm中的小时数(0-11)Number0
ham/pm中的小时数(1-12)Number12
m小时中的分钟数Number30
s分钟中的秒数Number55
S毫秒数Number978
z时区GeneraltimezonePacificStandardTime;
PST;
GMT-08:
00
Z时区RFC822timezone-0800
voidset(int
field,int
value)
将给定的日历字段设置为给定值。
year,int
month,int
date)设置日历字段YEAR、MONTH和DAY_OF_MONTH的值。
date,int
hourOfDay,int
minute)设置日历字段YEAR、MONTH、DAY_OF_MONTH、HOUR_OF_DAY和MINUTE的值。
minute,int
second)设置字段YEAR、MONTH、DAY_OF_MONTH、HOUR、MINUTE和SECOND的值。
Calendar类的常用方法: