数组

数组

Java数组存储固定大小的同类型元素

数组利用索引(内存地址)来记录每个元素在数组中的位置,大多数编程语言中,索引是从0算起。

数组是线性表的实现方式之一,数组中的元素在内存中连续存储,且每个元素占用相同的内存。

声明、创建、初始化

声明:
dataType[] arrayRefVar;
dataType arrayRefVar[];
创建:
arrayRefVar=new dataType[arraySize];

public class example1{
	public static void main(String[] arg) {
		int size=10;
		double[] myList=new double[size];
		//声明创建一起完成
		myList[0]=5.6;
		myList[1]=4.5;
		myList[2]=3.3;
		myList[3]=13.2;
		myList[4]=4.0;
		myList[5]=34.33;
		myList[6]=34.0;
		myList[7]=45.45;
		myList[8]=99.993;
		myList[9]=11123;
		double total=0;
		for(int i=0;i<size;i++) {
			total+=myList[i];	
		}
		System.out.println("总和为:"+total);	
		}
}
数组的处理
public class example1 {
	public static void main(String[] arg) {
		double[] myList= {1.9,2.9,3.4,3.5};
		//打印所有数组元素
		for(int i=0;i<myList.length;i++) {
			System.out.println(myList[i]+" ");
		}
		//计算数组数据总和
		double total=0;
		for(int i=0;i<myList.length;i++) {
			total+=myList[i];			
		}
		System.out.println("数组总和:"+total);
		//查找最大元素
		double max=myList[0];
		for(int i=0;i<myList.length;i++) {
			if(myList[i]>max) {
				max=myList[i];
			}
		}
		System.out.println("数组最大元素为"+max);
	}
}

1、for-each循环
加强循环;可以在不使用下标的情况下遍历数组

//语法格式
for(type element:array){
    System.out.println(element);
}

实例:

public class example1 {
	public static void main(String[] arg) {
		double[] myList= {1.9,2.9,3.4,3.5};
		for(double element:myList) {
			System.out.println(element);
		}
	}
}

2、数组作为函数的参数

public class example1 {
	public static void main(String[] arg) {
		double[] myList= {1.9,2.9,3.4,3.5};
		printArray(myList);
		printArray(new double[]{1.9,2.9,3.4,3.5});
	}
	public static void printArray(double[] array) {
		for(int i=0;i<array.length;i++) {
			System.out.println(array[i]+"");
		}
	}
}

3、数组作为函数的返回值

一维数组的逆置

public class example1 {
	public static void main(String[] arg) {
		double[] myList= {1.9,2.9,3.4,3.5};
		reverse(myList);
	}
	public static double[] reverse(double[] list) {
		double[] result=new double[list.length];
		for(int i = 0,j = result.length - 1; i < list.length; i++, j--){
			result[j] = list[i];
		}
		for(int i=0;i<result.length;i++) {
			System.out.println(result[i]+" ");
		}
		return result;
	}
}

4、多维数组
可以看成是数组的数组
例如:二维数组就是一个特殊的一维数组,其中每个元素都是一个一维数组

String str[][]=new String[3][4]

二维数组的动态初始化
1、直接为每一维分配空间
type[][] typeName=new type[typeLength1][typeLength2];
type 可以为基本数据类型和复合数据类型,

int a[][]=new int[2][3];

2、从最高维开始,分别为每一维分配空间,

public class example1 {
	public static void main(String[] arg) {
		String s[][]=new String[2][];
		s[0]=new String[2];
		s[1]=new String[3];
		s[0][0] = new String("Good");
		s[0][1] = new String("Luck");
		s[1][0] = new String("to");
		s[1][1] = new String("you");
		s[1][2] = new String("!");
	}
}
Arrays类

java.util.Arrays类可以方便的操作数组,提供的方法都是静态的。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值