1、项目四项目四 数组数组 4 4.1.1 一维数组一维数组2022年11月14日星期一12022年11月14日星期一4.1 4.1 一维数组一维数组1一维数组的声明一维数组声明的一般格式如下:数据类型 数组名;或:数据类型 数组名;2例如:int intArray;/声明一个整型数组String strArray;/声明一个字符串数组2022年11月14日星期一32022年11月14日星期一2一维数组大小的定义及初始化一般情况下,使用new运算符定义数组大小,例如下边的程序语句:int intA;/声明一个整型数组intA=new int5;/定义数组可以存放5个整数元素4String strA
2、 ;/声明一个字符串数组String strA=new String3;/定义数组可以存放三个字符串元素2022年11月14日星期一5/为数组中每个元素赋值 intA 0=1;/数组下标从0开始intA 1=2;intA 2=3;intA 3=4;intA 4=5;strA 0=How;strA 1=are;strA 2=you;2022年11月14日星期一6通常我们也采用如下方式为数组元素赋初值并由初值的个数确定数组的大小:int intA=1,2,3,4,5;String stringA=How,are,you;以达到和上边同样的目的。2022年11月14日星期一72022年11月14日星
3、期一3一维数组元素的引用如前所述,以数组名和下标引用数组元素,数组元素的引用方式为:数组名下标8例题例题4.1 详见详见P582022年11月14日星期一9运行结果:运行结果:2022年11月14日星期一104.2 4.2 二维及多维数组二维及多维数组2022年11月14日星期一114.2 4.2 二二维及多维数组维及多维数组1、二维数组的声明声明二维数组的一般格式如下:数据类型 数组名 ;或:数据类型 数组名;2022年11月14日星期一122022年11月14日星期一2、二维数组大小的定义及初始化(1)先声明而后定义最后再赋值例如下边的程序语句:int matrix;/声明二维整型数组ma
4、trixmatrix=new int33;/定义matrix包含33 九个元素13matrix00=1;/为第一个元素赋值matrix01=2;/为第二个元素赋值matrix22=9;/为第九个元素赋值2022年11月14日星期一142022年11月14日星期一(2)直接定义大小而后赋值例如下边的程序语句:int matrix=new int33;/定义二维整型数组matrix包含33九个元素matrix00=1;/为第一个元素赋值 matrix22=9;/为第九个元素赋值152022年11月14日星期一(3)由初始化值的个数确定数组的大小在元素个数较少并且初值已确定时通常采用此种方式,例如:
5、int matrix=1,2,3,4,5,6,7,8,9;/由元素个数确定3行3列162022年11月14日星期一3二维数组元素的应用174.不同长度的二维数组要存储乘法表的值需要一个三角数组。在Java中,由于把二维数组看作是一维数组的数组,因此可以把二维数组的每一行作为一个一维数组分别定义,并不要求二维数组每一行的元素个数都相同。2022年11月14日星期一18int a=new int2;/说明a是二维数组,有2行a0=new int3;/a0定义第1行,有3列a1=new int5;/a1定义第2行,有5列2022年11月14日星期一19例题例题4.3 详见详见P612022年11月1
6、4日星期一20运行结果:运行结果:2022年11月14日星期一21 4.3 4.3 数组(数组(ArraysArrays)类)类2022年11月14日星期一222022年11月14日星期一4.3 4.3 数组(数组(ArraysArrays)类)类数组类提供众多的类方法(静态方法)对各种类型的数组进行运算操作,下边列出一些常用的类方法供大家使用时参考,如果使用其他的方法可参阅JDK文档。23(1)static void sort(数据类型 数组名)用于对数组进行排序(升序),数据类型是除boolean之外的任何数据类型。2022年11月14日星期一24(2)static void sort(数
7、据类型 a,int start,int end)对数组a中指定范围从start到end位置之间的数据元素进行排序。当start大于end时引发IllegalArgumentException异常。当超界时,引发ArrayIndexOutOfBoundsException异常。2022年11月14日星期一25(3)static void fill(数据类型 a,数据类型 value)设置a数组各个元素的值为value。2022年11月14日星期一26(4)static void fill(数据类型 a,int start,int end,数据类型 value)设置a数组中从start到end位置
8、的元素的值为value。2022年11月14日星期一27(5)static int binarySeach(数据类型 a,数据类型 key)利用二进制搜索数组(排过序)内元素值为key的所在位置。2022年11月14日星期一28(6)static boolean equals(数据类型 d1,数据类型 d2)判断d1和d2两数组是否相等。2022年11月14日星期一29我们只要掌握类方法的引用即可对数组进行相关的运算操作。类方法的一般引用格式如下:类名.方法名(参数表);2022年11月14日星期一30例题例题4.4 详见详见P622022年11月14日星期一31运行结果:运行结果:2022年
9、11月14日星期一324.4 4.4 字符串字符串2022年11月14日星期一332022年11月14日星期一4.44.4 字符串字符串字符是一种基本的数据类型,而字符串是抽象的数据类型,只能使用对象表示字符串。前边我们已经对字符串进行了简单处理及其操作。下边我们将详细介绍用于字符串处理的类及其应用。342022年11月14日星期一4.4.1 String4.4.1 String类类String类是最常用的一个类,它用于生成字符串对象,对字符串进行相关的处理。1、构造字符串对象在前边我们使用字符串时,是直接把字符串常量赋给了字符串对象。其实String类提供了如下一些常用的构造函数用来构造字符
10、串对象:352022年11月14日星期一1)String()构造一个空的字符串对象。2)String(char chars )以字符数组chars的内容构造一个字符串对象。3)String(char chars,int startIndex,int numChars)以字符数组chars中从startIndex位置开始的numChars个字符构造一个字符串对象。362022年11月14日星期一4)String(byte bytes)以字节数组bytes的内容构造一个字符串对象。5)String(byte bytes,int offset,int length)以字节数组bytes中从offse
11、t位置开始的length个字节构造一个字符串对象。372022年11月14日星期一2String类对象的常用方法String类也提供了众多的方法用于操作字符串,以下列出一些常用的方法:1)public int length()此方法返回字符串的字符个数。382022年11月14日星期一2)public char charAt(int index)此方法返回字符串中index位置上的字符,其中index 值的 范围是0length-1。39例如:String str1=new String(“This is a string.”);/定义字符串对象str1int n=str1.length();
12、/获取字符串str1的长度n=17char ch1=str1.charAt(n-2);/获取字符串str1倒数第二个字符,ch1=g 2022年11月14日星期一402022年11月14日星期一3)public int indexOf(char ch)返回字符ch在字符串中第一次出现的位置。4)public lastIndexOf(char ch)返回字符ch在字符串中最后一次出现的位置。415)public int indexOf(String str)返回子串str在字符串中第一次出现的位置。6)public int lastIndexOf(String str)返回子串str在字符串中最
13、后一次出现的位置。2022年11月14日星期一422022年11月14日星期一7)public int indexOf(char ch,int fromIndex)返回字符ch在字符串中fromIndex位置以后第一次出现的位置。8)public lastIndexOf(char ch,int fromIndex)返回字符ch在字符串中fromIndex位置以后最后一次出现的位置432022年11月14日星期一9)public int indexOf(String str,int fromIndex)返回子串str在字符串中fromIndex位置后第一次出现的位置。10)public int
14、lastIndexOf(String str,int fromIndex)返回子串str在字符串中fromIndex位置后最后一次出现的位置。442022年11月14日星期一4511)public String substring(int beginIndex)返回字符串中从beginIndex位置开始的字符子串。12)public String substring(int beginIndex,int endIndex)返回字符串中从beginIndex位置开始到endIndex位置(不包括该位置)结束的字符子串。2022年11月14日星期一4613)public String contac
15、t(String str)用来将当前字符串与给定字符串str连接起来。14)public String replace(char oldChar,char newChar)用来把串中所有由oldChar指定的字符替换成由newChar指定的字符以生成新串。15)public String toLowerCase()把串中所有的字符变成小写且返回新串。16)public String toUpperCase()把串中所有的字符变成大写且返回新串。2022年11月14日星期一472022年11月14日星期一17)public String trim()去掉串中前导空格和拖尾空格且返回新串。18)p
16、ublic String split(String regex)以regex为分隔符来拆分此字符串。482022年11月14日星期一4.4.2 4.4.2 StringBufferStringBuffer类类在字符串处理中,String类生成的对象是不变的,即String中对字符串的运算操作不是在源字符串对象本身上进行的,而是使用源字符串对象的拷贝去生成一个新的字符串对象,其操作的结果不影响源串。494.4.3 4.4.3 StringTokenizerStringTokenizer类类字符串是Java程序中主要的处理对象,在Java.util类包中提供的StringTokenizer(字符串标记)类主要用于对字符串的分析、析取。如提取一篇文章中的每个单词等。2022年11月14日星期一50例题例题4.9 详见详见P70 2022年11月14日星期一51运行结果:运行结果:2022年11月14日星期一52
侵权处理QQ:3464097650--上传资料QQ:3464097650
【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。