数组

数组定义格式 :

  • 数组概述

    一次性声明大量的用于存储数据的变量,要存储的必须是相同类型的数据

  • 什么是数组

    数组 ( array ):用于存储多个相同类型数据的存储模型

  • 数组的定义格式

    1. 格式一:数据类型 [] 变量名
      范例: int[] arr
      定义一个 int 类型的数组,数组名是 arr

    2. 格式二:数据类型 变量名 []
      范例:int arr[]
      定义一个 int 类型的变量,变量名是 arr 数组

数组初始化之动态初始化

  • 数组初始化概叙

    Java 中的数组必须先初始化,然后才能使用
    所谓初始化,就是为数组中的数组元素分配内存空间,并为每个数组元素赋值

  • 数组初始化方式

    1. 动态初始化
    2. 静态初始化
  • 动态初始化

    初始化时只指定数组的长度,由系统为数组分配初始值

    格式 :数据类型 [ ] 变量名 = new 数据类型 [ 数组长度 ] ;
    范例 :int [] arr = new int [5] ;

int[]  arr = new int[5];
// int[] arr : 定义一个 int 类型的数组名称为 arr
// new int[5] : 为 int 类型长度为 5 的数组,分配内存空间

数组元素访问

  • 数组元素访问

    1. 数组变量访问方式
      格式 :数组名

    2. 数组内部保存的数据访问方式
      格式:数组名 [索引]

    3. 索引是数组中数据的编号方式
      作用:用于访问数组中的数据使用,数组名 [索引] 等同于变量名,是一种特殊的变量名
      特征:索引从 0 开始 ,连续的,逐一增加每次加一

  • 代码测试 :

	public static void main(String[] args) {

		// 1. 定义数组,确定数组的长度
		int[] arr = new int[5];

		// 2. 输出数组地址值
		System.out.println(arr);

		// 3. 输出数组中的值
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		System.out.println(arr[2]);
	}

内存分配

  • Java 中内存分配

    Java 程序在运行时,需要在内存中分配空间,为了提高内存效率,就对空间进行了不同区域的划分,因为每一个区域都有特定的处理数据方式和内存管理方式

  • 栈内存

    存储局部变量,定义在方法中的变量,使用完毕立即消失

  • 堆内存

    存储 new 出来的内容(实体,对象)数组在初始化时,会为存储空间添加默认值
    每一个 new 出来的内容都有一个地址值,使用完毕会在垃圾回收器空闲时回收

  • 代码测试 :

public static void main(String[] args) {

		int[] arr;
		arr = new int[5];

		// 1. 输出栈存储的地址值
		System.out.println(arr);

		// 2. 通过栈中的地址值查找到堆中对应的地址输出数组下标为 0 的数组元素
		System.out.println(arr[0]);
		
		
	}

数组初始化之静态初始化

  • 数组初始化之静态初始化 :

    静态初始化 :初始化时指定每个数组元素的初始值,由系统决定数组长度

  • 格式一 :

    格式 :数据类型 [] 变量名 = new 数据类型 [] { 数据一,数据二,数据三,… };
    范例 :int [] arr = new int [] { 1,2,3 };

  • 格式二 :

    格式 :数据类型 [] 变量名 = { 数据一,数据二,数据三,… };
    范例 :int [] arr = { 1,2,3 };

  • 代码测试 :

	public static void main(String[] args) {

		// 1. 格式一
		int[] arr = new int[] { 1, 2, 3 };

		// 2. 格式二
		int[] arr2 = new int[] { 2, 4, 6 };

		// 3. 输出数组地址值与数组元素
		System.out.println(arr);
		System.out.println(arr[0]);
		System.out.println(arr[1]);
		System.out.println(arr[2]);

		System.out.println("======================");

		System.out.println(arr2);
		System.out.println(arr2[0]);
		System.out.println(arr2[1]);
		System.out.println(arr2[2]);

	}

数组常见报错

  • 索引越界 :
  • 空指针异常 :
  • 代码测试 :
     public static void main(String[] args){
     
         // 1.索引越界  ArrayIndexOutOfBoundsException
        int[] arr = new int[3];
        System.out.println(arr[3]);

         // 2.空指针异常  NullPointerException
         arr = null;
         System.out.println(arr[0]);
     }

数组常用操作

  • 遍历 :
	public static void main(String[] args) {

		// 1.普通方法进行数组遍历
		int[] arr = { 11, 22, 33, 44, 55 };

		for (int i = 0; i < 5; i++) {
			System.out.println(arr[i]);
		}

		System.out.println("======================");

		// 2.获取数组元素数量进行数组遍历
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
		
	}
  • 获取最值 :
public static void main(String[] args) {

		int[] arr = { 44, 22, 11, 33, 55 };

		// 1.获取最大值,临时存储,保存最大值
		int max = arr[0];

		for (int i = 1; i < arr.length; i++) {
			if (max < arr[i]) {
				max = arr[i];
			}
		}

		System.out.println("最大值为:" + max);

		// 2.获取最小值,临时存储,保存最小值
		int least = arr[0];

		for (int i = 1; i < arr.length; i++) {
			if (least > arr[i]) {
				least = arr[i];
			}
		}

		System.out.println("最小值为:" + least);

	}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值