《Java程序设计》课程教学课件(PPT讲稿)第9章 字符串和文本I/O

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 1 第9章 字符串和文本I/O

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 2 动 因 我们经常会遇到涉及字符串处理和文件输入/输 出的问题。假设你需要编写一个程序,该程序 用一个新字替换文件中所有出现的某个字。你 该如何实现这个功能呢?本章介绍字符串和文 本文件,它们可以解决此类问题

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 3 学习目标 使用String类处理定长的字符串(第9.2节)。 使用Character类处理单个字符(第9.3节)。 使用StringBuilder/StringBuffer类处理可变长字符串 (第9.4节)。 区别String、StringBuilder和StringBuffer类 (第9.2- 9.4节)。 学习如何从命令行传参数给main方法(第9.5节)。 使用File类获取文件的属性、删除和重命名文件 (第9.6节)。 使用PrintWriter类向文件写数据(第9.7.1节)。 使用Scanner类从文件读取数据(第9.7.2节)。 (GUI)使用对话框打开文件(第9.8节)

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 4 字符串类String 创建一个字符串对象: – String message = "Welcome to Java“; – String message = new String("Welcome to Java“); – String s = new String(); 获取字符串长度和在一个字符串中获取某个单个字符。 字符串连接(concat) 子串(substring(index)、substring(start, end)) 比较(equals、compareTo) 字符串转换 在一个字符串中找出一个字符或一个子串 字符串和数组之间的转换 将字符和数值转换成字符串

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 5 创建字符串对象 String newString = new String(stringLiteral); String message = new String("Welcome to Java"); 因为字符串使用非常频繁,所以Java提供一种简 化的方法来初始化一个字符串对象: String message = "Welcome to Java";

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 6 字符串是不可变的 String对象是不可变的;它的内容是不能改变的。 下列代码会改变字符串的内容吗? String s = "Java"; s = "HTML";

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 7 跟踪代码 String s = "Java"; s = "HTML"; : String String object for "Java" s 执行语句“String s = "Java";”后 After executing s = "HTML"; : String String object for "Java" : String String object for "HTML" 内容不能改变 This string object is now unreferenced s 动 画

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 8 跟踪代码 String s = "Java"; s = "HTML"; : String String object for "Java" s 执行“String s = "Java"; 执行语句“s = "HTML"”后; : String String object for "Java" : String String object for "HTML" Contents cannot be changed 这个字符串对象现 在未被引用 now unreferenced s 动 画

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 9 限定字符串 因为字符串在程序设计中是不可变的,但同时 又会频繁地使用,所以Java虚拟机为了提高效 率和节约内存,对具有相同字符串序列的字符 串直接量使用同一个实例。这样的实例被称为 限定的(interned)。例如:下面的语句

Liang, Introduction to Java Programming, Eighth Edition, (c) 2011 Pearson Education, Inc. All rights reserved. 0132130807 10 举 例 程序结果显示 s1 == s 是 false s1 == s3 是 true 如果使用new操作符,就会创建一个 新的对象。 如果使用字符串初始化方法,如果 限定对象已经被创建则没有新对象 被创建。 String s1 = "Welcome to Java"; String s2 = new String("Welcome to Java") ; String s3 = "Welcome to Java"; System.out.println("s1 == s2 is " + (s1 == s2)); System.out.println("s1 == s3 is " + (s1 == s3)); : String “Welcome to Java”的 限定字符串对象 : String “Welcome to Java”的 字符串对象 s1 s2 s3
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 《Java程序设计》课程教学课件(PPT讲稿)第8章 对象和类.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第7章 多维数组.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第6章 一维数组.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第5章 方法.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第4章 循环.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第3章 选择.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第2章 基本程序设计.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第1章 计算机、程序和Java概述.ppt
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)模拟试题及答案(三).pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)模拟试题及答案(二).pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)模拟试题及答案(一).pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)真实感图形学习题解答.pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)Bezier曲线习题解答.pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)B样条曲线习题解答.pdf
- 清华大学:《计算机图形学基础》课程教学资源(试卷习题)图形学基本概念题解答.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)阴影 Shadow.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)纹理映射.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)光线跟踪加速方法.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)B样条曲线曲面.pdf
- 清华大学:《计算机图形学基础》课程教学资源(授课教案)网格参数化模型切割的骨架算法.pdf
- 《Java程序设计》课程教学课件(PPT讲稿)第10章 关于对象的思考.ppt
- 《Java程序设计》课程教学课件(PPT讲稿)第11章 继承和多态.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第1章 多媒体技术概要.ppt
- 《多媒体技术基础》课程教学资源(作业习题)练习与思考题参考答案.doc
- 《多媒体技术基础》课程教学课件(PPT讲稿)第2章 数据无损压缩.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第3章 数字声音编码.ppt
- 清华大学出版社:《多媒体技术基础》课程教材书籍PDF电子版(第2版,编著:林福宗).pdf
- 《多媒体技术基础》课程教学课件(PPT讲稿)第5章 颜色的度量体系.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第4章 彩色数字图像基础.ppt
- 《多媒体技术基础》课程教学资源(书籍教材)Fundamentals of Multimedia,英文版,Ze-Nian Li and Mark S. Drew.pdf
- 《多媒体技术基础》课程教学课件(PPT讲稿)第6章 颜色空间变换.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第7章 小波与小波变换.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第8章 小波图像编码.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第12章 MPEG视像.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第11章 MPEG声音.ppt
- 《多媒体技术基础》课程教学课件(PPT讲稿)第9章 数字电视基础.ppt
- 《多媒体技术基础》课程教学课件(英文讲稿)Chapter 7 Lossless Compression Algorithms.pdf
- 《多媒体技术基础》课程教学课件(PPT讲稿)第10章 MPEG概要.ppt
- 《计算机硬件技术基础》课程教学大纲 Computer Hardware Technology Foundation.doc
- 清华大学出版社:《计算机硬件技术基础》课程电子教案(PPT教学课件)第1章 概述.ppt
