配色: 字号:
《Java程序设计教程》07 字符串和常用库类
2023-05-25 | 阅:  转:  |  分享 
  
第7章 字符串和常用库类本章学习目标掌握字符串的定义。 掌握String类型字符串的操作方法。掌握StringBuffer类型字符串的操
作方法。基本掌握StringTokenizer字符分析器的操作方法。熟悉常用库类。字符串字符串的定义 字符串的创建String
类型字符串的操作 StringBuffer类型字符串的操作 字符分析器 main()方法 字符串的定义 字符串可以看成是由若干字
符(也可以为空)组成的数组。Java语言中使用String和StringBuffer两个类来存储和操作字符串。 字符串的定义
Java中的字符串可分为字符串常量和字符串变量两种类型。字符串常量:由一系列字符用双引号括起来表示 。 字符串变量:利用Strin
g或StringBuffer类型的变量来代表这些字符串常量。 例如:String str;str= “Hello!” ;str表示
一个字符串变量,str的值为"Hello! "。 字符串的创建创建String类型的字符串 创建StringBuffer类型的字符
串 String类型的构造函数(表) 创建String类型的字符串由字符串常量直接赋值给字符串变量 。 如:String str
="Hello! "由一个字符串来创建另一个字符串。例如:String str1=new String("Hello");Stri
ng str2=new String(str);String str3=new String(); 创建String类型的字符串由
字符数组来创建字符串。例如:char num[ ]={‘H’,’i’};String str=new String(num);由字
节型数组来创建字符串。例如: byte bytes[ ]={25,26,27};String str=new String(byt
es);由StringBuffer对象创建String类型字符串。 如: String str= new String(s); 创
建StringBuffer类型的字符串 构造StringBuffer类型的空字符串,方法如下:StringBuffer( );
上述方法生成具有16个字符缓冲区的空字符串。  StringBuffer( int len ); 上述方法生
成具有len个字符缓冲区的空字符串。例如:StringBuffer str=new StringBuffer();StringBu
ffer str=new StringBuffer(12);创建StringBuffer类型的字符串 由String对象来构造St
ringBuffer类型的字符串,方法如下:StringBuffer( String s ); 上述方法分配了s大小的空间和16个
字符的缓冲区。 如:StringBuffer str=new StringBuffer(Hello!);String类型的构造函数
(表)String类型字符串的操作求字符串的长度 字符串的连接 字符串的大小写转换 求字符串的子集字符串的比较 字符串的检索 字
符串类型与其他类型的转化 字符串的替换 字符串的其他操作 求字符串的长度String类中使用length()方法来获得字符串的长度
,方法定义为:public int length();例如: String s="You are great!";Stri
ng t="你很优秀!";int len_s,len_t;len_s=s.length();len_t=t.length();字符
串的连接两个字符串使用+进行连接。例如: String str1="I"+"like"+"swimmming";String st
r2;str2=str1+"but Jane like running.";使用contat()方法进行连接 。例如:String
contat();String str1="I"+"like"+"swimmming";String s=str1. conta
t(but Jane like running.);字符串的大小写转换把字符串中所有的字符变成小写String toLowerCa
se();把字符串中所有的字符变成大写  String toUpperCase(); 例如:String date="Today
is Sunday.";String date_lower,date_upper;date_lower=date. toLower
Case(); date_upper=date. toUpperCase(); 求字符串的子集获得给定字符串中的一个字符St
ring CharAt(int index); 如:String date="Today is Sunday.";
String str2=data.CharAt(s.length()-1) 获得给定字符串的子串String substrin
g(int begin_index);String substring(int begin_index,int end_index
);  如:String date="Today is Sunday."; String str2=date.
substring(6);字符串的比较equals()和equalsIgnoreCase()方法boolean equals(S
tring s);boolean equalsIgnoreCase(String s);例如:String date1="SunD
ay ",date2= " Sunday";System.out.println(data1. equals (data2));
System.out.println(data1. equalsIgnoreCase (data2));Java语言中比较两
个字符串是否完全相同,不能使用==符号,因为即使两个字符串完全相同的情况下也会返回false。 请看例子字符串的比较compare
To()和compareToIgnoreCase()方法int compareTo(String s);int compareTo
IgnoreCase(String s); 例如: String s1=“me” ; s1. compareTo(
“her”)大于0 // 返回5 s1. compareTo(“you”)小于0 // 返回-12 s1. co
mpareTo("me")等于0 字符串的比较startsWith()和endsWith()方法boolean startWith
(String s)boolean startWith(String s,int index)boolean endsWith(S
tring s)例如:String s="abcdgde ";boolean b1,b2,b3;b1=s. startsWith(
“abc”); // trueb2= s.startsWith(s,2); // falseb3= s.endsWith("abc
"); // false字符串的比较regionMatches()方法boolean regionMatches(int ind
ex,String s, int begin,int end)boolean regionMatches(b
oolean b,int index, String s,int begin,int end)请看例子字符串
的检索 Java中的String类提供了以下两种方法来查找一个字符串在另一个字符串中的位置。indexOf()方法是从字符串的第一
个字符开始检索。lastIndexOf()方法是从字符串的最后一个字符开始检索。方法定义为:int indexOf(String
s)int indexOf(String s,int begin_index)int lastIndexOf(String s)i
nt lastIndexOf(String s,int begin_index)请看例子字符串类型与其他类型的转化 数值类型转化为
字符串类型方法定义为: String static valueOf(boolean t)String static valueOf
(int t)String static valueOf(float t)String static valueOf(double
t)String static valueOf(char t)String static valueOf(byte t)字符串类
型与其他类型的转化 字符串类型转化为数值类型 方法定义为:public int paresInt(String s) public
float paresFloat(String s) public double paresDouble(s) public s
hort paresShort(String s) public long paresLong(String) public by
te paresByte(String s) 字符串类型与其他类型的转化 字符串向字符数组的转化char[ ] toCharArr
ay()public void getChars(int begin,int end, char
c[ ],int index)用字符数组数组来构造一个字符串 String(char[ ],int offset,int leng
th)例如: char c[ ]= "今天星期六".getChars(); String s=new String(c,0,4
); System.out.println(s);字符串类型与其他类型的转化 字符串向字节数组的转化 byte[ ] getBy
tes() 用字节数组来构造一个字符串 String(byte[],int offset,int length)例如: byt
e b[ ]= "今天星期六".getBytes(); String s=new String(b,4,6); Syste
m.out.println(s);字符串的替换 字符串中字符的替换 String replace(char oldChar,cha
r newChar)如:String s="bag"; s=s.replace(a,e);字符串中子串的替换String rep
laceAll(String oldstring,String newstring)如: String s="more and m
ore "; s=s.replaceAll ("more ", "less");字符串的其他操作 字符串前后部分空格的删除 S
tring trim(); 用来把字符串前后部分的空格删除,返回删除空格后的字符串。例如:String str=" It is
Sunday ";String s=str.trim();字符串的其他操作对象的字符串表示String toString()to
String()是Object类一个public方法,用来把任何对象表示成String类型的字符串。请看例子StringBuffe
r类型字符串的操作字符串的追加字符串的插入 字符串的删除 字符串的修改 求字符串的长度和容量字符串的替换 字符串的反转 注意字符串
的追加StringBuffer append(数值类型 t);参数类型包括boolean、int、char、float、doubl
e、long类型。 StringBuffer append(String s)StringBuffer append(char[
])StringBuffer append(char[ ],int begin,int end)StringBuffer appe
nd(Object t)字符串的插入StringBuffer insert(int offset, 数值类型 t)参数类型包括bo
olean、int、char、float、double、long类型。StringBuffer insert(int offset
, String t)StringBuffer insert(int offset,char[ ] t)StringBuffer
insert(int offset, char[ ] t, int begin,int end)StringB
uffer insert(int offset,Object t)字符串的删除 删除字符串的一个字符StringBuffer de
leteCharAt(int index)删除字符串的子串StringBuffer delete(int begin_index,
int end_index)例如: StringBuffer s=new StringBuffer(“It iss Sunda
y”); s=s.deleteCharAt(5); // It is Sunday s=s.delete(5,12);
// It is字符串的修改 void setLength(int length)如果length的长度小于原字符串的长度,那么
进行setLength操作后当前字符串的长度为length,且后面的字符被删除,但如果length的长度大于原字符串的长度,那么进
行setLength操作后,会在原字符串的后面补字符‘\u0000’来使原字符串变长为length。例如: StringBu
ffer s=new StringBuffer("Sunday"); s.setLength(8); // "Sunda
y "求字符串的长度和容量字符串的长度StringBuffer length()StringBuffer字符串的容量Stri
ngBuffer capacity()例如:StringBuffer s=new StringBuffer("Sunday");i
nt len1=s.capacity(); // 22Int len2=s.length(); // 6字符串的替换 子串的替换S
tringBuffer replace(int begin_index, int end_index,St
ring s)单个字符的替换void setCharAt(int index,char ch)例如: StringBuffer
s=new StringBuffer("me them"); s.setCharAt(1,''y’); // my them
s.replace(3,7,"their"); // my their 字符串的反转 StringBuffer reverse(
);reverse方法是将字符串倒序。请看例子注意String中对字符串的操作不是对原字符串本身进行的,而是对新生成的一个原字符串
对象的拷贝进行的,其操作的结果不影响原字符串。相反,StringBuffer中对字符串的操作是对原字符串本身进行的,可以对字符串进
行修改而不产生副本。请看例子字符分析器 定义StringTokenizer类的构造函数StringTokenizer类的常用方法定
义Java的java.util包中有StringTokenizer类可以通过分析一个字符串把字符串分解成可被 独立使用的单词,这些
单词称为语言符号。例如:字符串"It is Sunday",如果把空格作为该字符串的分隔符的话,那么该字符串有It、is和Sund
ay三个单词。 StringTokenizer类的构造函数StringTokenizer(String s) StringToke
nizer(String s, String delim) StringTokenizer(String s, String de
lim, boolean isTokenReturn)例如:StringTokenizer s=new StringTokenizer("It;is;Sunday",";"); StringTokenizer类的常用方法public String nextToken();public String nextToken(String delim)public int countTokens()public boolean hasMoreTokens();请看例子main()方法 Java中每一个程序都是从public static void main(String[ ] args)方法进入的。main方法中的参数是字符串数组arg[ ],args是命令行参数,字符串数组arg[ ]的元素是在程序运行时从命令行输入的,其形式为:java 类文件名 arg[0] arg[1] arg[2] arg[3]……请看例子7.4 常 用 库 类包装类处理常见数学问题的Math类、生成随机数的Random类表示日期时间的Date类系统类System输入类Scanner
献花(0)
+1
(本文系大高老师首藏)