零基础学Java第八天之数组的深入理解

数组的深入理解

1、作为方法的参数和返回值

public static void main(String[] args){
		
		int[] arr = {6,43,53,56,467,41,35};
		
		int[] newArr = getMaxAndMin(arr);
		System.out.println("最大值为:" + newArr[0]);
		System.out.println("最小值为:" + newArr[1]);
	}
	
	public static int[] getMaxAndMin(int[] arr){
		
		int max = arr[0];
		int min = arr[0];
		
		for(int i = 1;i<arr.length;i++){
			if(max < arr[i]){
				max = arr[i];
			}
			if(min > arr[i]){
				min = arr[i];
			}
		}
		
		int[] maxAndMin = {max,min};
		return maxAndMin;
	}

2、作为可变参数

public static void main(String[] args){
		
		int max = getMax(1,2,3,4,5,6,7);//将实参作为数组的元素传入
		System.out.println(max);
	}
	
	//int... arr -- 可变参数,实际上就是数组
	public static int getMax(int... arr){
		if(arr.length == 0){//意味着实参没有传任何数据
			return -1;
		}
		int max = arr[0];
		for(int i = 1;i<arr.length;i++){
			if(max < arr[i]){
				max = arr[i];
			}
		}
		return max;
	}
	
	//注意:可变参数后不能接其他参数
	public static void method(int i,String... ss){
		
	}

3、Arrays工具类

import java.util.Arrays;
public class Test11{
	/**
		知识点:Arrays工具类
		理解:Arrays是Java给我们提供的专门用于操作数组的工具类
		
		概念:
			工具类 -- 该类中的方法都是静态的,直接使用类名调用
			API ----- Java提供类的说明书
	*/
	public static void main(String[] args){
			
		int[] arr = {5,72,9,4,21,1,6,3,81};	
		
		//排序 - 1,3,4,5,6,9,21,72,81
		Arrays.sort(arr);
		
		//查找
		//返回值规则:搜索键的索引,如果它包含在数组中; 否则, (-(insertion point) - 1) 
		//返回值规则:如果元素包含在数组中,返回下标;否则,(-(插入点) - 1) 
		int index = Arrays.binarySearch(arr,30);
		System.out.println("查找到元素的下标为:" + index);
		
		//拷贝数组 - [1, 3, 4, 5, 6, 9, 21, 72, 81, 0, 0, 0, 0, 0, 0]
		int[] newArr1 = Arrays.copyOf(arr,15);
		
		//拷贝数组区间 - [4, 5, 6, 9, 21, 72, 81, 0, 0]
		int[] newArr2 = Arrays.copyOfRange(newArr1,2,11);//(目标数组,开始下标-包含,结束下标-排他)
		
		//替换所有元素 - [888, 888, 888, 888, 888, 888, 888, 888, 888]
		Arrays.fill(newArr2,888);
		
		//替换区间元素
		Arrays.fill(newArr2,2,4,666);//(目标数组,开始下标-包含,结束下标-排他,替换元素)
	
		//将数组转换为字符串
		String str = Arrays.toString(newArr2);
		System.out.println(str);
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值