A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

© 含笑 中级黑马   /  2015-6-26 21:58  /  265 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1. 回顾
        for
        while
        do...while
       
2. 函数(方法)
        定义在类中,具有特定功能的一小段程序.
        作用:对某种特定功能的封装.可以复用了.
       
        格式:
                修饰符 返回值 函数名(参数类型 形式参数1, 参数类型 形式参数2, ...)
                {
                        // 方法体
                        // return 语句.
                }
               
        函数注意事项:
                1) 函数是平级关系.不要在main方法里面定义方法.
                2) 函数只有被调用的时候才能被执行.
                使用时:
                        有返回值:
                                建议赋值调用, 也可以输出调用.
                                注意可以单独调用,但是一般没有意义.
                        没有返回值的呢? void -- 只能单独调用

                public static int getMax(int a, int b)
                {
                        return a > b ? a : b;
                }
        形参和实参
                1) 方法调用的时候,传递的是实参.
                2) 方法定义的时候,声明的是形参.
       
        方法的结束:通过关键字 return.

        (练习)请编写一个函数完成比较两个int类型数据是否相等的功能(5分钟)

        定义函数的思路:
                1) 明确返回值类型.
                2) 明确参数列表.
               
        局部变量的定义注意问题:
                局部变量如果没有显示初始化值, 不会有默认初始化值.
                boolean flag;
                if (a == b) {
                        flag = true;
                } else if () {
                        flag = false;
                }
               
                // 使用flag;
                原则: 保证变量在使用之前已经初始化成功就可以了.
               
        函数的重载:
                重载是发生在一个类里面, 函数名一样,参数列表不同(个数 \ 类型 \ 顺序),这就是方法的重载.
                与返回值类型无关.
                       
                fun(String str, int i)
                fun(int i, String str)
                -- 上面两个方法属于重载
               
                fun(int a, int b);
                fun(int b, int a);
                -- 上面两个是同一个
               
3. 数组
        1) 数组的内存图解
                栈 : 存放局部变量 -- (局部变量:方法里面或者方法声明上的形参上的变量)
                堆 : 存放 new 出来的实例.
                        A: 堆里面的实例都有地址值,而且地址值都是不一样的.
                        B: 内容都有默认值
                                整形:0
                                浮点型:0.0
                                字符型:'\u0000' -- 空字符('')
                                boolean类型:false
                        C: 里面的东西会被垃圾回收期不定时的回收.
                       
                方法区:
        2) 定义数组方式 4种;
                掌握:
                        int[] arr1 = new int[5];
                        int arr2[] = new int[5]; // 想使用数组的引用,用arr2
                        int[] arr3 = {1,2,0,4,5}; // 要求数组的每个元素都明确
                        int[] arr4 = new int[]{1,2,3,4,5};
       
        3)        数组遍历
                数组的索引范围: 0 ~ length - 1
                重点代码:
                        for(int i = 0; i < 数组名.length; i++)
                        {
                                // 数组名[i]; // 依次拿到每一个元素
                        }
        4) 二维数组的定义格式
                二维数组特点:
                        A:二维数组中的元素就是一个一个一维数组,所以如果直接打印二维数组名称的话,结果还是地址值.
                        B:二维数组中多个一维数组的长度可以不同,且存储的是一维数组的地址值.
                       
                        C:定义格式:
                                数据类型[][] 变量名 = new 数据类型[n][m];
                                数据类型[][] 变量名 = new 数据类型[n][]; // 初始化二维数组的长度,但里面一维数组不确定.
                                数据类型[][] 变量名 = {{5,6}, {8}, {1,2,3}};
                               
                                int[] arr = new int[0]; // 可以的
                               
                                -- 注意:数组长度可以为0. 所以想拿数组元素的时候必须先判断一下.
               
                遍历二维数组的思路:
                        双层for循环
                        外循环控制一维数组的个数
                        内循环控制每一个一维数组的每一个元素
                       
                        // arr
                        for(int x = 0; x < arr.length; x++) {
                                for (int y = 0; y < arr[x].length; y++) {
                                        //System.out.print(arr[x][y]);
                                        if (y == arr[x].length - 1) {
                                                System.out.println(arr[x][y]);
                                        } else {
                                                System.out.print(arr[x][y]);
                                        }
                                }
                                //System.out.println();
                        }
                       
                二维数组最终的小应用案例,注意事项
                        for(int x = 0; x < arr.length; x++) {
                                int jiduTemp = 0;
                                for (int y = 0; y < arr[x].length; y++) {
                                        jiduTemp += arr[x][y];
                                }
                                System.out.println("第" + (x + 1) + "季度的销售额是:" + jiduTemp);
                        }
                       
                注意:数组的长度要用length属性去获取,不要数.
                               
                       
                       
                       
                       
                       
                       
                       
                       

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马