java数组和字符串.ppt
《java数组和字符串.ppt》由会员分享,可在线阅读,更多相关《java数组和字符串.ppt(50页珍藏版)》请在三一办公上搜索。
1、第4章 数组和字符串,数组,数组说明一个数组是一系列的匿名变量,数组中的元素可通过下标来访问。在Java中,数组是对象。类Object中定义的方法都可以用于数组。,数组说明,程序员可以说明任何类型的数组,数组元素可以是基本类型,也可以是类类型,当然还可以是数组。例char s;Point points;s的每个元素都是char类型的,points的每个元素都是类Point类型的。,等价的数组说明,char s;Point points;这两行说明与前面的说明完全等价。,创建数组,和所有对象一样,程序中使用new关键字创建数组,方括号中的数字表示数组元素个数。例:s=new char20;poi
2、nts=new Point100;points0=new Point();points1=new Point();Java中没有静态的数组定义,数组的内存都是通过new动态分配的。,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;执行完毕,系统在内存中分配一个数组对象并把数组引用赋给变量points,说明语句:points1=new Poin
3、t();执行完毕,数组的状态图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 100;,正确,错误,数组边界,在Java中,数组下标从0开始。数组中的元素个数length是数组类中唯一的数据成员变量。使用new创建数组时系统自动给length赋值。数组一旦创建完毕,其大小就固定下来。程序运行
4、时使用length进行数组边界检查。如果发生越界访问,则抛出一个异常。,示例,int list=new int 10;for(int i=0;i list.length;i+)/进行相应处理的代码循环的结束条件中使用list.length,而不是常数10。好处:不会引起数组下标越界,使程序更健壮,修改更方便。,数组初始化,数组名加上下标可以表示数组元素。数组的下标范围为0到length-1。当创建一个数组时,每个元素都被初始化。Java允许用初值来创建数组。,示例,String names=Georgianna;Jen;Simon;Tom;,静态初始化,静态初始化可用于任何元素类型,初值块中每
5、个位置的每个元素对应一个引用。names=new String4;names0=Georgianna;names1=Jen;names2=Simon;names3=Tom;,多维数组,Java可以建立数组的数组(的数组),由此得到多维数组。一般来讲,n维数组是n-1维数组的数组。说明多维数组时使用类型及多对方括号。多维数组可以从最高维起,分别为每一维分配内存。,示例,int twoDim=new int 4;twoDim0=new int5;twoDim1=new int5;,二维数组,创建二维数组的一般格式为:type arrayN=new type arrleng1;arrayN 0=ne
6、w type arrleng2;arrayN 1=new type arrleng2;.arrayN arrleng1-1=new type arrleng2;,非矩阵数组,在Java中还可以创建非矩阵数组。例4-4int twoDim=new int 4;twoDim0=new int2;twoDim1=new int4;twoDim2=new int6;twoDim3=new int8;,twoDim数组为4行,每行的元素个数分别为2,4,6,8个,各不相同。数组形式如下:,该数组各维的长度如下twoDim.length=4twoDim0.length=2twoDim1.length=4t
7、woDim2.length=6twoDim3.length=8,二维矩阵数组说明,二维矩阵数组的一般说明格式为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+)matrix j=new int5;,多维数组的初始化,
8、多维数组的初始化与一维数组类似,以二维数组静态初始化为例: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;int errarr3 4=new int 34;,不允许静态说明数组。,数组的维数说明顺序应从高维到低维。,数组维数的指定只能出现在new运算符之后。,数组拷贝,数组创建后就不能改变它的大小,但是可以使用相同的引用变量
9、指向一个全新的数组。int elements=new int6;elements=new int10;Java在System类中提供了一个特殊的方法arraycopy(),它实现数组之间的拷贝。,示例,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,element
10、s.length);,数组hold的内容为:1,2,3,4,5,6,4,3,2,1。,4.2字符串类型,Java中提供了String和StringBuffer类型,它们都是类。字符串是内存中连续排列的一个或多个字符。Java提供的标准包java.lang中封装了类String和StringBuffer,分别用于处理不变字符串和可变字符串。不变字符串是指字符串一旦创建,其内容就不能改变。,字符串说明及初始化,Java程序中的字符串分常量和变量两种。系统为程序中出现的字符串常量自动创建一个String对象。如:System.out.println(This is a String);将创建This
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- java 数组 字符串
链接地址:https://www.31ppt.com/p-6080716.html