《JAVA语言4之数组.ppt》由会员分享,可在线阅读,更多相关《JAVA语言4之数组.ppt(13页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、JAVA语言程序设计语言程序设计之数组之数组一、数组的概论一、数组的概论数组是一种复合数据类型,在数组是一种复合数据类型,在Java中,数组中,数组是作为对象来处理的。数组是有限元素的有是作为对象来处理的。数组是有限元素的有序集合,数组中的元素具有相同的数据类型,序集合,数组中的元素具有相同的数据类型,并可用统一的数组名和下标来确定元素,元并可用统一的数组名和下标来确定元素,元素是数组中不可分的最小单位。素是数组中不可分的最小单位。二、一维数组二、一维数组一维数组就是有一个下标的数组,即用一个下标可一维数组就是有一个下标的数组,即用一个下标可以确定一维数的确定元素。以确定一维数的确定元素。一维
2、数组的声明格式有两种:一维数组的声明格式有两种:数据类型数据类型 数组名;数组名;数据类型数据类型 数组名数组名;其中,数据类型可以是其中,数据类型可以是Java语言中的基本数据类型,语言中的基本数据类型,也可以是复杂数据类型;数组名是也可以是复杂数据类型;数组名是Java中合法的标中合法的标识符;识符;指明是一个数组类型的变量。例如:指明是一个数组类型的变量。例如:int x ;定义数组时,并不分配内存,所定义数组时,并不分配内存,所 中不要求给出其元素中不要求给出其元素的个数。因此,如要访问数组中任何元素,还必须对数的个数。因此,如要访问数组中任何元素,还必须对数组进行内存分配。数组分配内
3、存是通过组进行内存分配。数组分配内存是通过new操作符或静态操作符或静态初始化来实现的。初始化来实现的。创建一维数组创建一维数组数据类型数据类型 数组名数组名=new 数据类型数据类型数组长度数组长度;数据类型数据类型 数组名数组名=new 数据类型数据类型数组长度数组长度;数组名数组名=new 数据类型数据类型数组长度数组长度;例:例:int x=new int6;y=new int5;一维数组的初始化一维数组的初始化数据类型数据类型 数组名数组名=常数表常数表;例如:例如:int a=1,3,5,7,9;此例为在定义数组的同时,为其初始化。此例为在定义数组的同时,为其初始化。元素分别是元素
4、分别是a0=1,a1=3,a2=5,a3=7,a4=9。二、二维数组二、二维数组Java中没有多维数组这种数据结构,只有一维数组。中没有多维数组这种数据结构,只有一维数组。在在Java中实现的所谓多维数组,实际上是由一维数中实现的所谓多维数组,实际上是由一维数组组“焊接焊接”成的成的“数组的数组数组的数组”。二维数组的定义:二维数组的定义:数据类型数据类型 数组名;数组名;数据类型数据类型 数组名数组名 ;二维数组的初始化:二维数组的初始化:例如:例如:int x =10,20,30,5,6;三、数组的复制三、数组的复制如果想将整个数组的值复制给另一个数组,如果想将整个数组的值复制给另一个数组
5、,可以使用循环,将整个数组的元素值遍历一可以使用循环,将整个数组的元素值遍历一遍,并指定给另一个数组相对应的索引位置。遍,并指定给另一个数组相对应的索引位置。例:例:public class sz2 public static void main(String args)int arr1=1,2,3,4,5;int arr2=new int5;for(int i=0;iarr1.length;i+)arr2i=arr1i;for(int i=0;iarr2.length;i+)System.out.print(arr2i+);System.out.println();四、四、Arrays类类对
6、数组的一些基本操作,像排序、搜索与比较等是对数组的一些基本操作,像排序、搜索与比较等是很常见的。在很常见的。在Java中提供了中提供了Arrays类可以协助您作类可以协助您作这几个操作,这几个操作,Arrays类位于类位于java.util包中,它提供包中,它提供了几个方法可以直接使用,如下:了几个方法可以直接使用,如下:名称名称说明说明sort()对指定的数组排序对指定的数组排序binarySearch()对已排序的数组进行搜索,如果找到对已排序的数组进行搜索,如果找到指定的值就返回该值所在的索引,否指定的值就返回该值所在的索引,否则就返回负值则就返回负值fill()将所有元素设定为指定的值
7、将所有元素设定为指定的值equals()比较两个数组中元素是否全部相等比较两个数组中元素是否全部相等五、字符串五、字符串字符串是字符的序列,也是组织字符的基本字符串是字符的序列,也是组织字符的基本结构。字符串常数组存储,处理字符串实际结构。字符串常数组存储,处理字符串实际上就是对数组元素的分别处理。在上就是对数组元素的分别处理。在Java中,中,字符串是作为对象出现的,则字符串是作为对象出现的,则java.lang.String和和java.lang.StringBuffer定义,分别用来处理长度不变和长度可变字定义,分别用来处理长度不变和长度可变字符串。符串。String类类例:用例:用St
8、ring来声明并初始化字符串变量;来声明并初始化字符串变量;String text=“字符串的使用字符串的使用”;System.out.println(text);注意字符串的直接指定必须用注意字符串的直接指定必须用“”来包括文字,在构建一来包括文字,在构建一个字符串对象变量后,可以直接在输出个字符串对象变量后,可以直接在输出out中指定变量名中指定变量名称来输出字符串。称来输出字符串。String对象提供了一些方法如下:对象提供了一些方法如下:方法方法说明说明length()取得字符串的字符长度取得字符串的字符长度equals()比较字符串是否相等比较字符串是否相等toLowerCase()
9、转换成小写转换成小写toUpperCase()转换成大写转换成大写StringBuilder类类J2SE5.0提供提供java.lang.StringBuffer类类,使用使用这个类所产生的对象默认会有这个类所产生的对象默认会有16个字符的长个字符的长度度,你也可以自行指定初始长度。如果附加的你也可以自行指定初始长度。如果附加的字符超出可容纳的长度,则字符超出可容纳的长度,则StringBuffer对对象会自动增加长度以容纳被附加的字符。如象会自动增加长度以容纳被附加的字符。如果有频繁作字符附加的需求,使用果有频繁作字符附加的需求,使用StringBuffer会让程序的效率大大提高。会让程序的
10、效率大大提高。StringBuffer类的构造方法有类的构造方法有3个,如下:个,如下:StringBuffer();StringBuffer(int length);StringBuffer(String str);StringBuffer类的常用方法:类的常用方法:Length();确定字符对象的长度。确定字符对象的长度。Capacity();返回字符串对象实际占有的空间返回字符串对象实际占有的空间setLength();定义新的字符串长度。定义新的字符串长度。append();实现字符串的追加连接。实现字符串的追加连接。例:例:class sz6 public static void m
11、ain(String args)StringBuffer s1=new StringBuffer(1234567);StringBuffer s2=new StringBuffer(abcdefg);StringBuffer s3=s1.append().append(s2);System.out.println(s3);题题:编写一编写一Java程序程序,从键盘输入一行字符从键盘输入一行字符,分别分别统计出其中大写英文字母、小写英文字母、统计出其中大写英文字母、小写英文字母、数字和其他字符的个数。数字和其他字符的个数。题题:编写一个编写一个Java程序程序,找出一个找出一个4*5矩阵中最大矩阵中最大值的那个元素的值值的那个元素的值,以及其所在的行号和列号。以及其所在的行号和列号。