一.方法重载

1.方法重载含义:
        方法名相同,参数列表不同与返回值无关!
        参数列表不同:a.参数个数不同
                     b.参数类型不同
        例:public static int compare(float a,int b){}
            public static int compare(float a,double b){}
        好处:为了提供这个功能的扩展性,方法名相同,可以接受各种类型的参数

二.引用数据类型

一.数组,类,接口
    1.数组
       a.含义:就是用来存储同样一种数据类型的容器!
                 (类型必须一致,否则数组定义的时候,编译通过不了)
       b.格式:(数组目前,都是存储基本数据类型)
                方式1:数据类型 [] 数组名称;
                    举例:int [] arr;定义了一个int类型的数据的数组arr变量
                方式2:数据类型 数组名称 [];
                    举例:int arr [];定义了一个int 类型的arr数组变量
       c.初始化:动态初始化
                静态初始化
       d.动态初始化:我们定义了数组的长度,数组的元素由系统默认初始化!(懂了,里面的元素是定的)
                数据类型 [] 数组名称 = new 数据类型 [数组长度];
                           int [] arr =new int [3];
                数据类型 数组名称 [] =new 数据类型[数组长度];
                            int arr []=new int [3];
       e.静态初始化:给定了数组的元素的内容,由系统指定数组的长度
                格式:数据类型 [] 数组名称=new 数据类型[]{元素1,元素2,元素3...};(推荐)
                     数据类型 数组名称 []=new 数据类型[]{元素1,元素2,元素3...};
                简写格式:数据类型[] 数组名称={元素1,元素2,元素3...};
                            int [] arr={1,2,3,4,5,6};
                注意:不能动静初始化(要莫动态初始化,要莫静态初始化)
       f.解释说明格式:
                =左边:int:里面存储的都是int类型
                        []:一维数组
                       arr:数组名称(符号标识符的规则)
                =右边:new:创建对象
                       int:int类型的元素
                        []:一维数组
                         4:数组的长度
                   

三.数组的注意问题

1.数组注意问题
    a.数组角标越界异常:ArrayIndexOutOfBoundsException 
             出现原因:访问了数组中不存在的索引值,索引值是非法的,大于或者等于数组的长度,索引值                
                     为负。
           解决方案:及时检查错误,然后更新代码
    b.空指针异常:NullPointerException 数组是引用类型,引用类型的默认值是null(空对象)
        出啊原因:在数组中的,数组对象已经为null,还要访问里面的元素
                  在后期可能会使用某些类的功能的时候,但是这个类的对象已经为null。
        解决方案:(在idea中,使用断点来调试程序!debug)
                 在某段代码中,如果出现空指针,在使用该对象的时候,进行非空判断。

三.数组的遍历

1.遍历:
    就是将数组的元素一一获取并输出
        平常的输出,代码太几把多了,所以找个方法输出它,复杂东西咱给他整简单,
    这块呢,用for循环遍历数组元素,但是呢这只能遍历有明确数量的元素,不明确数量的
    元素就比较麻烦,然后加上length,不需要知道数目就可以遍历数组。
    数组的属性:
        length,获取长度,
2.冒泡排序:
    两两比较,将最大的值往后放,第一次比较完毕后,最大值出现在最大索引处,依次这样比较,就可以得到排好序的数组。比较次数:数组长度-1次。

四.java中的内存分布

1.栈内存;
    存储的局部变量,局部变量的生命周期:随着方法的调用而存在,随着方法调用完毕而消失
2.堆内存:
    存储的new出来的东西:创建对象,对象创建完毕之后,不会立即消失,需要等待垃圾回收器(CG)回收
3.方法区:
    字节码文件class域,static静态域,常量池
4.本地方法区()以及寄存器:跟系统/cpu相关
5.注意:
    对象一旦创建完毕,地址值是固定的,除非重新在堆内存中开辟空间,产生新的地址

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值