第四章 数组与方法

第四章数组与方法

一、数组的定义及使用:

???????????????? ①数组:一组相关数据(变量)的集合

???????????????? ②一维数组:???? 数据类型数组名[] = null??? //声明

??????????????????????????????????????????????????????? 数组名 = new 数据类型[长度]????????? //分配内存

???????????????????????????????????????????????????????

??????????????????????????????????????????????????????? 简写:数据类型数组名[] = new 数据类型[长度]

???????????????????? ③二维数组:???? 数据类型数组名[][];

??????????????????????????????????????????????????????? 数组名 = new 数据类型[行的个数][列的个数]

?

??????????????????????????? 简写:数据类型数组名[][]= new 数据类型[行的个

???????????????????? ??????????????????????????????????????????????????????????????????? ? ][列的个数]

④初始化:

??????????????????????????? 动态初始化:先声明数组之后为数组中的每个内容

????????????????????????????????????????????????? 赋值

??????????????????????????? 静态初始化:在数组声明时就制定其具体内容

??????????????????????????? 一维:???? 数据类型数组名[] = {初值0,…,初值n}

??????????????????????????????????????????????????????? 例:int score[] = {91,92,93,94,95,96}

?????????????????????????????????? 二维:???? 数据类型数组名[][] = {{0行初值}

????????????????????????????????????????????????????????????????????????????????????????????????? ?…,

?????????????????????????????????????????????????????????????????????????????????????????? {n行初值}}

??????????????????????????????????????????????????????? 例:int score[][] = {{67,61},

???????????????????????????????????????????????????????????????????????????? {78,89,83},

????????????????????????????????????????????????????????????????????????????????? {99,100,98,66,95}

??????????????????????????????????????????????????????????????????????????????}

?

?

?

?

?

二、方法的声明及使用:

??????? ①方法:一段可重复调用的代码段 = 函数

??????? ②定义格式:?? public [static] 返回值类型 方法名称(类型参数1

??????????????????????????????????????????????????? 类型 参数2){

??????????????????????????????????????? 程序语句;

??????????????????????????????????????? [return 表达式]

?????????????????????????? ?}

??????????? ????? 1、直接使用主方法(main())调用,就必须用public

????????????? ? static

????????????? 2、可以无参数

????????????? 3、方法执行完后不管有无返回值都将返回到方法的

????????????? ? 调用处并向下继续执行

??????? ③方法重载:方法名称相同,但参数类型或参数个数不同

??????????????????? (返回值类型可相同可不同)

??????? return:在Java中,可以使用return语句直接结束一

???????????????? ?个方法。不管有无返回值,但一旦执行到了

???????????????? ?return语句之后,就返回到被调用处继续向下

???????????????? ?执行

??????? ⑤递归调用:可相当于循环,方法的自身调用。递归调用

??????????????????? 时必须有一个明确地结束条件,然后不断改

??????????????????? 变传入的数据

?

?

?

三、数组的引用传递:

??????? ①数组的传递:??? public void方法名(数据类型数组名[]){}

??????????????????????????????? 属于引用类型的传递,传递的是堆内存地

????????????????????? 址的使用权,一个数组可以有多个名称指

????????????????????? 向同一个堆内存空间,每一个名称都可以

????????????????????? 修改堆内存中的内容

??????? ②返回数组:?? public 返回数组类型[] 方法名(){

???????????????????????????????? 程序语句;

???????????????????????????????? return 数组名;

?????????????????????????????}

??????? ③数组排序:java.util.Arrays.sort(数组名)

??????? ④数组复制:System.arraycopy(源数组名称,源数组开始

??????????????????? 点,目标数组名称,目标数组开始点,复制

??????????????????? 长度)

??????? ⑤可变参数:?? public 返回值类型 方法名(类型…参数名){}

????????????? 1、向方法中传递可变参数之后,其中的参数是以数

???????????????? 组的形式保存下来的

????????????? 2、在使用可变参数的时候,也可以直接向方法中传

???????????????? 递一个数组

??????? foreach输出:? for(数据类型 变量名称:数组名称){}

???????????????????????? 方便数组的输出

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。