资源预览内容
第1页 / 共18页
第2页 / 共18页
第3页 / 共18页
第4页 / 共18页
第5页 / 共18页
第6页 / 共18页
第7页 / 共18页
第8页 / 共18页
第9页 / 共18页
第10页 / 共18页
亲,该文档总共18页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
2009年浙江工业大学软件学院Java程序设计视频教程Java程序设计视频教程本讲主题:字符串2课程主要内容o 在Java中,有一个内建的类String,叫字符串。其实 例就是字符串对象。字符串对象是用双引号括起来的 字符序列,但字符串的内容并不包括双引号。o 字符串是有序的字符序列,它的最基本元素是字符( 字母、数字、标点符号或其它的符号)。3字符串o 在Java中,有一个内建的类String,叫字符串 。其实例就是字符串对象。字符串对象表示为 用双引号括起来的字符序列,还有许多方法可 以实现对字符串的各种处理。o 字符串对象一旦创建,就不能被更改。o 试解释以下语句的含义和内存情况 n String s=“abc”; n s=s+”de”;字符串对象的创建o 直接使用字符串常量 n 如:”Hello” o 使用String的构造方法实例化字符串nString() / 实例化一个空字符串。 nString(byte bytes) /使用默认字符集从字节数组构造一个字符串 nString(char value)/使用字符数组构造一个字符串. nString(char value, int offset, int count) /使用字符数组的一部分构造 一个字符串. nString(String original) /从一个字符串新建一个字符串(复制字符串) nString(StringBuffer buffer) / 从一个字符串缓冲对象构造一个字符串 n等等4重载的“+”运算符5可以用“+”运算符连接两个字符串。 可以用“+”运算符让一个字符串与一个数值量进行连接(会 自动将数值量转化成字符串)。在连接时,当两个以上的数 值量要进行算术运算时,可以用()括起来,否则按字符串 进行处理。String s1=new String(“aaa”); String s2=new String(“bbb”); s1=s1+s2; System.out.println(“s1+s2=”+s1);输出结果为s1+s2=aaabbbString s1,s2; s1=“+12+12; s2=“+(12+12); s3=12+12+“ System.out.println(s1); System.out.println(s2); System.out.println(s3);输出结果为:12122424字符串的常用方法方法用途length()返回字符串的长度,其类型是int concat(String s) 返回字符串与s字符串连接形成的新串charAt(int index)返回字符串中下标index所对应的字 符(下标从0开始) getChars(int srcBegin,int srcEnd,char dst,int dstBegin)将字符串中的部分字符存入字符数组 中 toCharArray()根据字符串的内容返回一个字符数组 char s=“ab“.toCharArray(); substring(int beginIndex) substring(int beginIndex,int endIndex) 返回字符串从下标beginIndex到下标 endIndex-1之间的子串。6例题:以下程序的运行结果是什么?package mypackage; public class TestSubstring public static void main(String args) String s=“abcd“; System.out.println(s.substring(1, 3); 7运行结果: bc字符串的常用方法方法用途replace(char oldChar,char newChar) replace(String oldStr,String newStr)将字符串的字符oldChar替换成 newChar并且返回 toLowerCase() 大写字母转换为 小写并返回toUpperCase() 小写字母转换为 大写并返回trim() 删除String串中的首尾空格并返回indexOf(String str) indexOf(String str, int fromIndex) indexOf(char c) indexOf(char c, int fromIndex) 检索字符串中是否含有子串str。若有 则返回子串出现位置的下标;若没有 则返回-1。检索顺序从下标 fromIndex开始向后搜索。 lastIndexOf(String str) lastIndexOf(String str, int fromIndex) lastIndexOf(char c) lastIndexOf(char c, int fromIndex) 作用和上面相同,但是是反向搜索8例题:下面程序的输出结果是?package mypackage; public class Testreplace public static void main(String args) String s=“abcd“; System.out.println(s.replace(b,h); System.out.println(s.replace(“bc“,“h“); 9运行结果: ahcd ahd字符串的常用方法方法用途equals(String str) equalsIgnoreCase(String str)将字符串的内容与str的内容比较,若 一致(大小写也一致),则返回true,否 则返回false。后者比较时忽略大小写 。 compareTo(String str)按字典顺序比较字符串与str的大小。 若相等返回0,大于str返回正数,小 于str则返回负数 regionMatches(boolean ignoreCase, int offset, String str1,int offset1,int len)将字符串从下标offset开始、长度为 len的子串与字符串str1从offset1开 始、长度为len的字串做相等的比较 ,若相等则返回true,否则返回false startsWidth(String str) endsWidth(String str)判断字符串是否以str为前缀(后缀)10例题:下面程序的运行结果是?package mypackage; public class TestregionMatches public static void main(String args) String s=“abcd“; System.out.println(s.regionMatches(true, 0, “Bd“, 0, 1); System.out.println(s.regionMatches(true, 1, “Bc“, 0, 1); System.out.println(s.regionMatches(true, 1, “Bd“, 0, 2); System.out.println(s.regionMatches(true, 0, “Bc“, 0, 2); System.out.println(s.regionMatches(true, 1, “Bc“, 0, 2); 11false true false false true字符串的常用方法方法用途静态方法valueOf(一个参数) 参数可以是各种类型返回一个表示参数的字符串12例题:下面程序运行的结果是?package mypackage; class StudentString name=“张山“; public class TestValueOf public static void main(String args) double s=123.45; boolean b=true; char c=w,e, ,a,r,e, ,o,k; String s1=String.valueOf(s); Student student=new Student(); String s2=String.valueOf(student); System.out.println(s1); System.out.println(String.valueOf(c); System.out.println(String.valueOf(b); System.out.println(s2); 13123.45 we are ok true mypackage.Student150bd4d练习与例题:字符串排序o 编写一个类SortString,类中有一个静态方法 sortStringArray(), 该方法以一个字符串数组为 参数,返回按字典顺序排好队的数组。编写一个main 方法,测试上述排序方法。 o 如:数组“Now”,“is”,“the”,“all”排好序后应该 为“Now” ,“all”,“is”,“the” o 提示:用冒泡排序法。字符串的比较可以使用字符串的 compareTo()方法14参考答案public class SortString public static String sortStringArray(String sa) for (int i=0;i0)String temp=sai;sai=saj;saj=temp;return sa; 15参考答案public static void main(String args) String strArray=“You“,“are“,“my“,“good“,“friend“; strArray=SortString.sortStringArray(strArray); for(int i=0;istrArray.length;i+) System.out.println(strArrayi); 16字符串缓冲类StringBuffero 适合对字符串做连接或修改等操作而不会建 立新的对象。速度更快,更省资源。 o 常用方法 nStringBuffer append(char c) nStringBuffer append(String str) nStringBuffer deleteCharAt(int index) nStringBuffer insert(int k,char c) nStringBuffer insert(int k,String str) nStringBuffer replace(int m, int n, String str) nStringBuffer reverse()17StringBuffer应用示例package mypackage; public class TestStringBuffer public static void main(String args) StringBuffer sb=new StringBuffer(“world“); sb.append(!); sb.insert(0, “Hello “); String s=new String(sb); System.out.println(s); sb=new StringBuffer(“abcdefghijklmnopqrstuvwxyz“); sb.reverse(); System.out.println(sb); 18
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号