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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© MengDeKaiShi 中级黑马   /  2014-12-30 10:49  /  694 人查看  /  1 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

一、函数
        函数即在程序中定义的一个有特定功能的独立的小程序
(1)函数的声明
        修饰符 返回值类型 函数名(参数类型 形式参数1,参数类型 形式参数2,...)
        {
                        执行语句;
                        return 返回值类型;
        }
        修饰符:public static
        返回值类型:这段程序最终返回结果的数据类型
        函数名:函数的名称,方面调用
        参数:
                        参数类型:就是数据类型
                        形式参数:接受实际参数的变量
                        实际参数:实际参与运算的变量
        执行语句:功能代码
        返回值:程序的结果
        return:将程序的结果返回给调用该函数的地方
               函数是平级的,不能嵌套定义,只能在函数中调用另一个函数
(2)return关键字
        return单独存在,后面不能有语句,因为执行不到,所以会报错
        函数是通过关键字return结束的。
        return语句分两种:显示的结束,隐式的结束
        当明确需要返回一个值的时候,需要显示的结束,"return 返回值;"
        当不需要返回一个值的时候,可以不用写return,因为jvm默认会加上一句"return;"
(3)函数的重载(overload)
        在同一个类中,允许存在一个以上的同名函数,只要他们的参数个数或者参数类型对应                                不相同。函数的重载与返回值类型无关,只看参数列表。
二、数组
        数组是一个对象,是同一种数据类型的集合。数组即一个容器。
        数组的优点:数组中的元素会自动从0开始编号,方便操作
        数组用于封装数据,就是一个具体的实体。
  数组中的每一个数据都是该数组的元素。
(1)声明方式
     int x[ ]——定义一个数组名为x的数组
         int[ ] x,y,z——这种方式是JAVA特有的,代表int[ ]后面出现的所有变量都是数组变量
(2)数组的创建
         使用new创建数组,数组是一个对象。
元素类型[] 数组名 = new 元素类型[元素的个数];
元素类型[] 数组名= {元素1,元素2...};
     元素类型[] 数组名= new 元素类型[]{元素1,元素2...};

       
        数组的定义格式一:int[] arr=new int[5];
                        左边      int:数据类型
                                          [ ]:表示这是一个数组
                                          arr:数组的名字
                        右边          new:申请内存空间
                                          int:数据类型
                                          [ ]:表示这是一个数组
                                           5 :数组的长度
        数组的定义格式二:int[] arr=new int[]{1,2,3,4,5};
                                          int[] arr={1,2,3,4,5};
(3)Java的内存划分
    Java程序在运行时,需要在内存中分配空间。为了提高效率,就对空间进行了不同区                域的划分。不同的内存区都有特定的数据处理方式和内存管理方式。
         JAVA对内存空间划分(五部分):栈,堆,方法区,本地方法区,寄存器
                (1)栈内存:变量,或者方法执行时也要把方法放到栈里执行
                                存储的都是局部变量(只要在方法中定义的变量都是局部变量,定义在方                                                                        法中或者方法声明上的形式参数都叫局部变量)
                                一旦变量的生命周期结束,该变量就自动从内存中被释放
                (2)堆内存:存储的都是数组和对象(凡是new创建的都在堆)
                                每一个new出来的实体都有地址值,以16进制形式显示
                                堆内存的变量都有默认的初始化值(整数:0;浮点数:0.0;字符型:                                                                                                        '\u0000';布尔型:false)
                    当实体不在被使用时,在不确定的时间会被垃圾回收机制处理。
                (3)方法区:方法,String常量池,静态区
                (4)本地方法区:跟系统相关的方法
                (5)寄存器:由CPU执行

                int arr[]=new int[10];
                System.out.println(arr);//输出数组的内存地址[I@4b09558d
                System.out.println(arr[0]);//输出数组的第0个元素,结果为0
                //[I@4b09558d,[表示该变量时一个数组,I表示int类型,@表示后面是该变量在                //内存中的地址(哈希值)
(4)数组常见异常
        1. ArrayIndexOutOfBoundsException:数组脚标越界异常
        2. NullPointerException:空指针异常(arr=null;然后调用arr时就会抛这个异常)
(5)二维数组
        int[][] arr=new int[3][2];
        3是二维数组长度,arr中有3个一维数组;2是一维数组长度,每个一维数组中有2        个元素
        /*二维数组示例*/
                int[][] arr=new int[3][2];
                System.out.println(arr);//输出二维数组的地址
                System.out.println(arr[0]);//输出第一个一维数组的地址值
                System.out.println(arr[1]);
                System.out.println(arr[2]);
                System.out.println(arr[0][0]);//输出第一个一维数组中第一个元素的值
                System.out.println(arr[0][3]);//脚标越界
内存图:
         
二维数组定义格式:
                格式一:int[][]arr=new int[3][3];
                格式二:int[][]arr=new int[3][ ];
/*因为二维数组存的一维数组的地址,所以可以先不定义一维数组的长度,此时二维数组默认值为null;各一维数组的长度可以不相同,因为二维数组中放的是各一维数组的地址值*/
                             arr[0]=new int[0];
                                 arr[0]=new int[1];
                                 arr[0]=new int[2];
                格式三:int[][] arr={{3,2},{2,1,4},{9,0,1,6}};
特殊写法情况:int[ ] x,y[ ];//x是一维数组,y是二维数组

/*二维数组遍历*/
                int[][] arr={{1,2,3},{4,5},{6,7,8,9,0}};
                for(int i=0;i<arr.length;i++)
                        {
                                for(int j=0;j<arr[i].length;j++)
                                {
                                        System.out.print(arr[i][j]+"\t");
                                }
                                System.out.println();
                        }

1 个回复

倒序浏览
感谢分享哦
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马