黑马程序员技术交流社区

标题: 【石家庄校区】六期-李壮,关于数组和方法 [打印本页]

作者: 狸子换太猫    时间: 2017-11-30 12:10
标题: 【石家庄校区】六期-李壮,关于数组和方法
数组(array)
存储同一数据类型的多个元素的容器.
        定义格式:
        1:数据类型[] 数组名;(推荐)
        int[] arr;
        2:数据类型 数组名[];
        int arr[];

数组初始化:为数组开辟内存空间,并为数组中的每个元素赋予初始值

        1.动态初始化:只给出长度,由系统给出初始化值
        格式 : 数据类型[] 数组名 = new 数据类型[数组长度]
        数组中的每个元素都是有编号的,从0开始,最大编号就是数组的长度-1
        编号 就是数组的 索引(|角标)

        获取数组中数据,使用 数组名[索引] 来找到索引位置的数据

        栈:储存的是局部变量
                局部变量:就是定义在方法中的变量
                使用完毕,立即回收

        堆:存储的是new出来的东西
                每个对象都有地址值
                每个对象的数据都有默认值
                        byte,short,int,long : 0
                        float,double : 0.0
                        char : '\u0000'
                        boolean :  false
                        引用类型 : null
                使用完毕后会在垃圾回收器空闲时回收

        定义两个数组,把第一个数组的值赋值给第二个, 其实是第一数组的地址值赋值给了第二个 ,通过地址值,两个数组指向同一个堆内存里的数组空间. 两个数组中元素的改变是共享的.

        2.静态初始化:给出初始值,由系统决定长度
        格式:
        数据类型[] 数组名 = new 数据类型[]{元素1,元素2,元素3,...};
        简化格式:
        数据类型[] 数组名 = {元素1,元素2,元素3,...};


方法的概述以及基本的使用:
格式:
        修饰符 返回值类型 方法名(参数类型 参数名1 , 参数类型 参数名2…);
                方法体;
                return 返回值;
                }

方法是为了提高代码的重复使用性和可维护性.

(String[] args)中的String[]是字符串数组

写一个方法有两个明确:
        1.返回值类型 明确功能结果的数据类型
        2.参数列表 明确有几个参数以及参数的数据类型
       
方法的调用:
        有明确返回值的方法调用:
                1.单独调用, 没用意义
                2.输出调用, 有意义, 但不够好,因为可能需要拿结果进行进一步的操作
                3.赋值调用, 推荐方式


一个训练题目:
定义一个方法,求出给定的数字在给定int型数组中出现的次数,如果一次没有出现则返回0。
如:给定数字3 求出3在数组 int[] arr = {3,4,3,5,7,9};中出现的次数


定义一个方法,两个明确是:
        返回值类型:int
        参数列表:int[] arr , int count;

public class HomeWork03 {
        public static void main(String[] args) {
                int a = 3;
                int[] arr = {3,4,3,5,3,9};
                System.out.println("出现了" + unitArr(arr, a) + "次");
        }

        //定义一个方法,两个明确是:
        //返回值类型:int
        //参数列表:int[] arr , int count;
       
        public static int unitArr(int[] arr, int i){
                int unit = 0;                                //定义一个计数变量
                for(int x = 0; x < arr.length; x++){       
                        if(arr[x] == i){                //当指定数字与数组元素相等时,计数变量加1
                                unit++;
                        }
                }
                return unit;
        }
}






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2