java数组

一. 数组的定义及数组定义格式

1.什么是数组?

数组就是存储数据长度固定的容器,存储多个数据的数据类型要一致。

2.数组的定义格式

(1)第一种

格式:数据类型[] 数组名

int[] arr;        
double[] arr;      
char[] arr;

(2)第二种

格式: 数据类型 数组名[]

int arr[];
double arr[];
char arr[];

二.数组的初始化

1.数组的静态初始化

(1)什么是静态初始化?

在创建数组时,直接将元素确定。

(2)静态初始化的格式

完整格式版:
数据类型[] 数组名 = new 数据类型[]{元素1,元素2,…};

int[] a = new int[] {1, 2, 3};

简化版格式:
数据类型[] 数组名 = {元素1,元素2,…};

int[] a = {1, 2, 3};

2.数组的动态初始化

(1)什么是动态初始化?

数组动态初始化就是只给定数组的长度,由系统给出默认初始化值。

(2)动态初始化的格式

格式:
数据类型[] 数组名 = new 数据类型[数组长度];

int[] a = new int[3];

动态初始化的格式详解:

  • 等号左边:

    • int:数组的数据类型

    • []:代表这是一个数组

    • arr:代表数组的名称

  • 等号右边:

    • new:为数组开辟内存空间

    • int:数组的数据类型

    • []:代表这是一个数组

    • 3:代表数组的长度

三.数组元素的访问

1.什么是索引?

每一个存储到数组的元素,都会自动的拥有一个编号,从0开始。这个自动编号称为数组索引(index),可以通过数组的索引访问到数组中的元素。

2.索引格式

格式:
数组名[索引];

public class Demo {
    public static void main(String[] args) {
        int[] shuzu = new int[3];
        //输出数组名
        System.out.println(arr); 
        //输出数组中的元素
        System.out.println(arr[0]);
        System.out.println(arr[1]);
        System.out.println(arr[2]);
    }
}

四.数组操作中两个常见的问题

1.索引越界

public class Demo {
    public static void main(String[] args) {
        int[] a = new int[3];//定义一个数组
        //这里定义数组的长度为3,索引的值为0~2.
        System.out.println(arr[3]);
        //输出语句却访问了一个3的索引
        //程序运行后,将会抛出ArrayIndexOutOfBoundsException 数组越界异常。
    }
}

2.空指针异常

public class Demo {
    public static void main(String[] args) {
        int[] a = new int[3];
        //把null赋值给数组
        arr = null;
        System.out.println(arr[0]);
        /*arr = null 这行代码,意味着变量arr将不会在保存数组的内存地址,也就不允许再操作数组了,因此运行的时候会抛出 NullPointerException 空指针异常。*/
    }
}

五.数组的相关操作

1.遍历

//使用通用的遍历格式
        for(int x=0; x<arr.length; x++) {
        //arr为数组名,arr.length为数组长度。
            System.out.println(arr[x]);
          //  循环输出数组
        }

2.排序

冒泡排序,选择排序,插入排序

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值