Java数组及二维数组初始化与赋值方法总结

一维数组初始化

1.定义数组直接赋值

int a[]= {1,2,3,4,5};

2.用new在数组中创建元素

int a[]=new int[]{1,2,3};

注意:后面的[]不要忘了

3.创建指定大小数组,但不赋值

		int c[]=new int[3];
		System.out.println(Arrays.toString(c));

注意:基本类型会自动初始化为空值,int型则为0.输出结果为[0, 0, 0],Arrays.toString产生一维数组的可打印版本。

4.先声明再赋值

		int c[]=new int[3];
		for(int i=0;i<3;i++) {
			c[i]=i;
		}

注意:若声明后,直接用c={1,2,3}操作是错误的。

5.一个数组赋给另一个数组

		int a[]= {1,2,3,4,5};
		int b[];
		b=a;

注意:这种方法真正做的只是复制了一个引用,简单的说就是a,b指针指向同一个内存空间,即对b操作相当于对a操作,当然Java没提指针这个概念。

6.动态设定数组大小

	Scanner a=new Scanner(System.in);
	int length;
	length=a.nextInt();
	int num[]=new int[length];
	while(a.hasNextInt()) {
		num[i]=a.nextInt();
		i++;
	}

使用scanner类输入length大小,动态规定数组的大小。注意数组赋值的时候不要发生越界了。

7.创建非基本类型数组,则其创建了引用数组。注意与第三点基本类型数组区别
如下代码,即便new创建数组后,仍然还是引用数组,指导创建新的Integer对象,并将其赋给引用,初始化才完成。

		Integer d[]=new Integer[3];
		System.out.println(d[0]);//输出null
		for(int i=0;i<3;i++) {
			d[i]=i;
			//直接用int赋值是因为装箱和拆箱原理,若不懂参考其他资料
		}

二维数组四种初始化

import java.util.ArrayList;

public class learn1 {
public static void main(String args[]) {
	int[][]a1= {{1,2},{3,4},{5,6,7}};
	for(int i=0;i<a1.length;i++) {
		System.out.print(a1[i].length+" ");
		for(int j=0;j<a1[i].length;j++)
			System.out.print(a1[i][j]+" ");
		System.out.println();
	}
	
	System.out.println();
	int[][]a2=new int[2][3];
	for(int i=0;i<a2.length;i++) {
		System.out.print(a2[i].length+" ");
		for(int j=0;j<a2[i].length;j++)
			System.out.print(a2[i][j]+" ");
		System.out.println();
	}
	
	System.out.println();
	int[][]a3=new int[2][];
	for(int i=0;i<a3.length;i++) {
		a3[i]=new int[3];
		System.out.print(a3[i].length+" ");
		for(int j=0;j<a3[i].length;j++)
			System.out.print(a3[i][j]+" ");
		System.out.println();
	}
	
	System.out.println();
	ArrayList<Integer> a4[]=new ArrayList[3];
	for(int i=0;i<a4.length;i++) {
		a4[i]=new ArrayList();
		a4[i].add(1);
		for(int j:a4[i])
			System.out.print(j+" ");
		System.out.println();
	}
}
}

输出:
2 1 2 
2 3 4 
3 5 6 7 

3 0 0 0 
3 0 0 0 

3 0 0 0 
3 0 0 0 

1 
1 
1 

最后,基本数组赋值与初始化就这么多,若我有写掉的后续我会补充。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

帅逼码农

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值