版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Java程序设计,第8章 字符串和文本I/O,学习目标,掌握String类处理固定长度的字符串 了解Character类处理单个字符 掌握StringBuffer类处理可变长度字符串 使用File类处理文件 使用PrintWriter类向文件写数据 使用Scanner类从文件读数据,String类,java.lang.String表示一个固定长度的字符序列。 构造函数 长度(length) 获取字符(charAt) 连接(concat) 截取(substring) 比较(equals, equalsIgnoreCase, compareTo, startWith, endWith, regio
2、nMatch) 转换(toLowerCase, toUpperCase, trim, replace) 查找(indexOf, lastIndexOf) 字符串和数组间转换(getchars, toCharArray) 字符串和数字间转换(valueOf),构造函数,从字面值创建字符串 String newString = new String(stringLiteral); 例如: String message = new String(Welcome to Java); 由于字符串经常使用,java提供了创建字符串的简写形式。 String newString = stringLitera
3、l; 例如: String message = Welcome to Java;,字符串是不可变的,字符串对象创建之后,其内容是不可修改的。 String s; s = “java”; s = “HTML”;,s,s,规范字符串,由于字符串是不可变的,为了提高效率和节省内存,如果两个字符串由于相同的字面值创建的,那么java虚拟机只创建一个字符串对象。这样的字符串称为规范字符串(canonical string)。 可以使用字符串对象的intern方法返回标准化字符串。,String s = Welcome to Java; String s1 = new String(Welcome to
4、Java); String s2 = ern(); String s3 = Welcome to Java; System.out.println(s1 = s); /false System.out.println(s2 = s); /true System.out.println(s3 = s); /true,: String Welcome to Java,: String Welcome to Java,比较字符串,equals方法用于比较两个字符串是否包含相同的内容: 两个字符串内容相同,返回true 两个字符串内容不同,返回false equalsIngnoeCase忽
5、略大小写比较内容是否相同 regionMatch比较部分内容是否相同 startsWith判断是否以某个字符串开始 endsWith判断是否以某个字符串结束 compareTo方法用于比较两个字符串的大小,即第一个不同字符的差值。pareTo(s2)的返回值: 当两个字符串相同时,返回 当s1按字典排序在s2之前,返回小于的值 当s1按字典排序在s2之后,返回大于的值,Example:TestCompare.java,调用length()方法可以获取字符串的长度。 例如: message.length()返回15 charAt(index)方法可以获取指定位置的字符。index的值必须在0到s
6、.length()-1之间。 例如: message.charAt(0)返回字符W,字符串长度和获取单个字符,连接字符串,concat方法用于连接两个字符串。例如: String s3 = s1.concat(s2); 使用加号(+)连接两个字符串。例如: String s3 = s1 + s2; s1 + s2 + s3 等价于s1.concat(s2).concat(s3) 连接操作返回一个新的字符串。,截取子串,subString用于截取字符串的一部分,返回新字符串。 public String substring(int beginIndex, int endIndex) 返回字符串的
7、子串。子串从beginIndex开始,直到endIndex-1 public String substring(int beginIndex) 返回字符串的子串。子串从beginIndex开始,直到字符串的结尾。,字符串转换,toLowerCase将字符串转换成小写形式 toUpperCase将字符串转换成大写形式 trim删除两端的空格 replace字符替换,Example:TestConvert.java,查找字符或字符串,indexOf返回字符串中字符或字符串匹配的位置,返回-1表示未找到。 Welcome to Java.indexOf(W) returns 0. Welcome t
8、o Java.indexOf(x) returns -1. Welcome to Java.indexOf(o, 5) returns 9. Welcome to Java.indexOf(come) returns 3. Welcome to Java.indexOf(Java, 5) returns 11. Welcome to Java.indexOf(java, 5) returns -1. Welcome to Java.lastIndexOf(a) returns 14.,字符数组和字符串间的转换,toCharArray将字符串转换成字符数组 String s = “Java”;
9、char charArray = s.toCharArray(); 将字符数组转换成字符串 使用String的构造函数 new String(new char J,a,v,a); 使用valueOf方法 String.valueOf(new char J,a,v,a);,基本数据类型和字符串间的转换,valueOf方法将基本数据类型转换为字符串。例如 String s1 = String.valueOf(1.0); /“.0” String s2 = String.valueOf(true); /“true” 字符串转换为基本类型 Double.parseDouble(str) Integer
10、.parseInt(str) Boolean.parseBoolean(str),例 判断回文,回文是指顺读和倒读都一样的词语。例如“mom”, “dad”, ”noon”都是回文。编写程序,判断一个字符串是否是回文。,Example:CheckPalindrome.java,Character类,Character类的作用 将char类型的数据封装成对象 包含处理字符的方法和常量 方法 isDigit方法判断一个字符是否是数字 isLetter方法判断一个字符是否是字母 isLetterOrDigit方法判断一个字符是否是字母或数字 isLowerCase方法判断一个字符是否是小写 isUp
11、perCase方法判断一个字符是否是大写 toLowerCase方法将一个字符转换成小写 toUpperCase方法将一个字符转换成大写,例 统计字符串中字符的个数,编写程序,统计字符串每个字符出现的次数。假定字母不区分大小写。 解决方案 使用String类的toLowerCase方法,将字符全部转换成小写字母。 创建一个包含26个整数的数组,对每个字母出现的次数进行计数。,Example:CountEachLetter.java,StringBuffer,StringBuffer用于处理可变内容的字符串。 append方法在字符串的结尾追加数据 insert方法在指定位置上插入数据 reve
12、rse方法翻转字符串 replace方法替换字符 toString方法返回String对象 capacity方法返回缓冲区的容量 length方法返回缓冲区中字符的个数 setLength方法设置缓冲区的长度 charAt方法返回指定位置的字符 setCharAt方法设置指定位置的字符,例 检查回文,编写程序,检查回文,并忽略不是字母和数字的字符。 解决方案 创建一个新的StringBuffer,将字符串的字母和数字添加到StringBuffer中,返回过滤后的String对象。 翻转过滤后的字符串,并与过滤后的字符串进行比较,如果内容相同则是回文。,Example:PalindromeIgn
13、oreNonAlphanumeric.java,命令行参数,可以从命令行向java程序传递参数。参数以空格分隔,如果参数本身包含空格,用双引号括起来。 格式: java 类名 参数 参数 例如 java TestMain “First num” alpha 53 命令行参数将传递给main方法的args参数。args是一个字符串数组,可以通过数组下标访问每个参数。 public static void main(String args),例 使用命令行参数,编写程序,执行整数的二元操作。程序接收个参数:一个运算符和两个整数。例如: java Calculator 2 + 3 输出 2 + 3 = 5,Example:Calculator.java,java.io.File类,File对象表示文件系统的文件或路径。 获取文件路径名的各组成部分 测试底层文件的信息 查询和更改文件 创建、删除、重命名文件 列出目录中的文件,Example:TestFileClass.java,java.io.PrintWriter类,PrintWriter用于以文本的形式输出对象、字符串和基本数据类型。 PrintWriter pw = new PrintWriter(fileName
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 初中高考拓展2025年自主招生说课稿
- 上海工程技术大学《安全生产与环境保护》2025-2026学年第一学期期末试卷(B卷)
- 初中生时间管理2025规划说课稿
- 上海工商职业技术学院《安全经济原理与实践》2025-2026学年第一学期期末试卷(A卷)
- 上海工商职业技术学院《安全学原理》2025-2026学年第一学期期末试卷(B卷)
- 上海工商外国语职业学院《阿拉伯国情》2025-2026学年第一学期期末试卷(B卷)
- 初中学科融合数学地理说课稿
- 上饶卫生健康职业学院《安全法规》2025-2026学年第一学期期末试卷(B卷)
- 上饶卫生健康职业学院《Android 移动开发》2025-2026学年第一学期期末试卷(A卷)
- 初中语文戏剧2025融合说课稿设计
- 2025年度医疗卫生产教融合教育资源共享合作协议3篇
- 【TCP云运维】腾讯云运维高级工程师认证题(附答案)
- 藏族民间舞-热巴舞知到智慧树章节测试课后答案2024年秋西藏大学
- fs-ia6b接收机说明书
- 技术部技术人员安全生产责任制
- POCIB国际贸易FOB进出口预算运算表
- DB11T 3023-2019 公路养护作业安全设施设置规范
- JJF 2152-2024医用磁共振成像模体校准规范
- DB64-T 1972-2024 风积沙路基填筑(干压法)施工技术规范
- 智慧医疗:赋能未来
- 2024年同等学力申硕英语真题及答案
评论
0/150
提交评论