Array_using

1、数组必须先声明再创建(初始化),后使用。

声明:int[ ] array1,array2; int array[ ];//数组没有被分配内存空间

创建(分配内存空间):array1=new int[5];//此时已经有了默认值。可以对数组进行存取了。

2、Java中数组是一种对象,它会有自己的实例变量,实际上,数组只有一个公共的实例变量,也就是length变量,这个变量指的是数组的长度。array1.length

3、byte的默认值是0,char的默认值为空,int为0,long为0,float为0.0 ,double为0.0,String为null

4、array1=array2;//数组拷贝可以直接把一个数组变量拷贝给另一个,这时候,数组都指向同一个数组。即原来array2所指向 的数组。

另一种方法是,System.arraycopy(原数组,想要复制的起始下标,目标数组,要被放置的下标位置,想要拷贝原数组的元素长度)

代码如下:

public class ArrayCopy3 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] array1={1,2,3,4,5,6,7,8,9};
		int[] array2=new int[20];
		for(int i=0;i<10;i++)
		array2[i]=10*i;
		System.arraycopy(array1,0,array2,10,array1.length);
		for(int i=0;i<array2.length;i++)
		System.out.println(array2[i]);
	}
}

结果为:



5、一维数组初始化:int[] array1=new int[5];array1[0]=1;或者为,int[] array1={1,2,3,4,5};

二维数组创建:int[] []  twoD=new int [5][5];初始化:int[][] twoD={ {1,2,3,4,5},{6,7,8,9,10},{},{},{}};或者,利用循环语句访问数组的每个元素的方法对数组元素进行赋值。

其中,twoD.length代表二维数组的行数;twoD[i].length代表二维数组的列数;

6、二维数组的应用:

package execite;

public class TwoD2 {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		//创建一个二维数组
		int [][] twoD1={{1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25}};
		//创建一个一维数组作为中间变量
		int [] array1=new int[5];
		//把twoD的第一行赋值给array1
		array1=twoD1[0];
		//交换二维数组的两行
		twoD1[0]=twoD1[4];
		twoD1[4]=array1;
		System.out.println("得到的一维数组array1");
		for(int i=0;i<array1.length;i++){
			System.out.print(array1[i]+" ");
		}
		System.out.println();
		System.out.println("交换后的二维数组twoD1");
		for(int i=0;i<twoD1.length;i++){
			for(int j=0;j<twoD1[i].length;j++)
				System.out.print(twoD1[i][j]+" ");
				System.out.println();
		}	
	}	
}
结果如下:


7、int[] [] twoD=new int[5][];//数组的行数在数组声明时必须确定,列数可以在确定。

声明各个行的列数如下:

twoD[0]=new int[1];

twoD[1]=new int[2];

8、for(集合元素的类型  元素变量:集合名称){语句块}

package execite;

public class ForEcho {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int sum=0;
		int [] nums={1,2,3,4,5,6,7,8,9,0};
		for(int i:nums){
			System.out.println("数组元素:"+i);
			sum+=i;
		}
		System.out.println("数组元素和:"+sum);
	}

}
结果为:


8、for—each多维数组的使用

int nums[][] =new int [5][5];

for(int x[]: nums)

for(int y:x)

{语句块

 对元素进行操作}

实验代码如下:

package execite;

public class ForEach {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int sum=0;
		int nums[][]=new int[4][4];
		int k=0;
		for(int i=0;i<4;i++)
			for(int j=0;j<4;j++){
				nums[i][j]=k++;
			}
		//用双重循环来访问二维数组
		for(int x[]:nums)
			for(int y:x)
			{
				System.out.println("数组元素:"+y);
				sum+=y;
			}
		System.out.println("数组元素和: "+sum);
	}

}

实验结果为:


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值