数组与方法

本文深入讲解了Java中数组与方法的互操作,包括方法如何接收、返回和修改数组,以及如何利用Java内置函数进行数组排序和拷贝。此外,还提供了数组最大值、最小值、求和、拼接、截取、打印和反转等实用操作的代码示例。
摘要由CSDN通过智能技术生成

数组与方法的互操作

1)方法接收数组(多个栈内存指向同一个堆内存 ,方法中的形参在栈上开辟新空间)2)方法返回数组(要注意定义有一个返回数组的方法时,返回值为数组 eg:public static int[] init())3) 方法修改数组(因为数组上发生了引用传递,所以方法在接收数组后也可以修改数组)Java可以实现数组排序(基本数据类型数组都可以排序)java.util.Array.sort(arrayName);【是升序处理,内部使用双轴快速排序】也可以实现数组拷贝(必须是连续的)System.arraycopy(源数组名称,源数组开始点,目标数组名称,目标数组开始点,拷贝长度)【源数组的部分拷贝到目标数组中!目标数组和源数组容易混淆】数组的整体拷贝:java.util.Arrays.copyof(源数组名称,新数组长度)使用数组拷贝可以实现数组扩容小练习:public class ArrayUtils{// //1.计算数组中最大值 // public static int arrayMaxElement(int[] data){ // int max=data[0]; // for(int i=0;i<data.length;i++){ // if(max<data[i]){ // max=data[i]; // } // } // return max; // } // // //2.计算数组中最小值 // // public static int arrayMinElement(int[] data){ // int min=data[0]; // for(int i=0;i<data.length;i++){ // if(min>data[i]){ // min=data[i]; // } // } // return min; // } // //3.计算数组值之和 // public static int arrayElementSum(int[] data){ // int sum=0; // for(int i=0;i<data.length;i++){ // sum=sum+data[i]; // } // return sum; // } // //4.数组拼接 // // A {1,3,5,7,9} B {2,4,6,8,10} -> {1,3,5,7,9,2,4,6,8,10} // public static int[] arrayJoin(int[] a, int[] b){ // int len=a.length+b.length; // int []arr=new int[len]; // for(int i=0;i<a.length;i++){ // arr[i]=a[i]; // } // for(int i=a.length;i<arr.length;i++){ // arr[i]=b[i-a.length]; // } // return arr; // } // // 5.数组截取 // // [start, end) // // A {1,3,5,7,9} ->(A,1,3) > {3,5} // public static int[] arraySub(int[] data, int start , int end){ // int []arr=new int [end-start]; // for(int i=start;i<=end-start;i++){ // arr[i-start]=data[i]; // } // return arr; // } // //6.数组打印 // public static void printArray(int[] data){ // for(int i=0;i<data.length;i++){ // System.out.print(data[i]); // } // } // 7.数组反转 // 比如:[1,2,3,4] => [4,3,2,1]public static void printReversal(int[] data){ int []arr=new int[data.length]; for( int i=0;i<data.length;i++){ arr[i]=data[data.length-i]; System.out.print(arr[i]); } } public static void main(String[] args){ int [] data1=new int []{1,3,5,7,9}; int [] data2=new int []{2,4,6,8,10}; // printArray(data1); // printArray(data2); // System.out.print(arrayMaxElement(data1)); // System.out.print(arrayMinElement(data1)); // System.out.print(arrayElementSum(data2)); // int [] ret=arrayJoin(data1,data2); // printArray(ret); // int []ret=arraySub(data1, 1, 3); // printArray(ret); printReversal(data1); }}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值