引出数组和数组的定义
为什么要使用数组:
问题一:
声明变量时,每一个单独的变量都要对应一个变量名,但现在要处理一组相同类型的数据时,如要表示班上100个人的年纪,绝不能定义100个变量来表示每一个人的年纪,那怎么办呢?再看下面的例子:
int age = 17; //表示一个年龄
问题二:
求两个数之和,需要一个方法,求五个数之和,需要重载一个方法,求一百个数之和、一千个数之和、一万个数之和,方法的参数列表会很长很长,而且方法得有多个,而且还得去记住哪个方法是两个参数的,哪个方法是三个参数的。这样总感觉很不爽,仔细分析这个功能,其实就是求一组数值的和而已,这个方法并不在乎具体是多少个加数,它只在乎需要把哪些数加起来。
建议:定义方法的形参时,最好不要超过5个;
什么是数组,一组数据,一堆数据:
所谓数组,是在程序设计中,为了方便处理,把具有相同类型的若干变量按有序的形式组织起来的一种数据形式。这些按一定顺序排列的同类型数据的集合称之为数组。而数组中的每一个数据称之为数组元素,数组中的元素以索引来表示其存放的位置,索引从0开始,步长是1,依次递增。好比宾馆的房间。
基本数据类型:byte、short、int、long、float、double、char、Boolean
引用数据类型:类、接口、数组
----------------------------------------------
变量的定义:
数据类型 变量名; 如:int age
数组的定义:
方式一:数组元素的类型 [] 数组名;如:int [] ages;可以把int[]看成是一种数据类型,int类型的数组类型。
方式二:数组元素的类型 数组名 [];如:int ages[];
数组必须先初始化,才能使用,因为初始化表示在内存中分配空间。
数组初始化
Java中数组必先初始化后才能使用,所谓初始化就是给数组元素分配内存,并为每个元素赋初始值。
初始化数组的两种方式:
静态初始化;
动态初始化;
无论以哪种方式初始化数组,一旦初始化完成,数组的长度就固定了,不能改变,除非重新初始化。也就是说数组是定长的。
数组是定长的:数组一旦初始化成功,数组中的元素个数就已经固定,不能改变,如果需要更改,只能重新做初始化。
数组的静态初始化:
特点:有我们自己来为每一个数组元素设置初始化值,而数组的长度由系统决定。
语法:
数组元素类型[] 数组名 = new 数组元素类型[] {元素一,元素二, 元素三.....};
如:int [] nums = new int[]{1,3,5,6,9};
简单写法,必须声明之后,立刻初始化,不能先声明,后初始化:
int[] nums = {1,2,3,5,7};