教材内容学习
1.1String类
1、构造String对象
(1)常量对象
String常量也是对象,是用双引号(英文输入法的双引号)括起来的字符
(2)String对象
可以使用String类的对象并创建对象
例:String s=new String(“We are student”);
注:用户输入无法输出String对象的引用
(3)tring常量
String常量是对象,因此可以把String常量的引用赋值给一个String对象
2、字符串并置
String对象可以用“+”进行并置运算,即首尾相连得到一个新的string对象
如: String you=“你” String hi=“好” String testOne => testOne=you+hi
3、String类的常用方法
(1)public int length()
String类中的length()方法用来获取一个String对象的字符序列的长度
(2)public boolean equals(String s)
String对象调用equeals(String s)方法比较当前String对象的字符序列是否与参数s指定的String对象的字符序列相同
(3)public boolean startsWith(String s)、public boolean endsWith(String s)方法
String对象调用statsWith(String s)方法,判断当前String对象的字符序列前缀是否是参数指定的String对象s的字符序列,使用endsWith(String s)方法,判断一个String对象的字符序列后缀是否是String对象s的字符序列
(4)public int compareTo(String s)
String对象调用compareTo(String s)方法,按字典序列参与参数指定的String对象s的字符序列比较大小
(5)public boolean contains(String s)
String对象调用contains方法判断当前String对象的字符序列是否包含参数s的字符序列
(6)public int indexOf(String s)和public int lastIndexOf(String s)
String对象调用方法indexOf(String s)从当前String对象的字符序列的0索引位置开始检索首次出现str得到字符序列的位置,如果没有检索到,该方法返回的值是-1。调用方法lastIndexOf(String s)从当前String对象的字符序列的0索引位置开始检索最后一次出现str的字符序列的位置,并返回该位置
(7)public String sulstring(int startpoint)
字符串对象调用该方法获得一个新的String对象,新的String对象的字符序列是复制当前String对的字符序列中的startpoint位置至最后位置上的字符所得到的字符序列
(8)public String trim()
String对象调用方法trim()得到一个新的String对象,这个新的String对象的字符序列是当前String对象的字符序列去掉前后空格后的字符序列
4、字符串与基本数据的相互转化
java.lang包中的Integer类调用其类的方法public static int parseInt(String s)
可以将由“数字”字符组成的字符序列,如“876”转化为int型数据
1.2StringTokenizer类
StringTokenizer对象分解String对象的字符序列
(1)当分析一个String对象的字符序列并将字符序列分解成可独立使用的单词时,可以用java.util包中的StringTokenizer类,该类要两个构造方法:
①StringTokenizer(String s):为String对象s构造一个分析器。默认使用分隔标记。
②StringTokenizer(String s,String delim):为String对象s构造一个分析器。参数delimma的字符序列中的字符的任意格式被作为分隔标记
(2)一个分析器可以使用nextToken()方法逐个获取String对象的字符序列中的语言符号(单词)
(3)通常用while循环来逐个获取语言符号,为了控制循环,可以使用StringTokenizer类中的haaMoreTokens()方法,只要字符序列中还有语言符号,即计数变量的值大于0,改方法就返回ture,否则返回false
1.3Scanner类
(1)Scanner对象
Scanner对象可以解析字符序列中的单词
Scanner对象默认地使用空白符(空格、制表符、回行符)作为分隔标记来解析String对象的字符序列中的单词
(2)StringTokenizer和Scanner的区别
①StringTokenizer类把分解出的全部单词都存放当StringTokenizer对象的实体中,因此StringTokenizer对象能较快的分解出全部单词,即StringTokenizer对象的实体所占的内存较多(用空间换取速度)
②Scanner类不吧单词存放到Scanner对象的实体中,而仅仅存放怎样换取单词的分隔标记,因此Scanner对象获单词的速度相对较慢,但Scanner对象节省空间
1.4StringBuffer类
1、StringBuffer对象
String对象的字符序列是不可修改的,StringBuffer类的对象的实体的内存空间可以自动地改变大小,便于存放一个可变的字符序列
2、StringBuffer类的常用方法
(1)apend
①StringBuffer append(String s):将String对象s的字符序列追加到当前StringBuffer对象的字符序列中,并返回当前StringBuffer对象的引用
②StringBuffer append(int n):将int型数据n转化为String对象,在把该String对象的字符序列追加到当前StringBuffer对象的字符序列中,并返回当前StringBuffer对象的引用
③StringBuffer append(Object o):将一个Object对象o的字符序列表示追加到当前StringBuffer对象的字符序列中,并返回当前StringBuffer对象的引用
(2)public char charAt(int n)和public void setCharAt(int n,char h)
char charAt(int n)得到StringBuffer对象的字符序列位置n上的字符。void setCharAt(int n,char h)将当前StringBuffer对象的字符序列位置n上的字符用参数ch指定的字符替换
(3)StringBuffer insert(int index,String str)
StringBuffer对象使用insert方法将参数str指定的字符序列插入到参数index指定的位置,并返回当前对象引用
(4)public StringBuffer reverse()
StringBuffer对象使用reverse()方法将该对象实体中的字符序列翻转,并返回当前对象的引用
(5)StringBuffer delete(int startIndex,int endIndex)
delete(int startIndex,int endIndex)从当前StringBuffer对象的字符序列中输出一个子字符序列,并返回当前对象的引用
(6)StringBuffer replace(int startIndex,int endIndex,String str)
replace(int startIndex,int endIndex,String str)将当前StringBuffer对象的字符序列的一个子序列用参数str指定的字符序列替换
1.5Date类与Calendar类
1、Date类
(1)使用无参数构造方法
如:Date nowTime=new Date();
(2)使用带参数的构造方法
如:Date date1=new Date(1000);
2、Calendar类
使用Calendar类的static方法getInstance()可以初始化一个日历对象
calendar对象调用方法public int get(int field)可以获取有关年份、月份、小时、星期等信息,参数field的有效值有Calendar的静态常量指定
calendar对象调用public long getTimeInMillis()可以返回当前calendar对象中时间的毫秒计时
1.6日期的格式化
(1)格式化模式
format方法中的“格式化模式"是一个用双引号括起的字符序列,该字符序列中的字符由时间格式符和普通字符构成
(2)日期列表
format方法中的“日期列表”可以是用逗号分隔的Calendar对象或Date对象
(3)格式同一日期
希望用几个格式符号格式“日期列表”的同一个日期,可以在“格式化模式”中使用“<"将格式化同一日期
1.7Math类、BigInteger类和Random类
1、Math类
在编写程序是,可能需要计算一个数的平方根、绝对值或获取一个随机数等,需要用到java.lang包中的Math类。
注:Math类中还有两个static常量:E和PI
2、BigInteger类
可以使用构造方法public BigInteger(String val)构造一个十进制的BigInteger对象,一般用来处理特别大的整数
3、Random类
Random:随机数生成器
1.8数字格式化
1。format方法
(1)格式化模式
format方法中的“格式化模式"是一个用双引号括起的字符序列,该字符序列中的字符由时间格式符和普通字符构成
(2)值列表
format方法中的“值列表”是用逗号分隔的变量、常量或表达式
(3)格式化顺序
format方法默认按从左到右的顺序使用“格式化模式”中的格式符来格式化“值列表“中对应的值,而“格式化模式”中的普通字符保留原样
2、格式化整数
(1)%d、%o、%x和%X
%d:将值格式化为十进制整数
%o:将值格式化为八进制整数
%x:将值格式化为小写的十六进制整数,例如abc58
%X:将值格式化为大写的十六进制整数,例如ABC58
(2)修饰符
加号修饰符“+”:格式化为正整数
逗号修饰符“,”:格式化整数时,按“千“分组
(3)数据的宽度
就是format方法返回的字符窜长度
3、格式化浮点数
(1)float、Float、double和Double
%f、%e(%E)、%g(%G)和%a(%A)格式符可格式化float、Float、double和Double
(2)修饰符
加号修饰符“+”:格式化为正整数
逗号修饰符“,”:格式化整数时,按“千“分组
(3)限制小数位数与数据的宽度
“%.nf”可以限制小数的位数,其中n是保留的小数位数
规定宽度的一般格式为:“%mf”,在数字的左面加空格;或“%-md”,在数字的右面加空格
1.9Class类与Console类
1、Class类
可以使用Class对象得到某个类的实例
2、Console类
可以在键盘上输入一行文本,但不让文本回显
1.10Pattern类与Matcher类
Pattern类和Matcher类:专门用来进行模式匹配
(1)建立Pattern对象
Pattern pattern=Pattern.compile(regex);
(2)得到Matcher对象
Matcher matcher=pattern.matcher(input);