第六章 数组与字符串 §6.1 数组 §6.2 字符串. §6.1 数组 数组的创建 ( 一维数组和二维数组;基本数据类型和 复合数据类型) 1. 指定数组名称、数据类型 type var_name[]; 如: char s[]; Object o[]; int i[][];

Slides:



Advertisements
Similar presentations
ProQuest Digital Dissertations PQDD 学位论文全文库. 1 、数据库简介 PQDD 是世界著名的学位论文数据库,收 录有欧美 1 , 000 余所大学文、理、工、农、医 等领域的博士、硕士学位论文,是学术研究中 十分重要的信息资源。 本数据库为 PQDD 文摘 数据库中部分记录的全文。
Advertisements

第八章 轴系零件 § 8-1 键、销及其连接 一、键连接 二、销连接 § 8-2 轴 一、轴的分类和应用 二、轴的结构和轴上零件的固定
纺纱学. 2 绪 论 基本要求:了解纺纱系统的类别 重点掌握:棉纺系统的工艺流程 3 一、纺纱原理与设备 纺纱:用物理或机械的方法将纺织纤维纺成纱 线的过程。 纺纱原理:初加工、原料的选配、开松除杂、 混和、梳理、精梳、并合、牵伸、加捻、卷绕等。 纺纱方法:传统纺纱方法、新型纺纱方法。 纺纱设备:开清棉联合机、梳棉机、精梳机、
第十二章 常微分方程 返回. 一、主要内容 基本概念 一阶方程 类 型 1. 直接积分法 2. 可分离变量 3. 齐次方程 4. 可化为齐次 方程 5. 全微分方程 6. 线性方程 类 型 1. 直接积分法 2. 可分离变量 3. 齐次方程 4. 可化为齐次 方程 5. 全微分方程 6. 线性方程.
退 出退 出退 出退 出 上一页 下一页 仪器使用 §1-2 尺规绘图工具和仪器的使用方法 图板丁字尺三角板 比例尺圆规分规铅笔曲线板。 要提高绘图的准确度和绘图效率,必须正确地使用各种绘图工 具和仪器。常用的手工绘图工具和仪器有图板、丁字尺、三角板、 比例尺、圆规、分规、铅笔、曲线板等。 提示:将光标放在仪器上,
基本知识和几何要素的投影 模块一: 字体练习 第一章 制图的基本知识与基本技能 题目提示返回.
数控机床结构及维修 主编:于万成 王桂莲 副主编:李昊 人民邮电出版社 北京 ◎ 了解数控系统的组成和常见数控系统 的特点 ◎ 熟悉常见数控系统的参数设置 ◎ 掌握数控系统的常见故障诊断及维修 方法 调试与维修数控 机床的数控系统.
第 12 章位运算 C 语言兼具高级语言及低级语言的特性,因此 适合编写系统软件。 C 语言具备低级语言的特性 就在于它能直接对硬件进行操作,即位运算。 所谓位运算是指,按二进制位进行的运算。 例如,将一个存储单元中各二进位左移或右移一 位等。
LOGO 文献管理软件 NoteExpress 简介 《文献管理与信息分析》课程系列之九中国科学技术大学.
位置相关查询处理 研究背景及意义 移动计算、无线通信以及定位技术的快速发展,使 得位置相关的查询处理及基于位置的信息服务技术 已经成为一个热点研究领域 。 大量的应用领域 ( 如地理信息系统、智能导航、交 通管制、天气预报、军事、移动电子商务等 ) 均迫 切需要有效地查询这些数据对象。
1 文字处理软件 Word Word 的基本操作 文档的基本编辑 文档的格式设置表格的使用插入对象功能.
4 第四章 矩阵 学时:  18 学时。 教学手段:  讲授和讨论相结合,学生课堂练习,演练习题与辅导答疑相结合。 基本内容和教学目的:  基本内容: 矩阵的运算,可逆矩阵,初等矩阵及其性质和意义, 分块矩阵。  教学目的:  1 .使学生理解和掌握矩阵等价的相关理论  2 .能熟练地进行矩阵的各种运算.
编译程序 构造原理和实现技术 授课教师:吕江花. 第一章 编译程序概述 主要内容: 几个基本概念 编译器的工作过程概述 编译器各个阶段的功能描述 编译程序的实现途径.
主要内容  LR(0) 分析. 0 S→  E # E→  E+T E→  T T→  id T→  ( E ) 1 S→E  # E→E  +T 5 T→id  3 E→E+  T T→  id T→  (E) 4 E→E+T  9 E→T  6 T→(  E) E→
嵌入式操作系统 陈香兰 Fall 系统调用 10/27/09 嵌入式 OS 3/12 系统调用的意义  操作系统为用户态进程与硬件设备进行交互提供 了一组接口 —— 系统调用  把用户从底层的硬件编程中解放出来  极大的提高了系统的安全性  使用户程序具有可移植性.
回顾 栈、队列、循环队列的定义、特征和描 述 栈、队列、循环队列的表示方法 栈、队列、循环队列的重要操作 递归的定义、分类及优缺点 递归与栈的关系 简单递归程序的编写.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第六十二讲 ) 离散数学. 最后,我们构造能识别 A 的 Kleene 闭包 A* 的自动机 M A* =(S A* , I , f A* , s A* , F A* ) , 令 S A* 包括所有的 S A 的状态以及一个 附加的状态 s.
第四章 8086 汇编语言程序设计 几个概念 几个概念 8086 汇编语言的语句 8086 汇编语言的语句 8086 汇编中的伪指令 8086 汇编中的伪指令 8086 汇编中的运算符 8086 汇编中的运算符 汇编语言程序设计 汇编语言程序设计 宏定义与宏调用 宏定义与宏调用 系统调用 系统调用.
1 为了更好的揭示随机现象的规律性并 利用数学工具描述其规律, 有必要引入随 机变量来描述随机试验的不同结果 例 电话总机某段时间内接到的电话次数, 可用一个变量 X 来描述 例 检测一件产品可能出现的两个结果, 也可以用一个变量来描述 第五章 随机变量及其分布函数.
有限自动机 (Finite Automata) 描述程序设计语言中的单词的识别过程。 主要内容: 确定有限自动机 DFA(Deterninistic FA) 确定有限自动机 DFA 的实现 非确定有限自动机 NFA(Nondeterninistic FA) NFA 到 DFA 的转换 DFA 的化简.
Harris Spring 2005 讲座一 “ERP 与企业流程再造 ” 东南大学 自控系 赵霁教授 电话: 一 ERP 是什么? 二企业为什么要引入 ERP 系统? 三企业管理软件的发展与 ERP 的创新之处 四 ERP 与流程再造的关系。 五 企业流程再造规划分析。
南航计算机系 南航计算机系 数据结构. 第一章 绪论  什么是数据结构 什么是数据结构  基本概念和术语 基本概念和术语  抽象数据类型的表示和实现 抽象数据类型的表示和实现  算法和算法分析 算法和算法分析.
第三章 C 数据及其表达式 2 回顾  程序是为执行一项任务而编写的有序指令集  算法是解决问题的具体方法和步骤  流程图是算法的图形化表现形式  C 程序的编译和运行过程  编译器将源程序转换成机器能理解的程序  连接器用于连接相关的目标文件以生成可执行程序  进制间的转换  补码.
线性代数习题课 吉林大学 术洪亮 第一讲 行 列 式 前面我们已经学习了关 于行列式的概念和一些基本 理论,其主要内容可概括为:
第 4 章 过程与变量的作用范围. 4.1 Visual Basic 的代码模块 Visual Basic 的应用程序是由过程组成的, 过程代码存放在模块中。 Visual Basic 提供了 三类模块,它们是窗体模块、标准模块和类 模块。 窗体模块 窗体模块是大多数 Visual Basic.
数 学 系 University of Science and Technology of China DEPARTMENT OF MATHEMATICS 第 3 章 曲线拟合的最小二乘法 给出一组离散点,确定一个函数逼近原函数,插值是这样的一种手段。 在实际中,数据不可避免的会有误差,插值函数会将这些误差也包括在内。
自顶向下分析 —— 递归下降法 递归下降法 (Recursive-Descent Parsing) 对每个非终极符按其产生式结构产生相应语 法分析子程序. 终极符产生匹配命令 非终极符则产生调用命令 文法递归相应子程序也递归,所以称这种方 法为递归子程序方法或递归下降法。
聚合物在生物高分子分离中的应用 王延梅 中国科学技术大学高分子科学与工程系 Tel
实验三: 用双线性变换法设计 IIR 数字滤波器 一、实验目的 1 熟悉用双线性变换法设计 IIR 数字滤波器的原理与方法。 2 掌握数字滤波器的计算机仿真方法。 3 通过观察对实际心电图信号的滤波作用, 获得数字滤波的感性知 识。
语义分析 主要内容:  语义分析概述 ( 必要性、功能、描述方法 )  符号表  类型表达式  声明和程序体的语义分析.
第六章 文件管理. 程序设计中,文件是十分重要的,许多情况下, 使用文件可以高效地解决实际问题。有用的数据在后 备存储器上以文件的形式存储后,我们就可以通过文 件对数据进行访问、操作以及检索,这称为文件管理。 6.1 文件的分类 根据文件访问类型的不同,可以将文件分为三类: 顺序文件、随机文件和二进制文件。
第二章 贝叶斯决策理论 3学时.
UML 对象设计与编程 主 讲 : 董兰芳 副教授 Dept. of Computer Science,USTC
从 Postscript 格式文献中提取 数学公式的方法. 概述 从 Postscript 格式文献中提取识别数学公式, 是数学公式识别领域的一个研究方向。主要针对 以 Word 和 Latex 为生成源的 Postscript 文档, 提出 基于内容的数学公式提取方法。首先重载 Postscript.
在发明中学习 线性代数 概念的引入 李尚志 中国科学技术大学. 随风潜入夜 : 知识的引入 之一、线性方程组的解法 加减消去法  方程的线性组合  原方程组的解是新方程的解 是否有 “ 增根 ” ?  互为线性组合 : 等价变形  初等变换  高斯消去法.
第十章 目标代码生成  目标代码 ( 单寄存器 )  临时变量的存储空间分配  寄存器的分配和释放.
第5章 键盘与鼠标接口 5.1 键盘概述 5.2 键盘的工作原理 5.3 PC扩展键盘接口 5.4 键盘中断与键盘I/O 5.5 鼠标接口.
第二章 通信技术基础 谈英姿 东南大学自控系工业自动化教研室. 通信技术基础 2.1 通信的基本概念 2.2 通信协议与网络层次分析 2.3 常用串行通信技术.
第 3 章 控制流分析 内容概述 – 定义一个函数式编程语言,变量可以指称函数 – 以 dynamic dispatch problem 为例(作为参数的 函数被调用时,究竟执行的是哪个函数) – 规范该控制流分析问题,定义什么是可接受的控 制流分析 – 定义可接受分析在语义模型上的可靠性 – 讨论分析算法.
吉林大学远程教育课件 主讲人 : 杨凤杰学 时: 64 ( 第五十三讲 ) 离散数学. 定义 设 G= ( V , T , S , P ) 是一个语法结构,由 G 产生的语言 (或者说 G 的语言)是由初始状态 S 演绎出来的所有终止符的集合, 记为 L ( G ) ={w  T *
编译原理总结. 基本概念  编译器 、解释器  编译过程 、各过程的功能  编译器在程序执行过程中的作用  编译器的实现途径.
主要学习内容: 1、用描述法分析样品的风味特征 2 、学习味觉试验方法。 闽北职业技术学院食品与生物工程系.
 符号表  标识符的作用: 声明部分:定义了各种对象及对应的属性和 使用规则。 程序体:对所定义的对象进行各种操作。 $ididname IdnameAttributeIR  必要性 Token : 新表-符号表(种类、类型等信息):
Department of Mathematics 第二章 解析函数 第一节 解析函数的概念 与 C-R 条件 第二节 初等解析函数 第三节 初等多值函数.
网上预约集港操作指南 一、登录系统 登陆下面图片显示网址:输入堆场用户名、密码和校验码登陆系统.
首 页 首 页 上一页 下一页 本讲内容本讲内容 视图,剖视图(Ⅰ) 复习: P107 ~ P115 作业: P48(6-2,6-4), P49( 去 6-6) P50, P51(6-13), P52 P50, P51(6-13), P52 P53 (6-18,6-20) P53 (6-18,6-20)
《 UML 分析与设计》 交互概述图 授课人:唐一韬. 知 识 图 谱知 识 图 谱知 识 图 谱知 识 图 谱.
项目七: PLC 功能指令应用 带进位循环左移指令 XXXXX. 项目七: PLC 功能指令应用 FX2 系列可编程控制器移位控制指令有移位、循环移位、字移位 及先进先出 FIFO 指令等 10 条指令。 带进位循环右移指令 RCR 带进位循环左移指令 RCL 字右移位指令 WSFR 先入先出读出指令.
§10.2 对偶空间 一、对偶空间与对偶基 二、对偶空间的有关结果 三、例题讲析.
企业产品标准信息公共服务平台 操作介绍 目录 一 、系统架构介绍 二 、企业产品标准自我声明填报系统 三 、企业产品标准公示系统.
表单自定义 “ 表单自定义 ” 功能是用于制作表单的 工具,用数飞 OA 提供的表单自定义 功能能够快速制作出内容丰富、格 式规范、美观的表单。
7 生产费用在完工产品与在产 品之间分配的核算. 2 第七章 生产费用在完工产品与在产品之 间的分配  知识点 :  理解在产品的概念  掌握生产费用在完工产品与在产品之间的分 配.
一、热机 1 、热机:利用燃料燃烧而工作的机器 2 、共同特点: 燃料的化学能 内能 机械能 燃烧 做功.
第四章 不定积分. 二、 第二类换元积分法 一、 第一类换元积分法 4.2 换元积分法 第二类换元法 第一类换元法 基本思路 设 可导, 则有.
广东省电子政府采购网 广东省财政厅政府采购监管处 2011 年 3 月. 目录 1 用户注册登录 2 维护商品品牌 3 维护商品 / 配件信息 4 采购机构管理 5 用户信息维护.
第五章上机 使用 Dreamweaver 制作网页. 相关回顾 如何使用 Dreamweaver 创建网页? 如何使用 Dreamweaver 在页面添加表格、表单、框架集? 如何使用 Dreamweaver 创建站点?
要求: 熟练掌握发动机的基本术语。 结合实物可以说出发动机大致组成。 掌握发动机的基本工作原理。 掌握发动机各系统的作用。
#include //ECH0.CPP main(int argc,char *argv[]) { for(int i=0;i
逻辑设计基础 1 第 7 章 多级与(或)非门电路 逻辑设计基础 多级门电路.
1 数组. 2 什么是数组? 概念 一种数据结构,包含相同数据类型的数据项 静态结构,在程序运行过程中长度不变 应用方式 指针数组 (C-like) 基于对象的数组 (C++)
小组成员:冯小懋 刘得民 周彬彬 张振 Excel 在投资理财中的应用(第二节) 第二组. 名称框的应用 应用了名称框定义后,会在引用时直接引用定义的名称。 操作:选定要定义名称的位置,选择 “ 插入 ”——“ 名称 ”——“ 指定 ” 本题中选择 “ 最左列 ” ,也可以自己定义,若是定义同一个名称可.
参考文献管理软件. 常见参考文献管理软件 : 中文 : CNKI E-learning (目前免费) NoteExpress NoteFirst 英文: Refworks Endnote (网络版免费) Mendeley……
登陆数据录入明细申报生成汇总申报扣款 输入计算机编码及 密码即可登陆系统. 登陆数据录入明细申报生成汇总申报扣款.
八. 真核生物的转录 ㈠ 特点 ① 转录单元为单顺反子( single cistron ),每 个蛋白质基因都有自身的启动子,从而造成在功能 上相关而又独立的基因之间具有更复杂的调控系统。 ② RNA 聚合酶的高度分工,由 3 种不同的酶催化转 录不同的 RNA 。 ③ 需要基本转录因子与转录调控因子的参与,这.
一、 版 面 构 成 的 概 念 版 面 构 成 的 概 念 二、 版 面 构 成 的 发 展 趋 势 版 面 构 成 的 发 展 趋 势 三、 广 告 文 字 的 版 面 构 成 广 告 文 字 的 版 面 构 成 四、 广 告 版 面 的 视 觉 流 程 广 告 版 面 的 视 觉 流 程.
1 第三章 数列 数列的概念 考点 搜索 ●数列的概念 ●数列通项公式的求解方法 ●用函数的观点理解数列 高考 猜想 以递推数列、新情境下的 数列为载体, 重点考查数列的通 项及性质, 是近年来高考的热点, 也是考题难点之所在.
第二节. 广告牌为什么会被风吹倒? 结构的稳定性: 指结构在负载的作用下 维持其原有平衡状态的能力。 它是结构的重要性质之一。
1 文件的查找. 2 回收站的管理 3 磁盘管理 格式化软盘 复制文件到软盘 整理磁盘碎片 4 格式化软盘.
第二章 线性表 第二节 线性链表 5. 线性表的链式表示 顺序表的优点是可以随机选取表中元素 缺点是插入删除操作复杂。 用指针将互不相连的内存结点串成的 线性表叫线性链表。 结点 node 由一个数据元素域,一个或几个 指针域组成。单链表的结点只有一个指针域。
Date: File: SSP1_A1C.1 SIMATIC S7 Siemens AG All rights reserved. Information and Training Center Knowledge for Automation 案例分析、指导.
Presentation transcript:

第六章 数组与字符串 §6.1 数组 §6.2 字符串

§6.1 数组 数组的创建 ( 一维数组和二维数组;基本数据类型和 复合数据类型) 1. 指定数组名称、数据类型 type var_name[]; 如: char s[]; Object o[]; int i[][];

§6.1 数组 2. 为数组分配内存空间 var_name = new type[size]; 如: s = new char[30]; o = new Object[2]; o[0] = new Object(); o[1] = new Object(); i = new int[2][3]; char s[] = new char[30]; 3. 初始化 int i1[][] = {{1,1},{2,3}}

§6.1 数组 数组的使用 ( 一维数组和二维数组;基本数据类型和复 合数据类型) 1. 数组元素表示: 数组名 [ 下标 ] , 数组名 [ 下标 1][ 下标 2], 数组名 [0]~ 数组名 [n-1] 2. Length 域 3. 一元数组元素的复制 = ; System.arraycopy(from fromIndex,to,toIndex,count)

§6.1 数组 — 示例 1 // InitArray.java: initializing an array import java.io.*; public class InitArray { public static void main( String args[] ) {int n[] = new int[ 10 ]; for ( int i = 0; i < n.length; i++ ) System.out.print( i + "\t" + n[ i ] + "\n "); }

§6.1 数组 — 示例 2 // InitArray.java import java.io.*; public class InitArray { public static void main( String args[] ) {int n[] = { 32, 27, 64, 18, 95, 14, 90, 70, 60,37 }; for ( int i = 0; i < n.length; i++ ) System.out.print( i + "\t" + n[ i ] + "\n“); }

§6.1 数组 — 示例 3 // InitArray.java import java.io.*; public class InitArray { public static void main( String args[] ) { final int ARRAY_SIZE = 10; int n[] = new int[ ARRAY_SIZE ]; for ( int i = 0; i < n.length; i++ ) n[ i ] = * i; for ( int i = 0; i < n.length; i++ ) System.out.print( i + "\t" + n[ i ] + "\n“); } }

// BubbleSort.java import java.applet.*; public class BubbleSort extends Applet { public void init() { int a[] = { 2, 6, 4, 8, 10, 12, 89, 68, 45, 37 }; for ( int i = 0; i < a.length; i++ ) System.out.print( a[ i ]+ " " ); System.out.println( ); bubbleSort( a ); §6.1 数组 — 示例 4 (排序)

§6.1 数组 — 示例 4 for ( int i = 0; i < a.length; i++ ) System.out.print( a[ i ]+ " " ); } public void bubbleSort( int b[] ) { for ( int pass = 1; pass < b.length; pass++ ) for ( int i = 0; i < b.length - 1; i++ ) if ( b[ i ] > b[ i + 1 ] ) swap( b, i, i + 1 ); } public void swap( int c[], int first, int second ) { int hold; hold = c[ first ];

c[ first ] = c[ second ]; c[ second ] = hold; } public void bubbleSort( int b[] ) { for ( int pass = b.length - 1; pass > 0; pass-- ) { for ( int i = 0; i < pass; i++ ) if ( b[ i ] > b[ i + 1 ] ) swap(b,i,i + 1); } } §6.1 数组 — 示例 4

// JavaArrayUse.java public class JavaArrayUse { public static void main( String args[] ) { int i,j; int youngMaxLevel = 15; int young[][]; young = new int[youngMaxLevel][]; for ( i = 0; i < young.length; i++ ) young[i] = new int[i+1]; young[0] [0] = 1; §6.1 数组 — 示例 4( 杨辉三角型)

for ( i = 1; i < young.length; i++ ) {young[i][0] = 1; for ( j = 1; j < young[i].length-1; j++ ) young[i][j] = young[i-1][j-1]+young[i-1][j]; young[i][young[i].length-1] = 1; } for ( i = 0; i < young.length; i++ ) {for ( j = 0; j < young[i].length; j++ ) System.out.print(young[i][j]+" "); System.out.println(); } §6.1 数组 — 示例 4

§6.1 数组 — 示例 6 (读程序) import java.applet.Applet; public class PassArray extends Applet { public void init(){ int a[] = { 1, 2, 3, 4, 5 }; for ( int i = 0; i < a.length; i++ ) System.out.print ( a[ i ] + " " ); System.out.println( ); modifyArray( a ); for ( int i = 0; i < a.length; i++ ) System.out.print( a[ i ] + " " ); System.out.println( );

§6.1 数组 — 示例 6 (读程序) modifyElement( a[ 3 ] ); System.out.print( a[ 3 ]); } public void modifyArray( int b[] ) { for ( int j = 0; j < b.length; j++ ) b[ j ] *= 2; } public void modifyElement( int e ) { e *= 2; } }

§6.1 数组 — 示例 7 // Test.java public class Test { public static void main( String args[] ) { Point point = new Point( 7, 11 ); Circle circle = new Circle( 3.5, 22, 8 ); Cylinder cylinder = new Cylinder( 10, 3.3, 10, 10 ); Shape arrayOfShapes[]; arrayOfShapes = new Shape[ 3 ]; arrayOfShapes[ 0 ] = point;

§6.1 数组 — 示例 7 arrayOfShapes[ 1 ] = circle; arrayOfShapes[ 2 ] = cylinder; for ( int i = 0; i < arrayOfShapes.length; i++ ) { System.out.println("\n\n" + arrayOfShapes[ i ].getName() + ": " + arrayOfShapes[ i ].toString() ) }

§6.2 字符串 StringBuffer 类 字符串对象对象 不变字符串 可变字符 串 String 类 1. 创建字符串 2. 使用字符串

1. 创建字符串 方法 1 : new 方法 String str = new String(); String str = new String( 〝 This is a string 〞 ); StringBuffer str = new StringBuffer(10); 方法 2 :初始化方法 String str = 〝 This is a string 〞 ; String str ; str = 〝 This is a string 〞 ; 字符串常量:〝 hello world 〞

例 1 :构造方法 // StringConstructors.java public class StringConstructors { public static void main( String args[] ) { char charArray[] = { 'b', 'i', 'r', 't'}; byte byteArray[] = { (byte) 'n', (byte) 'e', (byte) 'w', (byte) 'r' }; String s, s1, s2, s3, s4, s5, s6; s = new String( "hello" ); s1 = new String(); s2 = new String( s );

例 1 :构造方法 s3 = new String( charArray ); s4 = new String( charArray, 1, 2 ); s5 = new String( byteArray, 1, 2 ); s6 = new String( byteArray ); System.out.print("s1 = " + s1 + "\ns2 = " + s2 + "\ns3 = " + s3 +"\ns4 = " + s4 + "\ns5 = " + s5 + "\ns6 = " + s6 + "\ns7 = " + s7);} }

例 2 :构造方法 public class StringBufferConstructors { public static void main( String args[] ) { StringBuffer buf1, buf2, buf3; buf1 = new StringBuffer(); buf2 = new StringBuffer( 10 ); buf3 = new StringBuffer( "hello" ); System.out.println( buf1.toString() ); System.out.println(buf2.toString() ); System.out.println(buf3.toString() ); } }

2. 使用字符串 String 类 访问: length(),charAt(),indexof(), lastIndexof(), getChars(), getBytes() 等 int len=str.length(); char c=str.charAt(i); int i = str.indexOf(‘a’); int i = str.lastIndexOf(‘a’); 修改: concat(),replace(),substring(), toLowerCase(), toUpperCase() 比较: equals(),equalsIgnoreCase(), CompareTo(), RegionMatches()

2. 使用字符串 StringBuffer 访问: length(),charAt(),getChars(), capacity(); int capa = str.capacity(); 修改: append(),insert(),setCharAt() str.append(“abc”); str.insert(4,“abc”); str.setChatAt(int,char); 字符串的转化 StringBuffer:toString(): 将可变字符串变成不变 字符串 String:valueOf(): 将不同类型的数字转化为不变字 符串 字符串的重载 : +

例 3 :方法使用 // StringCompare.java public class StringCompare { public static void main( String args[] ) { String s1, s2, s3, s4, output; s1 = new String( "hello" ); s2 = new String( "good bye" ); s3 = new String( "Happy Birthday" ); s4 = new String( "happy birthday" ); System.out.print( "s1 = " + s1 + "\ns2 = " + s2 +"\ns3 = " + s3 + "\ns4 = " + s4 + "\n\n ");

例 3 :方法使用 if ( s1.equals( "hello" ) ) System.out.print( "s1 equals \"hello\"\n "); else System.out.print( "s1 does not equal \"hello\"\n "); if ( s1 == "hello" ) System.out.print( "s1 equals \"hello\"\n "); else System.out.print( "s1 does not equal \"hello\"\n ");

例 3 :方法使用 if ( s3.equalsIgnoreCase( s4 ) ) System.out.print( "s3 equals s4\n "); else System.out.print( "s3 does not equal s4\n "); System.out.print( "\ns1.compareTo( s2 ) is " + s1.compareTo( s2 ) + "\ns2.compareTo( s1 ) is " + s2.compareTo( s1 ) + "\ns1.compareTo( s1 ) is " + s1.compareTo( s1 ) + "\ns3.compareTo( s4 ) is " + s3.compareTo( s4 ) + "\ns4.compareTo( s3 ) is " + s4.compareTo( s3 ) + "\n\n ");

例 3 :方法使用 if ( s3.regionMatches( 0, s4, 0, 5 ) ) System.out.print( "First 5 characters of s3 and s4 match\n "); else System.out.print( "First 5 characters of s3 and s4 do not match\n "); if ( s3.regionMatches( true, 0, s4, 0, 5 ) ) System.out.print( "First 5 characters of s3 and s4 match "); else System.out.print( "First 5 characters of s3 and s4 do not match ); }

例 4 :方法使用 public class Test{ String myString = “2”; public static void main(String args[]) { Test myObj = new Test() myObj.stringModifier(myObj.myString); System.out.println(“ ” + myObj.myString); } void stringModifier (String theString) { theString = theString + “3”; System.out.print(theString); }

内容要点 数组的创建及使用 字符串的创建及使用

习题 1. 随机产生十个数进行降序排序。 2. 修改例子中的冒泡排序,以提高性能。 3. 命令行参数的使用 : 从命令行输入需要排 序的个数, 将随机产生的数进行升序排序。 4. 编写一个应用程序,读入 如 07/21/1999 格式的日期,打印出如 July 21 , 1999 格式的日期。 5. 拼写检查器。

// StringTest.java public class StringTest { public static void main( String args[] ) { String s = new String( "07/21/1999" ); String s1 = s.substring(0,2); int m = Integer.parseInt( s1 ); switch(m){ case 1 :System.out.print("January "+ s.substring(3,5)+ ","+s.substring(6,10)); break;

case 2 :System.out.print("February "+s.substring(3,5)+","+s.substring(6,10)); break; case 3 :System.out.print("March "+s.substring(3,5)+","+s.substring(6,10)); break; case 4 :System.out.print("April "+s.substring(3,5)+","+s.substring(6,10)); break; case 5 :System.out.print("May "+s.substring(3,5)+","+s.substring(6,10)); break; case 6 :System.out.print("June "+s.substring(3,5)+","+s.substring(6,10)); break; case 7 :System.out.print("July "+s.substring(3,5)+","+s.substring(6,10)); break; }

case 8 :System.out.print("August "+s.substring(3,5)+","+s.substring(6,10)); break; case 9 :System.out.print("September "+s.substring(3,5)+","+s.substring(6,10)); break; case 10 :System.out.print("October "+s.substring(3,5)+","+s.substring(6,10)); break; case 11 :System.out.print("November "+s.substring(3,5)+","+s.substring(6,10)); break; case 12 :System.out.print("December "+s.substring(3,5)+","+s.substring(6,10)); break;}} }