数组

数组概念:      存储统一数据类型的多个对象,也可以看成一个容器

     可以存储基本类型,也可以存储引用数据类型

数组作用:

     存储多个对象而且保证类型统一。
 数组的理解:
     对于基本类型是在连续的内存单元中存储多个类型相同的基本类型
     对于引用数据类型,在连续的内存单元中存储多个对象的引用。
     对于多维数组是存储了维数减一的数组的引用。知道二维数组是存储了多个一维数组的引用。
 数组的优势:
     Java中遍历和修改的最快的数据容器
 数组的常见问题:
     数组的越界问题
     数组的空指针问题
 数组的定义:
     className[] objectName;
     className objextName[];
 数组的初始化:
     new className[num];
     {data1, data2,……};不能作为参数传递给方法。

     new className[]{data1, data2, ……};


Java数组便利的常用方法有三种:

       a.使用arrayName[index]获取数组元素. 小心越过数组长度.

class CommonIterator {
	
	public static void main(String[] args) {
		int[] arr = { 1, 3, 65, 45, 23, 345 };

		System.out.print(arr[0] + "\t");
		System.out.print(arr[1] + "\t");
		System.out.print(arr[2] + "\t");
		System.out.print(arr[3] + "\t");
		System.out.print(arr[4] + "\t");
		System.out.print(arr[5] + "\t");
	}
}

       输出结果为:

1    3    65    45    23    345   

       b.通过for循环遍历数组. 数组的唯一属性是数组元素的个数.通过.length获得 for循环且利用.length可以避免数组越界异常

class ForIterator {
	
	public static void main(String[] args) {
		int[] arr = { 1, 3, 65, 45, 23, 345 };
		for (int i = 0; i < arr.length; i++) {
			System.out.print(arr[i] + "\t");
		}
	}
}

          输出结果:

1    3    65    45    23    345


c.使用foreach遍历 不过这个遍历只能获取元素.不能修改和删除

class ForeachIterator {
	
	public static void main(String[] args) {
		int[] arr = { 1, 3, 65, 45, 23, 345 };
		for (int i : arr) {
			System.out.print(i + "\t");
		}
	}
}
 

输出结果:

1    3    65    45    23    345

获取数组中最大值:

class GetMax{
	/**
	 * 获取数组元素的最值,只演示最大值,最小值的获得只需要更改Boolean操作符就可以了
	 */
	public static void main(String[] args) {
		int[] arr = { 1, 3, 65, 45, 23, 345 };
		//假定第一个元素时最大值,不断与后面元素比较,不断更改为最大值
		int max = arr[0];
		//与最大值元素对应的序号
		int index = 0;
		for (int i = 1; i < arr.length; i++) {
			if(arr[i] > max){
				max = arr[i];
				index = i;
			}
		}
		//输出最大值和它对应的序号.
		System.out.println("数组中最大值是:" + max + ".该元素的序号是:" + index);
	}
}
输出结果:

数组中最大值是:345.该元素的序号是:5


反转数字顺序

class Reversal{
	/**
	 * 	只需要再定义一个相同长度和类型的数组.新数组第一个元素存储原来最后一个元素,以此类推.
	 */
	public static void main(String[] args) {
		int[] arr = { 1, 3, 65, 45, 23, 345 };
		System.out.println("数组原的顺序:");
		for(int i : arr){
			System.out.print(i + "\t");
		}
		//输出结果后下一个输出从下一行开始
		System.out.println();
		
		//定义新相同长度和类型的数组
		int[] newArray = new int[arr.length];
		
		//对数组元素进行反转
		for (int i = 0; i < arr.length; i++) {
			newArray[arr.length - i -1] = arr[i];
		}
		//输出逆序后数组
		System.out.println("数组逆序后的顺序是:");
		for(int i : arr){
			System.out.print(i + "\t");
		}
	}
}
输出结果:

数组原的顺序:
1    3    65    45    23    345    
数组逆序后的顺序是:
1    3    65    45    23    345   


二维数组的求和

class TwoDimension{
	/*
	 * 二维数组的求和
	 */
	public static void main(String[] args) {
		int[][] arr = {{1, 2, 3}, {2, 3, 5}, {5, 3, 6}};
		//初始化多个元素的和
		int sum = 0;
		//使用嵌套遍历遍历二维数组元素并且求和
		for (int i = 0; i < arr.length; i++) {
			//arr[i].length表示第i个一维元素,通过for再对其遍历
			for (int j = 0; j < arr[i].length; j++) {
				//二维数组的某个元素的访问是arr[i][j]
				sum += arr[i][j];
			}
		}
		
		//输出二维数组的和
		System.out.println("二维数组的和:" + sum);
	}
}
输出结果是:

二维数组的和:30

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值