java中的数组的定义与使用

数组的概念

数组是一种引用数据类型,用来存储固定长度数据的容器,同时存储的数据的数据类型也要一致,数组中每个数据被称为元素,为了区分数组中的每个元素的数字被称为索引
注意:数组的长度一旦创建不能修改

定义数组的三种方式

1、动态初始化,指定数组的长度

数组类型 [] 数组名称 = new 数据类型 [数组长度];
例: int [] arr1 = new int [10];

2、静态初始化,指定数组的内容

数组类型 [] 数组名称 = new 数据类型 {元素1,元素2,元素3...};
例: String [] arr1 = new String["hello","word","!!"];

3、静态初始化,省略的写法

数组类型 [] 数组名称 = {元素1,元素2,元素3...};
例: String [] arr1 = {"hello","word","!!"};
索引和数组长度的概念

索引的概念:
每一个存储到数组的元素,都会生成一个唯一的数字编号,从0开始这个数字编号被称为索引(index),可以通过数组的索引找到对应的元素,对元素访问或修改

数组长度的概念:
每个数组的长度在创建时就已经固定了,数组的.length属性即可获得数组的长度,格式:数组名.length 返回结果为int类型,由此可以推断出数组的的最大索引值为: 数组名.length-1

数组元素取值和赋值

1、数组名[索引]=数值,为数组中的元素赋值

	public static void main(String[] args) {
        String [] arr1 = {"11","22","33","44"};
        //为索引为3的元素赋值
        arr1[3] = "000";
        System.out.println(arr1[3]);    //输出结果  000
        
    }

2、变量=数组名[索引],获取出数组中的元素

	public static void main(String[] args) {
        String [] arr1 = {"我","爱","中","国"};
        //获取索引值为3的元素值
        String str = arr1[3];
        System.out.println(str);      //输出结果   国

    }
遍历数组

1、for循环遍历

	public static void main(String[] args)  {
		int [] arr = {1,2,3,4};
		for (int i = 0; i < arr.length; i++) {
			System.out.println(arr[i]);
		}
	}

2、for each循环

	public static void main(String[] args)  {
		int [] arr = {1,2,3,4};
		for (int i : arr) {
			System.out.println(i);
		}
	}

输出结果

1
2
3
4
求数组中元素的最大值
	public static void main(String[] args)  {
		int [] arr = {1,78,44,36,55};
		int max = arr[0];//先将数组的第一个元素当做最大值
		for (int i = 0; i < arr.length; i++) {
			if(arr[i]>max){//如果当前元素大于max,将当前元素赋值给max
				max = arr[i];
			}
		}
		System.out.println(max);
	}

输出结果

78
数组中常见的两种异常

1、数组越界异常

每个数组在创建时就已经确定了长度,即元素的个数,所以在访问数组时不能超过0~length-1这个范围,否则程序会抛出空指针异常

	public static void main(String[] args)  {
		int [] arr = new int[3];
		System.out.println(arr[3]);//数组的最大索引是2,此时访问索引为3的元素
	}

输出结果

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 3

2、空指针异常

在使用变量引用一个数组时,变量必须指向一个有效的数组对象,如果该变量的值为null,则意味着没有指向任何数组,此时通过该变量访问数组的元素会出现空指针异常

	public static void main(String[] args)  {
		int [] arr = new int[3];
		arr = null; //定义数组后将数组赋值为null
		System.out.println(arr[1]);
	}

输出结果

Exception in thread "main" java.lang.NullPointerException
二维数组

1、动态初始化

数据类型 [][] 数组名 = new 数据类型 [m][n]
数据类型 [] 数组名 [] = new 数据类型 [m][n]
例:	 	int [][] arr = new int [3][2];
		int [] arr2[] = new int [4][5];

以 int [][] arr = new int [3][2]; 为例,3表示一共有三个一维数组,2表示每个一维数组里面有两个元素,理论上可以有n维数组。

2、静态初始化

数据类型 [][] 数组名 = {{元素1,元素2....},{元素1,元素2....},{元素1,元素2....}.....};
例:		int [][] arr = {{23,3345,257},{22,69},{35,66,47,83}};

静态初始化可用于不规则二维数组的初始化

3、二维数组的赋值

	public static void main(String[] args)  {
		int [][] arr = new int [1][2];
		arr[0][0] = 1;
		arr[0][1] = 2;
		System.out.println(Arrays.toString(arr[0]));//输出数组
		
	}

输出结果

[1, 2]

4、二维数组的遍历

	public static void main(String[] args)  {
		int [][] arr = {{23,3345,257},{22,69},{35,66,47,83}};
		for (int i = 0; i < arr.length; i++) {//获取每个二维数组中的一维数组
			for (int j = 0; j < arr[i].length; j++) {//获取每个一维数组中的元素
				System.out.println(arr[i][j]);
			}
		}
		
	}

输出结果

23
3345
257
22
69
35
66
47
83
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值