chapter3_Array

上传人:z*** 文档编号:243097523 上传时间:2024-09-15 格式:PPT 页数:29 大小:352.50KB
返回 下载 相关 举报
chapter3_Array_第1页
第1页 / 共29页
chapter3_Array_第2页
第2页 / 共29页
chapter3_Array_第3页
第3页 / 共29页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,本章要点,掌握,数组变量的声明、数组的创建、数组元素的初始化,数组元素的访问,数组的遍历,基础数据类型数组和引用类型数组的区别,数组变量和数组的关系,数组作为方法的参数和返回值,数组,Array,数组是一种保存,同类型多个值,的数据结构,(multiple values of the same type),,是一种,固定长度,(fixed-length),的结构。,数组的每一个数据成员称为元素,(element),,每个元素都可以通过下标,(index),访问。,声明数组变量,type,arrayName,;,type,:数组元素的数据类型,arrayName,:数组的名字,表示变量,arrayName,引用的是一个数组,例:,int,intArray,;,String,anArrayOfStrings,;,重要,:,声明数组变量并没有创建数组,intArray,null,空指针,当一个引用变,量没有指向任何一个对,象或数组时,它的值就,是,null,Examples,byte,anArrayOfBytes,;,long,anArrayOfLongs,;,float,anArrayOfFloats,;,double,anArrayOfDoubles,;,boolean,anArrayOfBooleans,;,char,anArrayOfChars,;,String,anArrayOfStrings,;,Double,anArrayOfDoubles,;,声明数组变量的第二种方法,type,arrayName,;,/discouraged,不鼓励使用这种形式,,,是标示组数类型的,它更应该和类型说明放在一起,而不是和数组的名字放在一起,创建数组,创建数组的第一种方法是使用,new,操作符,new,操作符会为数组分配存储空间及指定初值,new,typearraySize,例:,int,anArray,;,anArray,=,new int10;,int, anArray2 =,new int10;,int,length = 5;,int anArray3 =,new,intlength,;,简单类型数组的初始化,int,int,Array,= new int5;,d,ouble,doubleArray,= new,double5;,intArray1,和,doubleArray1,有值吗?如果有,,值分别是多少?,简单类型的数组在创建时,数组的每个元素会被自动初,始化,整数类型初始化成,0,,浮点类型初始化成,0.0,,字,符型初始化成空字符,,boolean,型初始化成,false,创建数组,创建数组的第二种方法是,type,arrayName,= ,元素,0,元素,1,元素,2,;,这种方法可以在创建数组的同时初始化数组的元素,例:,int,anArray,= 100, 200, 300, 400, 500, 600,700, 800, 900, 1000;,boolean, answers = true, false, true, true,ture,;,访问数组元素,数组元素的访问方法,数组名,元素下标,,,注意数组下标从,0,开始,例:,int,anArray,= new int5;,anArray0 = 3; /,为数组元素赋值,anArray4 = 8;,System.out.print(anArray0);/,输出数组元素的值,0,0,0,0,0,3,8,anArray,引用类型数组的初始化,String,sArray,= new String5;,sArray0,的值是多少?,sArray0.length(),的值是多少?,null,运行期异常,sArray,引用类型数组的每个元素存储的都是对象地址,引用类型数组的初始化,String,sArray,= new String5;,sArray0 = “hello”;,sArray4 = new,String(“Java,”);,sArray0.length();/5,sArray4.length();/4,“hello”,“Java”,sArray,数组变量的赋值,下面两句代码执行完后,创建了几个数组变量?几个数组?它们的关系?,int myArray1 = new int5;,int myArray2 = myArray1 ;,下面两句代码执行完后,创建了几个数组变量?几个数组?它们的关系?,int, myArray3 = new int5;,myArray3 = new int5;,数组的遍历,int, array = new int5;,for(int,i = 0; i ,array.length,; i+),arrayi, = i;,for(int,i = 0; i ,array.length,; i+),System.out.print(arrayi, + “ ”);,length,是只读变量,练习,1,完成,RandomDemo,类,generateRandomNums,(),方法产生,7,个,1,32,之间的随机整数,存储在数组中返回,main,方法调用,generateRandomNums,(),方法取得随机数组,遍历输出数组元素,数组作为方法的返回类型,-,图示,nums,nums,randomNum,21,args,5,3,0,0,0,0,0,0,0,3,5,9,25,18,32,21,当一个方,法返回数,组时,实,际上返回,的是数组,的地址,数组作为方法的参数,public class,ArrayArgument,public static void,main(String,args,) ,System.out.println,(,传给,main,方法的参数,: + args0);,int, array = 2,4,6,8,10;,int sum =,add(,array,);,System.out.println(sum,);,public static int,add(,int,intArray,) ,int sum = 0;,for (int i = 0; i ,intArray.length,; i+) ,sum =,sum,+,intArrayi,;,return sum;,array,sum,2,4,10,8,6,intArray,sum,0,30,30,args,30,当一个方,法需要数,组做参数,时,传给,它的是数,组的地址,数组作为方法的参数,public class,ArrayArgument,public static void,main(String,args,) ,int array = 2,4,6,8,10;,change(array,);,System.out.println(array0);,public static void,change(,int,intArray,) ,intArray,= null;,二维数组,(arrays of arrays),二维数组是一个特殊的一维数组,数组的每个元素又是一个数组,1,0,2,3,4,5,6,“c+”,“goodbye”,“!”,“hello”,“Java”,“!”,“!”,二维数组变量的声明,type,arrayName,;,type,:第二维数组元素的数据类型,arrayName,:数组的名字,例:,int,intArray,;,String,stringArray,;,重要,:,声明数组变量并没有创建数组,二维数组的创建,使用,new,关键字,同时创建第一维和第二维数组,new,类型,第一维数组的长度,第二维数组的长度,;,例:,int,intArray,= new int34;,String,sArray,;,sArray,= new String52;,intArray,0,0,0,0,0,0,0,0,0,0,0,0,二维数组的创建,使用,new,关键字,二维数组的第二维数组长度可以不同,创建数组时可以先创建第一维数组,再依次创建第二维数组,new,类型,第一维数组的长度,;/,只创建第一维数组,例如:,int,intArray,= new int3;,intArray10 = 3;,错,第二维数组尚未创建,没有第,0,个元素,intArray0 = new int3;,intArray1 = new int2;,intArray2 = new int4;,intArray,0,0,0,0,0,0,0,0,0,二维数组的创建,使用,int,intArray,= 1,2,3,4,6,7,;,double,doubleArray,= 1.2, 2.5,3.0, 4, 4.4, 8.0,6.0, 7.0, 3.8,;,二维数组的使用,int,intArray,= 1, 2,3, 4, 5,6, 7, 8, 9,;,访问第二维的元素,intArray12 = 14;,int,element = intArray23;,访问第一维元素,int,anotherArray,= 9,8,7,6;,intArray2 =,anotherArray,;,二维数组的长度,int,intArray,= 1, 2,3, 4, 5,6, 7, 8, 9,;,int,length =,intArray.length,;,int,length0 = intArray0.length;,int,length1 = intArray1.length;,int,length2 = intArray2.length;,二维数组的遍历,编程实现,intArray,数组的遍历输出,int,intArray,= 1, 2,3, 4, 5,6, 7, 8, 9,;,for(,第,1,行,-,第,3,行,),for(,当前行的第,1,列,-,当前行的最后一列,),System.out.print(intArray,行,列, + );,System.out.println,();/,换行,for(i,= 0- intArray.length-1),for(j,= 0-intArrayi.length - 1),System.out.print(intArrayij, + );,System.out.println,();,二维数组的遍历,for(int,i = 0; i ,intArray.length,; i+),for(int,j = 0; j ,intArrayi.length,; j+),System.out.print(intArrayij, + );,System.out.println,();,练习二,充分理解,RandomDemo,类产生一组随机数的过程,完成,RandomDemo3,,用二维数组实现多组随机数的生成和存储,作业,P95 96,4.3 4.7 4.8 4.10,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 小学资料


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!