【无标题】

数组

一维数组的静态初始化

  • 数组是一种容器,可以用来存储同种数据类型的多个值(有隐式转换)
  • 数组初始化:在内存中,为数组容器开辟空间,并将数据存入容器的过程
    完整格式:数据类型[ ]数组名=new 数据类型[ ]{元素1 ,元素2 ,…}
    简化格式:数据类型[ ]数组名={元素1 ,元素2 ,…}
  • 数组的地址值:表示数组在内存中的位置
    地址值的含义:
    例:[D@776ec8df
    ① [ :表示当前是一个数组
    ② D :表示当前数组里面的元素都是double类型的
    ③ @ :表示一个间隔符号(固定格式)
    ④ 776ec8df :才是数组真正的地址值(十六进制)
    数组元素访问:
    索引:也叫下标,角标
    索引特点:从0开始,逐个+1增长,连续不间断
    数组的遍历
package demo1;

public class arr {
    public static void main(String[] args) {
        int []a={1,2,3,4,5};
        //利用循环改进代码
        //开始条件:0
        // 结束条件:数组的长度-1(最大索引)
        //在Java中,关于数组的一个长度属性:length
        //调用方式:数组名.length
        System.out.println(a.length);//输出数组的长度
        //拓展:自动的快速生成数组的遍历方式
        //数组名.for
        for (int i = 0; i < a.length; i++) {
            System.out.println(a[i]);

        }
    }
}

在这里插入图片描述

一维数组的动态初始化

动态初始化:初始化时只指定数组的长度,由系统为数组分配初始值
格式:数据类型[ ] 数组名 = new 数据类型 { 数组长度 }
拓展:数组默认初始化值的规律
整数类型:默认初始化值0
小数类型:默认初始化值0.0
字符类型:默认初始化值‘/u0000 ’ 空格
布尔类型:默认初始化值false
引用数据类型:默认初始化值null

一维数组动态初始化和静态初始化的区别

动态初始化:手动指定数组长度,由系统给出默认初始化值。
特点:只明确元素个数,不明确具体数值,推荐使用动态初始化。

静态初始化:手动指定数组元素,系统会根据元素个数,计算出数组的长度。
特点:需求中已经明确了要操作的具体数据,直接静态初始化即可。
数组元素中的首尾交换

package demo1;

public class ArrTest1 {
    public static void main(String[] args) {
        //交换数值元素的首尾
        //定义数组
        int[] arr ={1,2,3,4,5};
        //利用循环交换数据
        for (int i = 0,j=arr.length-1; i < j; i++,j--) {
            int temp = arr[i];
            arr[i] = arr[j];
            arr[j] = temp;
        }
        for (int i = 0; i < arr.length; i++) {
            System.out.println(arr[i]+" ");

        }
    }
}

在这里插入图片描述

Java内存分配

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

拓展:当两个数组指向同一个小空间时,其中一个数组对小空间中的值发生了改变,那么其他数组再次访问的时候都是修改之后的结果了。

方法

方法是程序单元中最小的执行单元
例:main方法,主方法
public static void main(String[ ] args){
}
用法:重复的代码,具有独立功能的代码可以抽取到方法中

方法的格式
把一些代码打包在一起,用到的时候就调用
方法定义:
把一些代码打包在一起,该过程称为方法定义
方法调用:
方法定义后并不是直接运行的,需要手动调用才能执行,该过程称为方法调用。

方法的定义格式

方法的定义格式:
public static 返回值类型 方法名(参数){
方法体;
return返回值;
}
在这里插入图片描述

最简单的方法定义

在这里插入图片描述
在这里插入图片描述

带参数的方法定义

在这里插入图片描述
注意:方法调用时,参数的数量与类型必须与方法定义中的小括号里面的变量一一对应,否则程序会报错。

  • 实参:全称实际参数,方法调用中的参数
  • 形参:全称形式参数,是指方法定义中的参数
    方法调用时,形参和实参必须一一对应,否则程序会报错

带返回值方法的定义

在这里插入图片描述
在这里插入图片描述

方法的注意事项

  • 方法不调用就不执行。
  • 方法与方法之间是平级关系,不能互相嵌套。
  • 方法的编写顺序和执行顺序无关。
  • 方法的返回值类型为void,表示该方法没有返回值, 没有返回值的方法可以省略return语句不写。 如果要编写return,后面不能跟具体的数据。
  • return语句下面,不能编写代码,因为永远执行不到,属于无效的代码。
return关键字
  • 方法没有返回值:可以省略不写。如果书写,表示结束方法。
  • 方法有返回值:必须要写。表示结束方法和返回结果。

方法的重载

  • 在同一个类中,定义了多个同名的方法,这些同名的方法具有同种的功能。
  • 每个方法具有不同的参数类型或参数个数,这些同名的方法,就构成了重载关系。
  • 简单记:同一个类中,方法名相同,参数不同的方法。与返回值无关。
    参数不同:个数不同、类型不同、顺序不同。

java虚拟机会通过参数的不同来区分同名的方法
顺序不同可以构成重载,但是不建议

方法的内存

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

二维数组

静态初始化

  • 格式:数据类型[ ] [ ] 数组名 =new 数据类型[ ] [ ]{元素1,元素2,…};
  • 范例: int[ ][ ] arr = new int[ ][ ]{{11,22},{33,44}}
  • 简化格式:数据类型[ ] [ ]数组名={{元素1,元素2},{元素1,元素2}};
  • 范例:int[ ] [ ]arr={{11,22},{33,44}};
  • 范例:int arr[ ] [ ]={{11,22},{33,44}};

动态初始化

二维数组动态初始化格式:
数据类型[ ][ ] 数组名 = new 数据类型[ m][ n];
m表示这个二维数组,可以存放多少个一维数组。
n表示每一个一维数组,可以存放多少个元素。

二维数组内存图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值