数组

数组:

数组是一个变量,它存储的是具有相同数据类型的一组数据

声明一个变量是在内存空间划出“一块”合适的空间

声明一个数组是在内存空间划出“一串连续”的空间

数组的基本要素:

1.标识符:即数组的名称,用于区分不同的数组

2.数组长度的属性:length

3.元素下标:对数组元素进行编号,从‘0’开始,数组中的每一个元素都可以通过下标来访问

先数组声明:

1.数据类型 数组名[];  例如:int score[];

2.数据类型[] 数组名(建议使用这种方式);  例如:int[] score;

再分配空间:

数组名=new 数据类型[大小]   例如:score=new int[30];

声明数组并分配空间:

数据类型[] 数组名=new 数据类型[大小];  例如: int[] score=new score[30];

一维数组的静态初始化:即在声明数组时直接指定数组的具体内容

数据类型[] 数组名={初值0,初值1,初值2,...,初值n};

例如:int[] score={32,51,45,67,89,90};

一维数组在内存中的存储方式:数组名存放在栈内存中,为数组分配的空间在堆内存中

遍历数组的方式:

1.通过for循环获取数组元素的下标,然后遍历对应元素

例如:for(int i=0; i<score.length; i++){ //逐个遍历数字中的元素score[i] }

2.foreach输出:

格式为:for(数据类型 变量名称:数组名称){...}

例如:for(int x:score){//X为当前正在遍历的数组元素 }

可变参数:

当方法中接收的参数不再是固定的,而是可以根据需要来传递数量不等的参数个数。(注意:这里的可变是参数个数可变,但数据类型不能变)
定义格式:
返回值类型 方法名称(类型... 参数名称){  }
注意:向方法传递可变参数后,参数在方法内部是以数组的形式保存下来的
例如:
public class ChangeableParam {

	public static void main(String[] args) {
		show();
        show(1,3,5,7,9);
        show(2,4,6,8,0,12);
	}
	
	
	public static void show(int... a){
		System.out.println("当前传递的参数个数是:"+a.length);
		for (int i = 0; i < a.length; i++) {
			System.out.print(a[i]+"  ");
		}
		System.out.println();
	}

}

数组拷贝

System类中有一个静态方法

  public static native void arraycopy(Object src,int srcPos,Object dest,int destPos,int length);

参数解释:

src:源数组

srcPos:源数组的起始位置

dest:目标数组

destPos:目标数组的起始位置

length:拷贝的数组元素的个数

public class ArrayCopy {

	public static void main(String[] args) {
        int[] a={1,2,3,4,5,6,7,8,9};
        int[] b={11,22,33,44,55,66,77,88,99};
        System.arraycopy(a,1,b,4,3);
        System.out.println("复制后的数组:");
        for (int i = 0; i < b.length; i++) {
			System.out.print(b[i]+"  ");
		}
	}

}



二维数组:

二维数组的声明与实例化:

数据类型[][] 数组名称=new 数据类型[行的个数][列的个数];

注意:二维数组的length属性就是它所包含的"行的个数"

二维数组访问具体元素的语法:数组名称[行的索引][列的索引];

二维数组的静态初始化:

数据类型[][] 数组名称={{元素1,元素2,...},{元素1,元素2}}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值