1、,字符串,掌握String的基本用法 如何定义、初始化字符串 如何访问字符串长度 如何比较、连接、提取字符串 会使用StringBuffer类的方法对字符串进行操作,本章目标,无处不在的字符串,生活中的字符串使用String对象存储字符串String类位于java.lang包中,具有丰富的方法 计算字符串的长度 连接字符串 比较字符串 提取字符串,频繁使用的字符串,“有志者事竟成 ”,“离奥运会开幕还有380天”,“教育改变生活”,String s = “有志者事竟成“;,String s = new String(“有志者事竟成“);,字符串长度2-1,package s1java.sg.c
2、hap9; import java.util.*; public class HelloAccp1 public static void main(String args) System.out.print(“请随机输入你想到的名字: “);Scanner input = new Scanner(System.in);String name = input.next();System.out.println(“这个名字的长度是: “ “ + name.length()+ “ “);,随机输入你心中想到的一个名字,然后输出它的字符串长度,调用字符串的length()方法可以获得字符串的长度,要想
3、打印输出引号(”),必须在字符串中使用转义序列”,演示示例1:演示计算字符串的长度,字符串长度2-2,计算字符串长度,字符串,长度,调用length() 方法获得,返回字符串中的字符数,调用方法:,字符串标识符.length();,方法原型:,public int length() ,字符串比较4-1,两个学员输入各自最喜欢的课程名称,判断是否一致,/判断课程名称是否相同if(favCourse1.equals(favCourse2)System.out.println(“最喜欢的课程相同“);elseSystem.out.println(“最喜欢的课程不相同“);,比较两个字符串是否相等,演
4、示示例2:演示比较字符串,字符串比较4-2,equals()方法比较原理输入的“Java”和“java”代表同一课程,如何解决? 使用equalsIgnoreCase()方法 结合toUpperCase()或toLowerCase(),字符串 1,字符串 2,检查组成字符串内容的字符是否完全一致,字符串比较4-3,使用equalsIgnoreCase()方法解决,比较时忽略大小写形式,if(favCourse1.equalsIgnoreCase(favCourse2)System.out.println(“最喜欢的课程相同“);elseSystem.out.println(“最喜欢的课程不相同
5、“);,字符串比较4-4,结合toUpperCase()方法解决,Java,使用 toUpperCase( ) 方法,JAVA,Java,使用 toLowerCase( ) 方法,java,if(favCourse1.toUpperCase().equals(favCourse2.toUpperCase()System.out.println(“最喜欢的课程相同“); elseSystem.out.println(“最喜欢的课程不相同“); ,小结1,学员进行入学注册,输入两次密码,如果相同,提示注册成功,如果不相同,提示重新输入密码,选用哪个方法更合适?,参考代码,字符串连接2-1,令狐冲的
6、Java成绩如表所示,输出他的成绩单,public static void main(String args) int sqlScore = 80; /sql成绩int javaScore = 90; /java成绩double htmlScore = 86.7; /html成绩/创建成绩单String scoreSheet = “SQL:“ + sqlScore + “ Java:“ + javaScore + “ HTML:“ + htmlScore; /打印成绩单System.out.println(“*令狐冲成绩单*“);System.out.println(scoreSheet);,
7、“+”连接字符串,String scoreSheet = “SQL:t“ + sqlScore + “nJava:t“ + javaScore + “nHTML:t“ + htmlScore;,演示示例3:演示连接字符串输出成绩单,数值型变量自动转换成String类型,字符串连接2-2,方法1:使用“+”方法2:使用String类的concat()方法,你好,张三!,String s = new String(“你好,“); String name = new String(“张三!“); String sentence = s.concat(name); System.out.println
8、(sentence);,输出结果,A.concat(B): B字符串将被连接到A字符串后面,字符串常用提取方法4-1,使用作业提交系统提交Java作业,输入java源代码文件名,并输入自己的邮箱,提交前对Java文件名以及邮箱有效性进行检查。编码实现,合法的文件名应该以.java结尾 合法的邮箱名中至少要包含“”和“.”, 并检查“”是否在“.”之前,字符串常用提取方法4-2,常用提取方法举例,返回出现第一个匹配的位置, 如果没有找到字符或字符串,则返回-1,0 1 2 3,位置,演示示例4:演示常用字符串提取方法,字符串常用提取方法4-3,beginindex: 字符串的位置从0开始算;en
9、dindex: 字符串的位置从1开始算,字符串常用提取方法4-4,/检查Java文件名int index = fileName.lastIndexOf(“.“);if(index!=-1 ,/检查你的邮箱格式 if (email.indexOf() !=- 1 ,完整代码演示,演示示例5:演示作业提交系统,作业提交系统,小结2,如果要打印输出“小鱼儿”,应填入的代码是什么?,String word = “Hello, “; word = word.trim(); String s = word.concat(“小鱼儿!“); int index1 = s.indexOf(,); int ind
10、ex2 = s.indexOf(!); System.out.println(s.substring(_, _);,index1+1,index2,StringBuffer,StringBuffer:String增强版 StringBuffer声明StringBuffer的使用,StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer(“aaa“);,创建空字符串,创建一个变量存储字符串aaa,sb.toString(); /转化为String类型,sb.append(“*“); /追加字符串,String
11、Buffer的用武之地,/声明课程信息字符串StringBuffer course = new StringBuffer();System.out.println(“请输入S1课程信息: “);Scanner sc = new Scanner(System.in);/循环从键盘接收字符串String input;while(!(input = sc.next().equals(“#“)course.append(input);course.append(“n“);System.out.println(“s1的课程信息是:“ + course);,定义StringBuffer的实例,存储课程字符
12、串,循环追加字符,使用StringBuffer,效率高!,从控制台接收课程信息,不断累加直到输入“#”键结束,并输出全部课程信息,完整代码演示,Java语言特点总结,简单易学 丰富且功能强大的类库(Java Doc我们的法宝) java.lang.*:提供利用 Java 编程语言进行程序设计的基础类 java.util.*:提供集合框架,Collection类,日期,实用工具等类 java.io.*:提供强大的系统输入和输出 javax.sql.*: javax.xml.*: 提供强大的网络支持(后续课程:深入OOP、JSP B/S开发技术),总结,如何定义一个String类的实例? 使用什么方法可以实现以下功能: 获得字符串的长度 在原始字符串后追加另一个字符串 如何比较两个字符串的内容是否相等 使用StringBuffer的优点是什么?,