数组(Java复习二)

对数组的疑问,也一直困扰我。

1.数据类型数组

定义与初始化

		int[] a1;
		a1=new int[3];
		int[] a2=new int[3];
		int[] a3={1,1};
		int[] a4={};
		System.out.println(a4[0]);//报错

a1.length=3

a2.length=3

a3.length=2


2.类数组

		Car[] cars1;
		cars1=new Car[2];
		cars1[0]=new Car(0);
		cars1[1]=new Car(1);
		
		Car[] cars2={new Car(1),new Car(2)};

class Car{
	int num;
	public Car(int num){
		this.num=num;
	}
}
3.多维数组

		int[][] a5=new int[2][3];//int a5[][]=new int[3][2];
		int[] a51={1,2,3};
		int[] a52={4,5,6};
		a5[0]=a51;
		a5[1]=a52;
		
		int[][] a6={{1,2,3},{4,5,6}};

a5.length=2

a6.length=2


4.数组做函数参数


class Num{
	public Num(){
		int[] a={0,1};
		int b=0;
		String s="haha";
		display(a,b,s);
		add(a,b,s);
		display(a,b,s);
		int[] aa=add(a);
		display(aa,b,s);
		display(a,b,s);	
	}
	
	public void display(int[] a,int b,String s){
		System.out.println("数组内容:"+b+" "+s);
		for(int i=0;i<a.length;i++){
			System.out.println(a[i]);
		}	
		System.out.println();
	}
	
	public void add(int[] a,int b,String s){
		s="xixix";
		b++;
		for(int i=0;i<a.length;i++){
			a[i]=a[i]+1;
		}
	}
	
	public int[] add(int[] a){
		for(int i=0;i<a.length;i++){
			a[i]=a[i]+2;
		}	
		return a;
	}
	
}

运行结果:


list和数组的传递是地址引用传递,所以在子函数中数组改变,父函数中数组也改变。而int,string是数值引用传递,子函数中改变,父函数中的值不会改变。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值