JavaSE_[0_语法基础]_[4_数组]

1. 数组定义格式

  • 格式一:数据类型[] 变量名

    • 范例: int[] arr
  • 定义了一个int类型的数组,数组名是arr

  • 格式二:数据类型 变量名[]

    • 范例 int arr[]
  • 定义了一个int类型的变量,变量名是arr数组

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

Java中的数组必须先初始化,然后才能使用

所谓初始化:就是为数组中的数组元素分配内存空间,并为每个数组元素赋值

2.1 数组初始化方式

  • 静态初始化
  • 动态初始化

2.2 动态初始化

在这里插入图片描述

public class ArrayDemo {
    public static void main(String[] args) {
        int[] arr = new int[3];
        /*
            左边:
                int:说明数组中的元素类型是int类型
                []:说明这是个数组
                arr:数组名称
                
            右边:
                new:为数组申请内存空间
                int:说明数组中的元素类型是int
                []:说明这是一个数组
                3:数组长度,数组中元素个数
         */
    }
}

3. 数组元素访问

在这里插入图片描述

4. 内存分配

Java程序在运行时,需要在内存中分配空间、为了提高运行效率,就对空间进行了不同区域的划分,

因为每一片区域都有特定的处理数据方式和内存管理方式。

4.1 Java中内存分配

int[] arr = new int[3];
//赋值:将arr指向开辟的int[3]内存空间
System.out.println(arr);
//输出:001(内存地址)
System.out.println(arr[0]);
//arr[0]:先找到arr的内存地址,再找到索引位置[0]的值
System.out.println(arr[1]);
//arr[0]:先找到arr的内存地址,再找到索引位置[1]的值
System.out.println(arr[2]);
//arr[0]:先找到arr的内存地址,再找到索引位置[2]的值

在这里插入图片描述

4.2 栈内存和堆内存

在这里插入图片描述
)]

4.3 单个数组内存图

4.4 多个数组内存图

4.5 多个数组指向相同内存图

因为指针相同,所以一个数组元素改变,其它所以数组元素都会被改变

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

在这里插入图片描述

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

在这里插入图片描述

7. 数组常见操作

7.1 遍历

for循环

7.2 获取数组元素数量

  • 格式:数组名.length
  • 范例:arr.length

7.3 获取最值

package test_05;
//最大值
public class ArrayDome02 {
    public static void main(String[] args) {
        //定义数组
        int[] arr = {12, 45, 98, 73, 60};

        //定义一个变量,用于保存最大值
        //取数组中第一个数据作为变量初始值
        int max = arr[0];

        //与数组中数据逐个对比,每次保留最大值
        for(int x=1; x<arr.length; x++){
            if(max < arr[x]){
                max = arr[x];
            }
        }

        //循环结束后打印变量的值
        System.out.println(max);
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值