第三章、方法和数组
一、方法
方法其实是把实现相同功能的代码放在一起,需要的时候再去调用。
格式:修饰符 返回值类型 方法名(参数1,参数2,...,参数n) {
语句体;
return 返回值;
}
格式解释:
1)修饰符:目前接触到的修饰符public static,还有private、protected、默认的,这三种修饰符后面再去讲述。
2)返回值类型:就是方法结束后要return的数据的数据类型。这里还有一种情况,如果这里写的 void,那么就是不需要return(返回)任何数据,例如main方法就是这样。
3)方法名:要符合命名规范,名称要起得见名知意,方便调用。
4)参数(参数列表):参数分为两种:一种是实际参数(用于实际操作或运算的),另一种是形式参数(方法上定义的参数,用来接收实际参数);参数的组成:数据类型、变量名,例 如:参数1就是这两者组成(数据类型 变量名)
5)return:前面介绍过,是用来结束方法的,return 后面跟的返回值,意思是方法结束后返回一个结果,结果的数据类型要跟方法中的返回值类型一致。
代码如下:无返回值
有返回值:
提示:方法需要调用才能执行,不调用不执行,例如以上代码定义的方法method(),如果没有调用,它也只是在那里,不会执行。有返回值的方法,一般需要定义变量去接收。
二、一维数组
在程序中使用数组,需要先定义和初始化数组,初始化数组有两种方式:静态初始化和动态初始化,初始化为了给数组开辟内存空间,并给数组中的每个元素赋值。数组中的元素是通过索引(或下标)去获取的,例如:数组名[索引]。索引是有最小值和最大值的,最小值是0,最大值是数组的(长度-1),例如一个数组的长度是10,那么索引的取值范围是0到9,如果索引值不在这个范围内,程序就会报错。
1)静态初始化:给出初始化值,数组的长度由系统自动分配
格式1:数据类型[] 数组名 = {元素1,元素2,...,元素n}; 或 数据类型 数组名[] = {元素1,元素2,...,元素n};
举例:int[] arr = {1,2,3,4,5};
int arr[] = {1,2,3,4,5};
代码如下:
格式2:数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...,元素n};或 数据类型[] 数组名 = new 数据类型[]{元素1,元素2,...,元素n};
举例:int[] arr = new int[]{1,2,3,4,5};
int arr[] = new int[]{1,2,3,4,5};
代码如下:
2)动态初始化:跟静态初始化相反,动态初始化是自己给出数组的长度,初始化值由系统赋予。自已也可以给数组中的每个元素重新赋值。
格式:数据类型[] 数组名 = new 数据类型[数组长度];或 数据类型 数组名[] = new 数据类型[数组长度];
代码如下:
从以上程序中可以看出,我们是一个个的去输出数组中的元素,数组元素少的时候这么输出还行,但是如果元素多了的话,这么去输出数组中的元素就很麻烦了,现在使用for循环来输出数组中的元素,前面讲过,使用for循环需要知道循环次数,数组中就有一个属性:length,格式:数组名.length,就是用来获取数组的长度的,那么循环的次数就是( 数组名.length - 1)次。
代码如下:
注意事项:数组中元素的数据类型要和定义数组时的数据类型一致。
小案例:获取数组中的最大值,代码如下:
数组中的元素从小到大排序(冒泡排序),代码如下:
三、多维数组
多维数组就是二维数组、三维数组、四维数组等,这里就只讲述二维数组。二维数组中的元素是一个个一维数组。
格式1:数据类型[][] 数组名 = new 数据类型[][]{{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}}; 或
数据类型[][] 数组名 = {{元素1,元素2...},{元素1,元素2...},{元素1,元素2...}};
代码如下:
格式2:数据类型[][] 数组名 = new 数据类型[i][]; 或 数据类型 数组名[][] = new 数据类型[i][]; 或 数据类型[] 数组名[] = new 数据类型[i][];
i表示这个二维数组中有i个一维数组,后面那个[]没有给出一维数组的长度,则需要动态的去给出每个一维数组的长度。
代码如下:
格式3:数据类型[][] 数组名 = new 数据类型[i][j];或 数据类型 数组名[][] = new 数据类型[ i][j]; 或 数据类型[] 数组名[] = new 数据类型[ i][j];
i表示这个二维数组中有i个一维数组,j表示一维数组中的元素个数
代码如下:
公众号二维码