数组与字符串处理

数组与字符串处理

ID:37798509

大小:883.81 KB

页数:37页

时间:2019-05-31

数组与字符串处理_第1页
数组与字符串处理_第2页
数组与字符串处理_第3页
数组与字符串处理_第4页
数组与字符串处理_第5页
资源描述:

《数组与字符串处理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第4章数组与字符串处理学习目标:数组的基本概念一维和二维(多维)数组的创建与引用数组的常用操作以及应用举例String类字符串操作常用方法命令行参数4.1数组4.1.1数组的基本概念问题的引入——了解什么是数组以及数组的作用。了解数组前需了解的内存分配的一些背后知识——栈内存和堆内存。数组是多个相同类型的数据的组合,实现对这些数据的统一管理,数组中的每一个数据也叫数组的一个元素。数组的定义:数据类型数组名[];数组的创建:数组名=new数据类型[数组长度]解释下面这句代码的语法:intx[]=newint[100];因此,也可以将这一行代码分成两行来写:intx[];//定义了一个数组x,x=

2、newint[100];//数组初始化;内存状态分别如下:也可以改变x的值,让它指向另外一个数组对象,或者不指向任何数组对象。要想让x不指向任何数组对象,只需要将常量null赋值给x。如:x=null;,这条语句执行完后的内存状态如图:在java中,还可以用下面的方式定义数组:int[]x;//方括号([])位于变量名之前x=newint[100];4.1.2数组的静态初始化可以在定义数组的同时就为数组元素分配空间并赋值,也就是对数组的静态初始化。如:intia[]={1,2,3,4};等号右边相当于产生了一个数组对象,该数组有4个元素变量,这4个变量的取值分别是整数1、2、3、4。数组的长度

3、等于右边{}中的元素的个数。有时也能见到下面定义数组的方式:intia[]=newint[]{3,4,5};注意:在java语言中声明数组时,无论用何种方式定义数组,都不能指定其长度,例如下面的定义将是非法的;inta[5];4.1.3使用数组时要注意的问题必须对数组引用变量赋予一个有效的数组对象(通过new产生或是用{}静态初始化而产生)后,才可以引用数组中的每个元素。需要注意:如下代码intia[]=newint[]{1,2,3,4,5};这行代码中定义了一个ia数组,它里面包含了5个元素,分别是:ia[0]=1ia[1]=2ia[2]=3ia[3]=4ia[4]=5也就是说数组的第一个元

4、素是ia[0],而不是ia[1],最后一个元素是ia[4],而不是ia[5]如果创建了一个100个元素的数组,并且试图访问元素a[100](或任何在0~99之外的下标),程序就会引发”arrayindexoutofbounds”异常而终止执行。要想获得数组中的元素个数,可以引用array.length。例如:for(inti=0;i

5、集合亦可)而不必为指定下标值而分心。这种for循环的语句格式为:for(variable:collection)statement定义一个变量用于暂存集合中的每一个元素,并执行相应的语句。例如:for(intelement:a)System.out.println(element);4.1.4多维数组在java中并没有真正的多维数组,只有数组的数组。虽然应用上很像C中的多维数组,但还是有区别的。在C中定义一个二维数组,必须是一个x*y二维矩阵块Java中多维数组不一定是规则矩阵形式,如:定义多维数组:数据类型数组名[][];数据类型[][]数组名;intxx[][];int[][]xx;xx=

6、newint[3][];xx[0]=newint[3];xx[1]=newint[2];xx[0]和xx[1]的长度可以不一样,数组对象中也可以只有一个元素。程序运行到这之后的内存分配情况如图:如果数组对象正好是一个x*y形式的规则矩阵,则不必像上面的程序一样,先产生高维的数组对象后,再逐一产生低维的数组对象,完全可以用一句代码在产生高维数组对象的同时,产生所有的低维数组对象。intxx[][]=newint[2][3];内存布局如图:也可以像一维数组一样,在定义数组的同时就为多维数组元素分配空间并赋值,也就是对多维数组的静态初始化。如:int[][]xx={{3,2,7},{1,5},{6}

7、};与一维数组一样,在声明多维数组时不能指定其长度。4.1.5一些与数组操作相关的函数1.数组拷贝在java中,允许将一个数组变量拷贝给另一个数组变量。这时,两个变量将引用同一个数组。int[]luckyNumbers=smallPrimes;luckyNumbers[5]=12;//nowsmallPrimes[5]is//also12如果希望将一个数组的所有值拷贝到另一个数组中去,就要使用Sy

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。