• Java基础00-数组9


    1. 数组定义格式

    1.1 数组概述

    1.2 什么是数组

    1.3 数组定义格式

    推荐使用第一种格式,因为第一种格式读法比较顺畅。

    2. 数组初始化之动态初始化

    2.1 数组初始化概述

    2.2 数组初始化方式

    2.3 动态初始化

    代码实例和详细解释:

    3. 数组元素访问

    3.1 数组元素访问

    代码示例:

    直接输出数组名是不可以的,这样会输出出他的内存地址,想要输出数组中的值要按照序号输出,为什么是0那是因为我们还没有给数组赋值。

    4. 内存分配

    4.1 Java中的内存分配

    int [] arr :在内存中会有一个区域专门用来存储它
    new int [3] :在内存中也会有一个区域专门用来存储它,但是new 会为程序开辟内存空间,我们设置为3就会给我们开辟3个内存空间,并且添加默认值。

    new int[3] 会赋值给 int [] arr,int [] arr 会指向 new int[3]。

    这里的001并不是真实的内存地址

    数组1和2类似于此

    4.2 数组内存图(单个数组)

    给数组中的元素赋值,输出的值就会改变。

    运行结果图:

    4.3 数组内存图(多个数组)

    4.4 数组内存图(多个数组指向相同)

    arr的值赋给了arr2

    这样我们的两个数组就都指向了堆内存的相同地址,这就是(多个数组指向相同)。

    因为两个堆内存地址是相同的所以arr2也可以修改值。

    当两个数组指向同一个地址内存时,两个数组都是可以访问这个地址内存的,是通用的。

    5. 数组初始化之静态初始化

    5.1 数组初始化之静态初始化

    推荐使用简化格式。

    6. 数组操作的两个常见小问题

    6.1 数组操作的两个常见小问题

      1. 索引越界

      2. 空指针异常

       把null赋值给数组arr

    把null赋给arr,arr就变为了空值,就会和堆内存地址断去关联。

    如果我们再去访问原来的堆内存的话就还报错,因为它找不到。

     

     

    7. 数组常见操作

    7.1 遍历

    按照原来的方法一个一个的输出太过麻烦,所以我们就用到了遍历。

    可以看到每次输出索引都会加一,所以我们利用循环产生0-4。

    for循环遍历

    7.2 获取数组元素数量

    如果数组的个数有很多,我们该怎么获取数组的元素个数那?

    Java中的length,就可以获取数组的个数。

     

     

    7.3 获取最值

    此方法也叫打擂台方法,max与其他的值比较,赢了就继续站擂台,输了下去,让赢的站擂台,一直把所有的值都比较完。

    代码示例:

    输出:

  • 相关阅读:
    Mysql: 一个死锁场景的解决
    Mysql: 创建新的账号
    安全评测:BashDoor
    BeanFactory和FactoryBean的区别:
    linux 下将war解压到当前目录
    学习BoolanC++笔记_01(C++面向对象高级编程(上)第一周)
    学习BoolanC++笔记_00(预备)
    Linux (Centos) 上安装Nexus OSS 3 并搭建docker私有仓库
    linux(Centos7)搭建rpm仓库
    树莓派4b安装 manjaro linux
  • 原文地址:https://www.cnblogs.com/ajing2018/p/14635544.html
Copyright © 2020-2023  润新知