好朋友-数组(修正版)

下面我要向大家介绍一下我不打不相识的好朋友-数组,让大家也好好认识一下它。

下面是声明一维数组并分配内在给该数组的一个范例:
int score [ ] = null;//  1、声明整形数组score(开辟栈内存空间)
score = new int [3];//  2、为整形数组score分配内在空间,其元素个数为3(开辟堆内存,将使用权交给对应的栈空间)
整形的数组score时,score可视为数组类型的变量。

提问:数组声明为什么要加上一个 null 呢?
回答:数组在数据类型上属于引用数据类型,其默认值是 :null,表示还没有任何指向的堆内在空间。当然在JDK1.5之后可以不用给数据默认值。
……

2、堆栈
一个堆内存空间可以同时被多个栈内存空间所指向,即一个人可以有多个名字,一个具体的人就相当于堆内存,名字就相当于栈内存。


3.数组的引用传递
/*************向方法中传递数组的过程********************/

public class ArrayRefDemo01{
	public static void main(String args[]){
		int temp[] = {1,3,5} ;		// 利用静态初始化方式定义数组
		fun(temp) ;					// 传递数组
		for(int i=0;i<temp.length;i++){
			System.out.print(temp[i] + "、") ;
		}
	}
	public static void fun(int x[]){	// 接收整型数组的引用
		x[0] = 6 ;			// 修改第一个元素
	}
};


4、Java新特性对数组的支持
用可变参数定义数组 :

	public static void fun(int ... arg){	// 可变参数
		for(int i=0;i<arg.length;i++){		// 循环输出
			System.out.print(arg[i] + "、") ;
		}
	}

foreach输出数组内容:
	public static void fun(int ... arg){	// 可变参数
		for(int x:arg){		// 使用foreach输出输出
			System.out.print(x + "、") ;
		}
	}


5、对象数组


6、Java类库中的数组操作类--Arrays类

数组元素的查找、数组内容的填充、排序

public class Test{
	public static void main(String []args){
		int temp[] = {5, 4, 3, 2, 1};
		Arrays.sort(temp);
		System.out.println("排序后的数组:");
		for(int s : temp){
			System.out.println(s + "、");
		}
		System.out.println("排序后的String数组:");
		System.out.println(Arrays.toString(temp));
		
		System.out.println("4在位置是:"+Arrays.binarySearch(temp, 4));
		
		Arrays.fill(temp, 0, 3, 8);
		System.out.println("填充后的String数组:");
		System.out.println(Arrays.toString(temp));			
	}
}
结果:
排序后的数组:
1、
2、
3、
4、
5、
排序后的String数组:
[1, 2, 3, 4, 5]
4在位置是:3
填充后的String数组:
[8, 8, 8, 4, 5]




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值