数组初始化的两种方式

 一:动态初始化

    初始化时只指定数组长度,由系统为数组分配初始值。

 

 二:静态初始化

   初始化时指定每个数组元素的初始值,由系统决定数组长度 

 

案例如下

public class  ArrayDemo{

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int []arr = new int[3];//动态初始化
		int []arr2 = {1,4,54,23};//静态初始化
                int []arr4 =new int[]{1,4,54,23};//静态初始化
		int []arr3 = arr2;
		reserve(arr2);
		show(arr2);
		Arrays.sort(arr2);//从小到大排序
		show(arr2);
		System.out.println(find(arr2,54,0,arr2.length-1));//-1
		System.out.println(find1(arr2,231));//-1
	}
	
   //逆序
	public static void reserve(int []a){
		int temp;
		for(int i = 0;i<a.length/2;i++){
			temp = a[i];
			a[i] = a[a.length-1-i];
			a[a.length-1-i] = temp;
		}
	}
	
  //输出
	public static void show(int []a){
		for(int i = 0;i<a.length;i++){
			System.out.print(a[i]+"  ");
		}
		System.out.println();
	}
	
  //递归的二分查找
	public static int find(int []a,int c,int low,int high){
		int middle = (low+high)/2;
        if(low<=high){
           if(a[middle] == c){
		        return middle;
		    }else if(c>a[middle]){
			    return find(a,c,middle+1,high);
		    }else{
			    return find(a,c,low,middle-1);
		    }

        }
		return -1;
	}
	
//递推的二分查找
	public static int find1(int []a,int c){
		int low = 0;
		int high = a.length-1;
		int middle;
		while(low<=high){
			middle = (low+high)/2;
			if(a[middle] == c){
				return middle;
			}else if(c>a[middle]){
				low = middle+1;
			}else{
				high = middle-1;
			}
		}
		return -1;
	}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值