java数组和字符串课件.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《java数组和字符串课件.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 数组 字符串 课件
- 资源描述:
-
1、第第4章章 数组和字符串数组和字符串数组数组数组说明数组说明一个数组是一系列的一个数组是一系列的匿名变量匿名变量,数组中的元素,数组中的元素可通过可通过下标下标来访问。来访问。在在Java中,数组是中,数组是对象对象。类类Object中定义的方法都可以用于数组。中定义的方法都可以用于数组。数组说明数组说明程序员可以说明任何类型的数组,数组元程序员可以说明任何类型的数组,数组元素可以是素可以是基本类型基本类型,也可以是,也可以是类类型类类型,当,当然还可以是然还可以是数组数组。例例char s ;Point points;s的每个元素都是的每个元素都是char类型的,类型的,points的的每个
2、元素都是类每个元素都是类Point类型的。类型的。等价的数组说明等价的数组说明char s;Point points;这两行说明与前面的说明完全等价。这两行说明与前面的说明完全等价。创建数组创建数组和所有对象一样,程序中使用和所有对象一样,程序中使用new关键字创建数关键字创建数组,方括号中的数字表示数组元素个数。组,方括号中的数字表示数组元素个数。例:例:s=new char20;points=new Point100;points0=new Point();points1=new Point();Java中没有静态的数组定义,数组的内存都是通中没有静态的数组定义,数组的内存都是通过过new
3、动态分配的。动态分配的。points(a)PointsLength:100(b)pointsLength:100X:Y:(c)Point类定义如下:类定义如下:class Point int x,y;Point(int x1,int y1)x=x1;y=y1;Point()this(0,0);图说明图说明说明语句说明语句:Point points;执行完毕,系统为变量执行完毕,系统为变量points分配一个引用空间。分配一个引用空间。说明语句说明语句:points=new Point 100;执行完毕,系统在内存中分配一个数组对象并把数组引执行完毕,系统在内存中分配一个数组对象并把数组引用赋给
4、变量用赋给变量points,说明语句说明语句:points1=new Point();执行完毕,数组的状态图执行完毕,数组的状态图4-1(b)变为图变为图4-1(c)。)。数组说明与数组创建可以合并:数组说明与数组创建可以合并:char s =new char 20;Point points =new Point 100;数组变量的类型可以不同于所指向的数组类,但数组变量的类型可以不同于所指向的数组类,但应该是它的父类。应该是它的父类。例如:例如:Object points;points=new Point 100;例如:例如:Point points;points=new Object 10
5、0;正确正确错误错误数组边界数组边界在在Java中,数组中,数组下标从下标从0开始开始。数组中的元素个数数组中的元素个数length是数组类中唯一是数组类中唯一的数据成员变量。的数据成员变量。使用使用new创建数组时系统创建数组时系统自动给自动给length赋赋值值。数组一旦创建完毕,其大小就固定下来。数组一旦创建完毕,其大小就固定下来。程序运行时使用程序运行时使用length进行数组进行数组边界检查边界检查。如果发生越界访问,则抛出一个异常。如果发生越界访问,则抛出一个异常。示例示例int list =new int 10;for(int i=0;i list.length;i+)/进行相应
6、处理的代码进行相应处理的代码循环的结束条件中使用循环的结束条件中使用list.length,而不是常数而不是常数10。好处好处:不会引起数组下标越界,使程序更健壮,:不会引起数组下标越界,使程序更健壮,修改更方便。修改更方便。数组初始化数组初始化数组名加上下标可以表示数组元素。数组名加上下标可以表示数组元素。数组的下标范围为数组的下标范围为0到到length-1。当创建一个数组时,每个元素都被初始化。当创建一个数组时,每个元素都被初始化。Java允许用初值来创建数组。允许用初值来创建数组。示例示例String names =Georgianna;Jen;Simon;Tom;静态初始化静态初始化
7、静态初始化静态初始化可用于任何元素类型,初值块可用于任何元素类型,初值块中每个位置的每个元素对应一个引用。中每个位置的每个元素对应一个引用。names=new String4;names0=Georgianna;names1=Jen;names2=Simon;names3=Tom;多维数组多维数组Java可以建立数组的数组(的数可以建立数组的数组(的数组组),由此得到),由此得到多维数组多维数组。一般来讲,一般来讲,n维数组是维数组是n-1维数组的数维数组的数组组。说明多维数组时使用说明多维数组时使用类型及多对方括类型及多对方括号号。多维数组可以从最高维起,分别为每一维多维数组可以从最高维起,
8、分别为每一维分配内存分配内存。示例示例int twoDim =new int 4;twoDim0=new int5;twoDim1=new int5;二维数组二维数组创建创建二维数组的一般格式二维数组的一般格式为:为:type arrayN =new type arrleng1 ;arrayN 0=new type arrleng2;arrayN 1=new type arrleng2;.arrayN arrleng1-1=new type arrleng2;非非矩阵数组矩阵数组在在Java中还可以创建中还可以创建非矩阵数组非矩阵数组。例例4-4int twoDim =new int 4 ;t
9、woDim0=new int2;twoDim1=new int4;twoDim2=new int6;twoDim3=new int8;twoDim数组为数组为4行,每行的元素个数分别行,每行的元素个数分别为为2,4,6,8个,各不相同。个,各不相同。数组形式数组形式如下:如下:X XX X X XX X X X X XX X X X X X X X 该数组各维的长度如下该数组各维的长度如下twoDim.length=4twoDim0.length=2twoDim1.length=4twoDim2.length=6twoDim3.length=8二维矩阵数组说明二维矩阵数组说明二维矩阵数组的一般
10、说明格式为二维矩阵数组的一般说明格式为type arrayName =new type length1length2;其中,其中,arrayName是数组名,是数组名,length1和和length2分别为数组各维的大小,分别为数组各维的大小,type是数组是数组元素的类型。元素的类型。例例4-5int matrix =new int 45;将创建一个有将创建一个有4个数个数组的数组,每个数组组的数组,每个数组中又有中又有5个整数,即个整数,即4行行5列的整数矩阵。列的整数矩阵。等价于等价于:int matrix =new int 4;for(int j=0;j matrix.length;j
11、+)matrix j =new int5;多维数组的初始化多维数组的初始化多维数组的初始化与一维数组类似,多维数组的初始化与一维数组类似,以二维数组静态初始化为例:以二维数组静态初始化为例:int a =2,3,1,5,3,4;它的形式如下:它的形式如下:2 31 53 4使用两个下标可以访问数组中的任一元素。使用两个下标可以访问数组中的任一元素。正确的说明示例正确的说明示例int a1 =new int 23;int a2 =new int 2 ;int a3 =new int 46;不正确的说明示例不正确的说明示例int errarr123;int errarr2 =new int 4;i
12、nt errarr3 4=new int 34;不允许静态不允许静态说明数组说明数组。数组的维数说数组的维数说明顺序应从高明顺序应从高维到低维。维到低维。数组数组维数的指定维数的指定只能出现在只能出现在new运算符之后。运算符之后。数组拷贝数组拷贝数组创建后就不能改变它的大小,但是可数组创建后就不能改变它的大小,但是可以使用相同的引用变量指向一个全新的数以使用相同的引用变量指向一个全新的数组。组。int elements =new int6;elements=new int10;Java在在System类中提供了一个特殊的方法类中提供了一个特殊的方法arraycopy(),它实现数组之间的拷贝
13、。它实现数组之间的拷贝。示例示例class ArrayTestpublic static void main(String args)/初始数组初始数组int elements =1,2,3,4,5,6;/./增大后的新数组增大后的新数组int hold =10,9,8,7,6,5,4,3,2,1;/把把elements数组中的所有元素复制到数组中的所有元素复制到/hold数组中,下标从数组中,下标从0开始开始System.arraycopy(elements,0,hold,0,elements.length);数组数组hold的内容为:的内容为:1,2,3,4,5,6,4,3,2,1。4.2
展开阅读全文