资源描述:
《JAVA学习 第3章 数组与字符串ppt课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章数组与字符串本章大纲本章教学目标1.熟练掌握一维数组的声明创建与引用2.掌握二维数组的创建与使用3.掌握字符串的声明与创建方法4.了解字符串类的常用方法本章教学难点1.二维数组的创建与使用3.1.1数组数组是多个相同类型数据的组合,实现对这些数据的统一管理。数组属引用类型,数组型数据是对象(object),数组中的每个元素相当于该对象的成员变量。数组中的元素可以是任何数据类型,包括基本类型和引用类型。1.一维数组的声明一维数组声明的语法格式举例:Java语言中声明数组类型的变量时不允许指定数组的长度(数组中元素的个数)。int[]a;do
2、ubled[];String[]args;Personp[];int[3]a;//非法<元素类型><变量名>[];或<元素类型>[]<变量名>;2.一维数组的空间分配及初始化创建数组对象语法格式:基本类型元素组成的一维数组new<元素类型>[<数组长度>]publicclassTestArray{publicstaticvoidmain(Stringargs[]){int[]s;s=newint[10];for(inti=0;i<10;i++){s[i]=2*i+1;System.out.println(s[i]);}}}publicclass
3、TestArray{publicstaticvoidmain(Stringargs[]){int[]s;s=newint[10];for(inti=0;i<10;i++){s[i]=2*i+1;System.out.println(s[i]);}}}数组对象的创建和使用基本类型元素组成的一维数组publicclassTestArray{publicstaticvoidmain(Stringargs[]){int[]s;s=newint[10];for(inti=0;i<10;i++){s[i]=2*i+1;System.out.println(
4、s[i]);}}}数组对象的创建和使用基本类型元素组成的一维数组在创建数组空间的同时,还可以给各数组元素赋初值即初始化数组元素,这时可以省略new函数。例如:intscore[]={95,89,79,64,67};需要注意的是,在为数组元素赋初值时,不能够同时指出数组的长度,Java会根据初值的个数自动计算数组的大小。这一点不同于C++语言。3.一维数组的引用创建数组对象后才可以引用数组中的元素,格式:其中,元素下标应为整型表达式。数组元素下标从0开始;长度为n的数组合法下标取值范围:0~n-1;Java数组对象一经创建,其长度不可改变,如果越
5、界访问数组元素时将出现运行错误。<数组名>[<元素下标>]数组对象的length属性Java数组对象由系统自动提供一个特殊属性length,用于给出数组长度,该属性为只读、int型、可直接访问。int[]a=newint[3];System.out.println(a.length);数组元素缺省初始化Java数组属于引用类型数据,它的元素相当于类的成员变量,因此数组对象一经创建,其中的每个元素也被按照成员变量同样的方式被隐式初始化。例如:publicclassTestDefaultInitalization{publicstaticvoidm
6、ain(Stringargv[]){inta[]=newint[5];System.out.println(a[3]);}}动态初始化动态初始化(DynamicInitalization)——数组定义、创建对象以及为数组元素赋值等操作分开进行。inta[];a=newint[3];a[0]=3;a[1]=9;a[2]=8;MyDatedates[];dates=newMyDate[3];dates[0]=newMyDate(22,7,1964);dates[1]=newMyDate(1,1,2000);dates[2]=newMyDate(22
7、,12,1964);静态初始化静态初始化(StaticInitalization)——在定义数组的同时就为数组元素分配空间并赋值。int[]a={3,9,8};MyDatedates[]={newMyDate(22,7,1964),newMyDate(1,1,2000),newMyDate(22,12,1964)};【例3-1】求成绩数组score中的最大值。/*MaxScore.java*/importjava.util.*;publicclassMaxScore{publicstaticvoidmain(String[]args){int[
8、]score=newint[5];inti,max;System.out.println(“请一次录入5位学生的Java成绩:”);Scannerin