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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© nimeideweilai 初级黑马   /  2018-1-29 14:50  /  738 人查看  /  0 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

                               Day4



Random(随机数):
                作用:产生一个随机数。
        使用步骤:
                A:导包
                        import java.util.Random;
                B:创建对象
                        Random r=new Random();
                C:获取随机数
                        int number = r.nextInt(10);
                        获取范围:[0,10)包括0,不包括10
数组:
        存储同一种数据类型的多个元素的容器;
        定义格式:
                A:数组类型[] 数组名;
                B:数组类型 数组名[];
                一般使用A种:
                        int [] arr;
数组初始化:
        A:所谓的初始化, 就是为数组开辟内存空间,并未素组中的每个元素赋予初始           值
        A:我们有两种初始化数组的方式;
                A:动态初始化     只给出长度, 由系统给出初始值
                B:静态初始化     给出初始化值,由系统决定长度、
动态初始化:
        数组类型[] 数组名= new 数组类型[数组长度];

java中的内存分配:
        栈:(储存的局部变量);
        堆:(存储的是new出来的东西);
        方法区:
        本地方法:(和系统相关);
        寄存器(给CPU使用);



栈:储存的的局部变量;局部变量就是定义方法中的变量;使用完毕立即回收;
堆:存储的是new出来的东西, 实体,对象
        A:每一个对象都有地址值;
        B:每一个对象的数据都有默认值;
        C:使用完毕后,回来垃圾回收器空闲的时候被回收。
数组使用常见问题:
        A:数组索引越界异常。
                产生原因:我们访问了不存在的索引;
        B:空指针异常
                产生原因:数组已经不再指向堆内的数据,你还在访问数组
二维数组:就是元素为一维数组的数组;
        定义格式:
                A:数据类型[][] 数组名;(推荐的方式)
                B: 数组类型 数组名 [] [] ;
                C: 数组类型[] 数组名[];
初始化:
        A:动态初始化
                数据类型[][]数组名 = new 数据类型[m][n];
                m表示二维数组中的一维数组的个数;
                N表示一维数组中的元素个数;
        B:静态初始化
                数据类型[][] 数组名 = new 数据类型[][]{{元素},{元素},                {元素},......}
                简化格式:
                数据类型[][] 数组名 = {{元素},{元素},{元素},......}
二维数组.length获取的其实就是二维数组中有及格一维数组
                        


                                Day5
方法: 其实就是完成特定功能的代码块


定义格式:         
        修饰符 返回值类型  方法名(参数类型  参数名1, 参数类型  参数名2){
                方法体;
                return 返回值;
        }
               
格式解释:

        A  修饰符  
        B:返回值类型 用于限定返回值的数据类型。
        C:方法名 为了方便我们调用方法的名字。
        D:参数类型 用于限定调用时传入的数据类型。
        E:参数名 用于调用方法是传入的数据变量。
        F: 方法体 完成功能的代码。
        G:return 结束方法  并且把返回值带回给调用者。


写一个方法的两个明确:

        A 返回值类型 明确功能结束的数据类型。
        B 参数列表 明确有几个参数,以及参数的数据类型。



方法的调用:(有明确返回值的方法调用)
        A:单独调用  没有意义。
        B:输出调用  有意义  但无法对结果进行进一步操作。
        C:赋值调用  有意义  
两个明确:
        返回值类型:void
        参数列表:没有参数

        如果一个方法没有明确的返回值类型, 也不能把返回值的类型空出来, 需要用        void。

方法重载:
        在同一个类中  出现了方法同名的情况。
        特点:
                方法名相同, 参数列表不同。与返回值无关。
                参数列表不同:
                                A:参数的个数不同。
                                B:参数对应的数据类型不同。
        不能出现方法名相同并且参数列表也相同的情况。

        注意:
        在调用方法的时候 JAVA虚拟机会通过参数列表的不同来区分同名的方法。

方法的参数如果是基本数据类型:形式参数的改变不影响实际参数。

        形式参数: 用于接受实际参数的变量。
        实际参数:实际参与运算的变量。
如果参数是引用数据类型:形式参数的改变直接影响实际参数。



  

0 个回复

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